Professional Documents
Culture Documents
Presented by Jim Murray Based on work done by Dottie Acton of LM Mission Systems 301-897-6458 james.j.murray.iii@lmco.com
Topics
Introduction Terminology The Agile Manifesto Some Agile Methodologies Summary References
Terminology
Agility
The ability to both create and respond to change in order to profit in a turbulent business environment
Companies need to determine the amount of agility they need to be competitive
Chaordic
Exhibiting properties of both chaos and order
The blend of chaos and order inherent in the external environment and in people themselves, argues against the prevailing wisdom about predictability and planning Things get done because people adapt, not because they slavishly follow processes
1920
Great Depression
1930
1940
WWII
Korean War
Line of Balance Technology Program Evaluation and Review Technique (PERT) Critical Path Method (CPM) Lean Production
Willoughby Templates Solving the Risk Equation Total Quality Management Concurrent Development
1950
Cold War
1960
Vietnam War
1970
1980
Berlin Wall Falls
1990
2000
Are conventional development/management practices addressing the problem? June 19, 2002
Process = Product
OR Exploration of many evolving unknowns, demanding a fluid, social learning process, like
Mountain climbing Team = Product McCarthy Jazz jam session Tracking jet fighters with self-guiding missiles*
* Phillip Armour. Zeppelins and Jet Planes: A Metaphor for Modern June 19, 2002 Software Projects Communications of the ACM, October 2001. 6
Agile Manifesto
Developed by 17 of the leaders in agile methodologies in Feb 2001.
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 on the items on the right, we value the items on the left more.
June 19, 2002 7
2.
3. 4. 5. 6.
Is your project more like drilling for oil or like managing a production line?
Oil exploration projects need Agile processes. Production-line projects are often well-served by rigorous methodologies.
On projects with more than 250 people, methodology will have almost no impact on success or failure politics will dominate. Jim Highsmith
June 19, 2002 10
11
12
14
Post-Conditions
Class Invariants
Anticipate the development and test needs developing test data and cases in advance
June 19, 2002 15
16
Benefits
Less is faster, cheaper, and leads to better Flexibility minimizes the cost of change
June 19, 2002 17
Build can be accomplished from the command line The same build process is used by everyone
Benefits
Easy to manage; easy to add new team members Integrates well with testing environment
June 19, 2002 18
Testing
Principles
All code must have tests, with the test created first Unit tests are executed daily during the automated build When a bug is found, new tests are created All unit tests must pass before code can be released
Benefits
Provides constant visibility into areas of the system at risk The result is rapid progress and a system that always works better than it did the day before
June 19, 2002 19
20
References
Agile Software Development Ecosystems, Jim Highsmith Agile Software Development, Alistair Cockburn Agile Modeling: Effective Practices for Extreme Programming and the Unified Process, Scott Ambler Agile Development, Rich McCabe, May 2003 Agile Software Development with Scrum, Ken Schwaber and Mike Beedle Extreme Programming Explained: Embrace Change, Kent Beck Refactoring: Improving the Design of Existing Code, Martin Fowler Adaptive Software Development, A Collaborative Approach to Managing Complex Systems, Jim Highsmith A Practical Guide to Feature-Driven Development, Stephen Palmer and John Felsing Foundations of Lean Development: The Lean Development Managers Guide, Vol 2, Robert Charette Agile Software Development, Dottie Acton, Lockheed Martin Mission Systems Oct, 2002 (Unpublished
June 19, 2002 21