BRIEFING by Duncan Pierce EXTREME PROGRAMMING (XP) is a lightweight software development process which enables small teams to work closely with customers to deliver high quality systems to regular milestones. XP is well established in the USA and is doing well in Europe and especially in the UK, where it is making the transition from early adopters typically small companies to big business. After leading the adoption of object-oriented technologies a decade ago, the financial sector is driving XP take-up, with some teams already well established and a number of pilot projects beginning. The problem with traditional development is that too many projects fail to deliver usable oversimplification. As ever, it is easier to add complexity than to remove it. Quality is promoted through aggressive automated testing. It is customary in XP to write automated tests for every new feature before implementing it. Ensuring the test fails before the feature is implemented even helps to validate the test itself. Test writing is also used to drive the design by using the test as a kind of mini-use case for the code. Another major technique for promoting quality is refactoring: improving the design and structure of existing code without changing what it does. In conjunction with a comprehensive suite of automated tests, refactoring makes it possible to make radical design changes in safety. Recent improvements in tool support make this a surprisingly quick process. XP exploits refactoring to provide `just in time', or perhaps more accurately `just enough' design for the system to implement its requirements cleanly and simply. Maintaining design documentation can be difficult and costly. Because of this, documentation often falls into disuse. For developers, XP favours maintaining a well structured codebase and a shared verbal understanding of its architecture. Rather than showing customers design documents, XP shows them the system that has been developed so far. XP works hard to bring customers closer to the development process, stipulating that every project should have ready access to an on-site customer, and even arranging the development process around regular customer-driven planning sessions at the start of each iteration. There are many advantages for developers, too. They contribute to the process at every level they are the technical architects, the testers and everything in between and there are many opportunities to extend skills and experience. Another boon for over-stretched programmers is the insistence on a 40-hour working week. Tired developers make mistakes. But for developers, XP is not without a price: it is a more disciplined and intensive style of working than many will be used to. XP cannot be regarded as a panacea, but it should give renewed hope to organisations struggling to manage their software projects. Duncan Pierce is a senior consultant at Escala, a consultancy and training company specialising in XP Java and XML-related technologies. He helped , organise the UK's first XP workshop last December. The BCS Sussex Branch has started a local forum on extreme programming: see page 8. solutions, because they respond slowly to business changes. For long running projects, changing business priorities and processes often drastically reduce the value of the systems they eventually deliver. Some projects get so bogged down in changes that they fail to deliver anything at all. XP tackles this by promoting regular feedback using an iterative process. Each iteration provides a complete cycle, from requirements capture through coding and testing to delivery to the customer and typically takes just three weeks. Small, incremental investments made in conjunction with three-week milestones drastically cut the risk of a project running out of control. Requirements capture and planning take place at the start of each iteration. The presence of a working though incomplete system helps customers to analyse their requirements, because they gain rapid feedback on what their previous requests mean in software terms. This avoids another serious risk with more traditional processes: customers soon get what they really needed instead of the first thing they asked for. Along with feedback, simplicity is another major theme in XP A popular slogan is, `What is . the simplest thing that could possibly work?' It often turns out that it actually does work, and the time saved more than makes up for the occasional 28 The Computer Bulletin May 2002
ITNow (formerly The Computer Bulletin) – Oxford University Press
It’s your single place to instantly
discover and read the research
that matters to you.
Enjoy affordable access to
over 18 million articles from more than
15,000 peer-reviewed journals.
All for just $49/month
Query the DeepDyve database, plus search all of PubMed and Google Scholar seamlessly
Save any article or search result from DeepDyve, PubMed, and Google Scholar... all in one place.
Get unlimited, online access to over 18 million full-text articles from more than 15,000 scientific journals.
Read from thousands of the leading scholarly journals from SpringerNature, Elsevier, Wiley-Blackwell, Oxford University Press and more.
All the latest content is available, no embargo periods.
“Hi guys, I cannot tell you how much I love this resource. Incredible. I really believe you've hit the nail on the head with this site in regards to solving the research-purchase issue.”Daniel C.
“Whoa! It’s like Spotify but for academic articles.”@Phil_Robichaud
“I must say, @deepdyve is a fabulous solution to the independent researcher's problem of #access to #information.”@deepthiw
“My last article couldn't be possible without the platform @deepdyve that makes journal papers cheaper.”@JoseServera