Powerful Thrust


Our missile can hit the target only if its speed is high enough. From the metaphor, this means that software must be developed efficiently. This is, or should be, a characteristic of every software process and is based not only on the process, but also on the skills of the development team and on the productivity of the software development environment. The practices helping efficiency, without compromising quality, are these.

  • Pair programming. In XP, all code is developed by pairs of programmers. Pairs are not constant; they continually change. This is an efficient way to review the code while it is being written, to spread knowledge of the system among developers, to protect against people leaving the team, and to keep programmers more focused while they are working. There is empiric evidence that pair programming increases the overall efficiency of the team and the software quality [Williams+2000].

  • Continuous integration. The work done by the various developers must be integrated daily into the system. In this way, all integration problems are discovered and solved while they are small, and there is no big-bang integration at the end of the project. The technology used must allow daily integration.

  • Forty-hour week. If developers are tired, their work will be inaccurate and inefficient. For this reason, XP dictates that developers must not work more than 40 hours a week. If overtime is needed to follow the schedule, it is a symptom of other problems, which must be discovered and solved. Working in an XP team, performing pair programming, and following other practices demand attention and concentration throughout the workday. Eight hours of this way of working is enough for everybody and gives a lot of thrust to the development team. This XP practice, together with others, focuses on human factors, which are of paramount importance in all agile methodologies.

  • Collective code ownership. In an XP team, everyone is allowed to modify any part of the system, even if written by other programmers. Possible errors are detected by automated tests. In this way, when a modification is needed, it can be made immediately, and the development can proceed at high speed.

  • Coding standards. The code must be written in a uniform style by every member of the team. In this way, every member can more easily understand the code written by other members, and the development is eased.



Extreme Programming Perspectives
Extreme Programming Perspectives
ISBN: 0201770059
EAN: 2147483647
Year: 2005
Pages: 445

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net