32 C H A P T E R 3 : U N D E R S T A N D I N G X P
If the customers??™ job is to maximize the value of the product, then the programmers??™ job is to minimize
its cost. Programmers are responsible for finding the most effective way of delivering the stories in the
plan. To this end, programmers provide effort estimates, suggest alternatives, and help customers create
an achievable plan by playing the planning game.
Programmers spend most of their time pair programming. Using test-driven development, they write
tests, implement code, refactor, and incrementally design and architect the application. They pay careful
attention to design quality, and they??™re keenly aware of technical debt (for an explanation of technical
debt, see ???XP Concepts??? later in this chapter) and its impact on development time and future
maintenance costs.
Programmers also ensure that the customers may choose to release the software at the end of any
iteration. With the help of the whole team, the programmers strive to produce no bugs in completed
software. They maintain a ten-minute build that can build a complete release package at any time. They
use version control and practice continuous integration, keeping all but the last few hours??™ work
integrated and passing its tests.
Pages:
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78