Extreme Programming

Extreme Programming 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 http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png ITNow (formerly The Computer Bulletin) Oxford University Press

Extreme Programming

ITNow (formerly The Computer Bulletin) , Volume 44 (3)
Free
1 page

Loading next page...
1 Page
 
/lp/oxford-university-press/extreme-programming-SoCW0MraCT
Publisher
Oxford University Press
Copyright
British Computer Society
ISSN
1746-5702
eISSN
1746-5710
D.O.I.
10.1093/combul/44.3.28
Publisher site
See Article on Publisher Site

Abstract

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

Journal

ITNow (formerly The Computer Bulletin)Oxford University Press

There are no references for this article.

You’re reading a free preview. Subscribe to read the entire article.


DeepDyve is your
personal research library

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

Explore the DeepDyve Library

Search

Query the DeepDyve database, plus search all of PubMed and Google Scholar seamlessly

Organize

Save any article or search result from DeepDyve, PubMed, and Google Scholar... all in one place.

Access

Get unlimited, online access to over 18 million full-text articles from more than 15,000 scientific journals.

Your journals are on DeepDyve

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.

See the journals in your area

DeepDyve

Freelancer

DeepDyve

Pro

Price

FREE

$49/month
$360/year

Save searches from
Google Scholar,
PubMed

Create lists to
organize your research

Export lists, citations

Read DeepDyve articles

Abstract access only

Unlimited access to over
18 million full-text articles

Print

20 pages / month

PDF Discount

20% off