domingo, 31 de enero de 2010

eXtreme Programming (XP) (cont.)


Advantages
  • Developers - focus on coding and avoid paperwork and meetings
  • Customer - obtain faster software with fewer defects
  • Management - obtain a working software with less money
Disadvantages
  • Ustable requirements
  • No documented compromises of user conflicts
  • Lack of an overall specifications document
12 Core Practices/ Rules
  1. The planning game - customer defines each application feature as a "user story"
  2. Small releases - develop the system in the smallest reasonable chunks that provide demonstrable value for the customer, early and often.
  3. System metaphor - use a common system of names and descriptions; the description of the system features are documented separately in "stories" to form the requirements from which the system is planned and developed.
  4. Simple design - emphasize simply-written code that meets requirements.
  5. Continuous testing - work on the "story" is not complete until all tests run 100% clean.
  6. Refractoring - frequently revise and edit the overall code design; before integrating a new "story", ensure that the system has a simple design and is not growing into needless complexity.
  7. Pair programming - developers work side-by-side in pairs, continually seeing and discussing each other's code.
  8. Collective code ownership - developers have collective ownership of the code and the ability to change it.
  9. Continuous integration - all new and changed code for a "story" is integrated into the baseline system at least daily; if any test fails, the particular "story" is backed-out of the codebase. It is not tried again until the pair resolves the problem. When all tests run 100% clean, the "story" is integrated and becomes part of the baseline system.
  10. 40-hour work week - in order to keep everyone fresh so they can continue on an aggressive but sustainable pace, developers work only 40 hours per week; overtime is rare and may be treated as a sign that something is wrong within the process.
  11. On-site customer - a knowledgeable customer representative remains on-site throughout the development project to review work, try things out, answer questions and make implementation decisions when they are needed.
  12. Coding standards - developers must follow a common coding standard so that all code in the system looks as if it was written by a single individual.
Dilbert practices eXtreme Programming - by Scott Adams

No hay comentarios:

Publicar un comentario