Agile Software Development
Автор: Alistair Cockburn /
APPENDIX A: The Agile Software Development Manifesto The Agile Alliance
-
Часть 1
-
"We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan.
That is, while there is value in the items on the right, we value the items on the left more. "
Seventeen advocates of lightweight development processes gathered in Utah in early 2001 to discuss what they might have in common, or if they would just agree to disagree. I was one of them.
We agreed that the word "lightweight" too much of a reaction against something, and not enough of a belief in something. Agreeing on the importance of being able to respond to changing requirements within the project timeframe, we chose the word agile. We agreed on the above four values and on a dozen principles to support those values. We agreed that we were not interested in agreeing beyond that. We nicknamed the group the Agile Alliance. This appendix discusses that meeting, the values and the principles.
The meeting happened at Snowbird, Utah, in February, 2001.
The 17 people were Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Stephen J. Mellor, Ken Schwaber, Jeff Sutherland, and Dave "Pragmatic" Thomas. (If Dave A. Thomas from Object Technology International had been able to make it that week, we might have had two Dave Thomasses as signatories! )
Each person there saw their own version of the meeting. What follows in this appendix is mine (but I did pass this text in front of the others).
The reason we met was to see whether there was anything in common between the various light methodologies: Adaptive Software Development, XP, Scrum, Crystal, Feature Driven Development, Dynamic System Development Method (DSDM), and "pragmatic programming. "
Kent Beck, Ward Cunningham, Ron Jeffries, James Grenning and Robert Martin brought their views of XP, along with their considerable other experiences and their own personal wishes.
Martin Fowler brought long experience in both XP and methodology evaluation in general.
Jim Highsmith represented Adaptive Software Development and ideas around the emergent properties of complex, adaptive systems.
I was there, protecting my interests in methodology-per-project and just-in-time methodology construction.
Jeff Sutherland, Ken Schwaber and Michael Beedle represented Scrum (Schwaber 2001).
Jon Kern of TogetherSoft represented Feature-Driven Development, the method described in Java Modeling in Color with UML (Coad 1999).
Arie van Bennekum, from the Netherlands, represented DSDM (Stapleton 1997).
Andy Hunt and Dave "Pragmatic" Thomas, authors of The Pragmatic Programmer, protected the interests of experienced programmers who have no affiliation to any one method.
Brian Marick represented the software testing perspective.
Stephen J. Mellor was there to protect his interests in model-driven development. He was perhaps the most surprised to find himself able to agree with most of what was said, and signed both the manifesto and the principles.
There were others who had been invited, and would certainly have contributed and signed, but those were the people who were there, argued, crafted and signed the agreements.
We hoped against hope that we would actually agree on something.
None of us was interested in merging the practices to create a "Unified Light Methodology (ULM). " Given the individualism in the room, it was actually surprising we agreed on anything.
We agreed on four things:
· We agreed at the first level, on the need to respond to change. We agreed that agile reflected our intent, and permits discussion of heavier-agile methodologies for larger and life-critical projects.
· We agreed at the second level, on four core values, as described in the manifesto.
· We agreed at the third level (just barely), on twelve more detailed statements consistent with those four values.
· It was clear we would not agree on the fourth level, detailed project tactics. We did agree that this was healthy for the industry, and that we should continue to innovate and compete in the world of ideas, to discover a larger set of agile software practices.
With those agreements and the adoption of the term agile, the 17 people created the Agile Alliance.
-
Навигация [ Часть 1. Глава 29. ]
Закладки
For us as designers, it was possible to express both propositional…
Types of Methodologies Rechtin (1997) categorizes methodologies…
Using the planning game in this way, the sponsors can…
The surprising thing about human success modes is how nebulous…
That it is people who design software is terribly obvious.…
It follows that on the Theory Building View, for the…
After much coaching for six months, his programs still looked…
While writing, reading, typing, or talking, we pick up…
Figure 4-1. Elements of a methodology. Roles. Who you employ,…
Games are not just for children, although children…
On a new project, I would use Crystal Orange as a base…
13. (FIRST TECHNIQUE). .. your sword now having bounced…
The chart shows the state of the user stories being worked on…
We see an example of needing these normalizing rituals…
1. Project name, job of person interviewed (the interviewee…
The complete discussion about when and where to apply concurrent…
In arguing for the Theory Building View, the basic…