CERN Accelerating science

This website is no longer maintained. Its content may be obsolete. Please visit http://home.cern/ for current CERN information.

CERN home pageCERN home pageDocuments by ReferenceDocuments by ReferenceCNLsCNLsYear 2002Year 2002Help, Info about this page

Contents
Index

Editorial Information
Editorial
If you need help
Announcements Physics Computing Desktop Computing Internet Services and Network Scientific Applications and Software Engineering The Learning Zone User Documentation
Previous:2002 CERNLIB Release
Next:The Learning Zone
 (If you want to print this article)



EXtreme Programming (XP): Pragmatism & Quality

Eric Poinsignon , IT / PS


Abstract

Short introduction to XP, one of the best known methodologies but the most controversial.


Introduction and Characteristics

In the set of the agile methods, XP is one of the best known methodologies but the most controversial.

XP is very pragmatic: some aspects are naturally intuitive (like short iteration, simple conception, fast feedback and communication) but others are not approved by the developers community (like pair programming). In industry, one can see XP is not applied as a whole and it needs experienced engineers (who already followed classical methods).

There is also a high dependency on the context. For example, the Planning Game (game where developers and client plan dates of versions) and the Adaptive Change Management can only be applied in a technical assistance, but not in a fixed price contract.

The 4 values of XP

  1. Communication: it must appear everywhere and at all times between developers and client (specification and test), between developers and manager (estimation and test), between developers (pair programming).
  2. Simplicity: XP encourages choice of the simplest solution first (maybe later increase the complexity). This idea is to be applied to the conception, to the planning and even to the team.
  3. Feedback: The client must be able to detect any gap in the planning or in the features.
  4. Courage: The client must be courageous enough to prioritise his needs and admit his unclear needs. The developer must be courageous enough to modify his architecture, even late in the process.

Papers and references

I do not want to go in detail on XP as many interesting articles are accessible on the web. So please have a look at the "Programming and Agile Methodologies" presentation of M. Michele Marchesi, who came at CERN on 10th July 2002. (See http://cern.ch/computing-colloquia/past.htm or http://sdt.cern.ch/RUP/Doc.html , § "EXtreme Programming").

The Software development Tools Service (SDT) at CERN is providing the Rational Unify Process (RUP) where you can find some articles about interaction between RUP and XP (http://sdt.cern.ch/RUP/). You will find interesting "other sites" in the SDT page, at URL: http://sdt.cern.ch/RUP/Doc.html.

For questions you can contact the SDT service at sdt.support@cern.ch



For matters related to this article please contact the author.
Cnl.Editor@cern.ch


CERN-CNL-2002-003
Vol. XXXVII, issue no 3


Last Updated on Tue Dec 10 13:41:47 CET 2002.
Copyright © CERN 2002 -- European Organization for Nuclear Research