See also CreditableMethodologies
Chapter 16, "No Silver Bullet", was published in way back in 1986 yet there are so many things said in that paper that make you think of XP.
On incremental development:
One always has, at every stage in the process, a working system. I find that teams can *grow* much more complex entities in four months that they can *build*.
On iterative development:
... it is necessary to allow for an extensive iteration between the client and the designer as part of the system definition ... Therefore, one of the most promising of the current technological efforts, and one which attacks the essence, ... is the development of approaches and tools for rapid prototyping of systems as part of the iterative specification of requirements.
[A previous] chapter mentioned that it was unfortunate that no one has ever written a book about incremental approaches to software development because it would be a potent collection of techniques.
"Hiding the areas in which you anticipate changes is one of the most powerful techniques for minimizing the impact of changes." -- SteveMcConnell, CodeComplete
"Evolutionary delivery is an approach that delivers your system in stages. You can build a little, get a little feedback from your users, adjust your design a little, make a few changes, and build a little more. The key is using short development cycles so that you can respond to your users quickly." -- SteveMcConnell, CodeComplete
A handful of software research studies have found that productivity of developers who work in private, quiet, one- or two-person offices can be as much as 2.5 times as great as the productivity levels of developers who work in open work bays or cubicles.
Note carefully that he includes 2-person offices... the claim is not that a single office is better than a shared office. In fact, I'd like to know what the real claim is. cheers, -- AlistairCockburn
Surely the emphasis here should be on quiet offices rather than an understanding of PairProgramming. Privacy means isolation. Open offices provide signal plus lots of noise. I think the optimum is the small team office for developers and another office grouping project managers.
''Two are better than one because they have a good return for their labor. For if either of them falls, the one will lift up his companion. But woe to the one who falls when there is not another to lift him up.'' [Eccl 4:9-10]
Prov 15:22 NIV) Plans fail for lack of counsel, but with many advisers they succeed. [The importance of feedback...]
That doesn't seem to support the point of this page... - ChrisMorris
This page mirrored in ExtremeProgrammingRoadmap as of April 29, 2006