You are on page 1of 21

Introduction to Agile Software Management

June 19, 2002

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

June 19, 2002

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

An agile view is a chaordic view


Balanced between chaos and order, perched on the precipice at the edge of chaos. Some people are not comfortable in this environment; others thrive on it
June 19, 2002 3

rogram Management Evolution

Battle of the Atlantic

Desert Shield / Desert Storm

rogram management is an evolving science


Berlin Wall Falls

Cold War Cold War Cold War Korean War

WWI WWI WWI

Great Great Great Depression Depression Depression WWII WWII WWII

Vietnam War

1910

1920

1930

1940

1950

1960

1970

1980

1990

Critical Path Method (CPM) Lean Production

Willoughby Templates Solving the Risk Equation

Line of Balance Technology

296,429 296,429 296,429 71,062 71,062 71,062 5,425 5,425 5,425 372,431 372,431 372,431 102,351 102,351 102,351 2,455,964 2,455,964 2,455,964

ontinuing to seek e icient methods to address new development methods


June 19, 2002

Risk Mgmt Guide for DoD Acquisition Spiral Development

WWII Production WWII Production WWII Production ircra t ircra t ircra t Naval hips Naval hips Naval hips argo hips argo hips argo hips rtillery rtillery rtillery Tanks / Tanks / Tanks / Guns Guns Guns Trucks Trucks Trucks

Program Evaluation and Review Technique (PERT)

Total Quality Management Concurrent Development

2000

Operation Iraqi Freedom

Current Problem in PM & SW development


31.1% of projects will be canceled before they ever get completed 52.7% of projects will cost 189% of their original estimates.
The Standish roup

Plus project complexity is increasing


Demand for quicker delivery of useful systems Increasingly vague, volatile requirements reater uncertainty/risk from limited knowledge of:
Underlying technologies Off-the-shelf (OTS) components used

Are conventional development/management practices addressing the problem? June 19, 2002

What is the core challenge?


What is the nature of system/software development? Well-understood, static problems, demanding definable, predictable process, like
Manufacturing a widget Constructing a building Shooting zeppelins with cannons*

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

Supporting Agile Sentences


1. 2. 3. 4. 5. 6. Our highest priority is to satisfy the customer through early and frequent delivery of valuable software. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference for the shorter time scale. Working software/product is the primary measure of progress. Welcome changing requirements, even late in development. Agile processes harness change for the customers competitive advantage. Business people and developers work together daily throughout the project. Build projects around motivated individuals. ive them the environment and support they need, and trust them to get the job done.

June 19, 2002

Questions for Reflection


The first step in looking at any Agile method is to ask the following questions:
How close are your customers views and values to the views and values expressed in the Agile Manifesto? How close are your programs views and values to the views and values expressed in the Agile Manifesto? How close are your organizations views and values to the views and values expressed in the Agile Manifesto? How close are your personal views and values to the views and values of the Agile Manifesto?
Ado ti g Agile et ods ill ot e s ccessf l.
June 19, 2002

ere t ey do ot fit it t e val e system


9

When to Apply Agile Methodologies


Problems characterized by change, speed, and turbulence are best solved by agility.
Accelerated time schedule combined with significant risk and uncertainty that generate constant change during the project.

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

Some Agile Methodologies


Extreme Programming (XP) Scrum Feature-Driven Development (FDD) Adaptive Software Process Crystal Light Methodologies Dynamic Systems Development Method (DSDM) Lean Development

June 19, 2002

11

Summary of Agile Characteristics


Adaptability rather than predictability People rather than development process
Being agile means accepting that outcomes are not predictable and that processes are not repeatable

Collaborative values and principles A barely sufficient methodology


the conventions we agree to Processes are described in manuals; practices are what happen in reality

June 19, 2002

12

Agile PM issues to facilitate SW development


eed a cohesive culture able to support and facilitate a variety of management and development methods Management needs a defined Info. Tech. framework
Management processes Management tools/tool suite

Management needs to be supportive of the development team


Interfaces to other functions offloaded Training occurs up front and in-depth Experienced core of the team Variety of communication and collaboration tools (available for use)
13

June 19, 2002

Agile Program Management Issues


Promote teambuilding and trust, keep politics out of the effort Set an open tone with the customer(s) organizations Interpret and translate risks for overall program integration and a common view. Have a robust, flexible, and adaptable configuration and data management system Integrated Product Teams to some extent
(need immediate value)

June 19, 2002

14

Agile Program Management Issues Contd


Extraordinarily robust test program through out the development process Involves Testing For:
Pre-Conditions Post-Conditions Class Invariants

Anticipate the development and test needs developing test data and cases in advance
June 19, 2002 15

Agile Program Management Issues


Storyboard the development and assign story actors to live the role Use automated tools for organizational and summary tasks

June 19, 2002

16

Develop a Componentized Architecture


Principles
We do the simplest thing that could possibly work making future changes or additions easier The right design at the right time, no more
up-front high-level system architecture up-front high-level component architecture up-front high-level data model details are determined when the time comes for functionality to be built

Benefits
Less is faster, cheaper, and leads to better Flexibility minimizes the cost of change
June 19, 2002 17

Product Build Philosophy


Principles
Build the complete product, all the time One button builds everything, including
Product executables Installation materials Test harness and test components enerated documentation

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

Testing Meeting Configuration Management


Test code maintained alongside project code Tests can be run from the command line Coverage statistics tell you how thorough the testing is

June 19, 2002

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 uide to Feature-Driven Development, Stephen Palmer and John Felsing Foundations of Lean Development: The Lean Development Managers uide, Vol 2, Robert Charette Agile Software Development, Dottie Acton, Lockheed Martin Mission Systems Oct, 2002 (Unpublished
June 19, 2002 21

You might also like