Java Reference
In-Depth Information
Many of these practices are common sense. Others, such as the pair programming
requirement, are surprising. Beck claims that the value of the Extreme Programming
approach lies in the synergy of these practicesȌthe sum is bigger than the parts.
In your first programming course, you will not develop systems that are so complex
that you need a full-fledged methodology to solve your homework problems. This
introduction to the development process should, however, show you that successful
software development involves more than just coding. In the remainder of this
chapter we will have a closer look at the design phase of the software development
process.
S ELF C HECK
1.
Suppose you sign a contract, promising that you will, for an agreed-upon
price, design, implement, and test a software package exactly as it has
been specified in a requirements document. What is the primary risk you
and your customer are facing with this business arrangement?
2.
Does Extreme Programming follow a waterfall or a spiral model?
3.
What is the purpose of the Ȓon-site customerȓ in Extreme Programming?
534
535
R ANDOM F ACT 12.1: Programmer Productivity
If you talk to your friends in this programming class, you will find that some of
them consistently complete their assignments much more quickly than others.
Perhaps they have more experience. However, even when programmers with the
same education and experience are compared, wide variations in competence are
routinely observed and measured. It is not uncommon to have the best programmer
in a team be five to ten times as productive as the worst, using any of a number of
reasonable measures of productivity [ 3 ].
That is a staggering range of performance among trained professionals. In a
marathon race, the best runner will not run five to ten times faster than the slowest
one. Software product managers are acutely aware of these disparities. The
obvious solution is, of course, to hire only the best programmers, but even in
Search WWH ::




Custom Search