This is Part I of a Three-Part article. Look for Part II on March 17.
In the last few years, some of the most widely adopted best practices from
software engineering, especially the adoption and refinement of Agile
methods, have significantly reduced software development risk and increased
project success rates.
However, most of these best practices are founded upon an assumption that the
enterprise is able to create and maintain a well-insulated environment around
software developers. It has been proven that to outperform with Agile
methods, R&D people must “live together” in a stimulating
environment with few or no distractions relating to progress reporting,
discussions with management, document fulfillment, and so on.
As an example, consider the approach to gathering XP requirements
(“user stories”). The customer (or user) should be an integr... (more)