Please forward this error screen to 172. During the 1990s, a number of lightweight software development methods evolved in reaction to the prevailing heavyweight methods that critics described as overly regulated, planned, and micro-managed. In 2005, a group headed by Cockburn and Highsmith wrote an addendum of project management principles, the Declaration of Interdependence, to guide software project management according to agile software development methods. Methods of early development of children at home 2009, a group working with Martin wrote an extension of software development principles, the Software Craftsmanship Manifesto, to guide agile software development according to professional conduct and mastery.
That is, while there is value in the items on the right, they value the items on the left more. Tools and processes are important, but it is more important to have competent people working together effectively. Good documentation is useful in helping people to understand how the software is built and how to use it, but the main point of development is to create software, not documentation. A contract is important but is no substitute for working closely with customers to discover what they need. A project plan is important, but it must not be too rigid to accommodate changes in technology or the environment, stakeholders’ priorities, and people’s understanding of the problem and its solution. Some of the authors formed the Agile Alliance, a non-profit organization that promotes software development according to the manifesto’s values and principles. The Agile movement is not anti-methodology, in fact many of us want to restore credibility to the word methodology.
We want to restore a balance. We embrace modeling, but not in order to file some diagram in a dusty corporate repository. We embrace documentation, but not hundreds of pages of never-maintained and rarely-used tomes. We plan, but recognize the limits of planning in a turbulent environment.