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
- The planning game - customer defines each application feature as a "user story"
- Small releases - develop the system in the smallest reasonable chunks that provide demonstrable value for the customer, early and often.
- 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.
- Simple design - emphasize simply-written code that meets requirements.
- Continuous testing - work on the "story" is not complete until all tests run 100% clean.
- 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.
- Pair programming - developers work side-by-side in pairs, continually seeing and discussing each other's code.
- Collective code ownership - developers have collective ownership of the code and the ability to change it.
- 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.
- 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.
- 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.
- 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