Post on 06-Apr-2018
transcript
8/3/2019 Attachment 3.1
1/21
June 19, 2002 1
Introduction to
Agile Software Management
Presented by Jim Murray
Based on work done by
Dottie Acton of LM Mission Systems
301-897-6458
james.j.murray.iii@lmco.com
8/3/2019 Attachment 3.1
2/21
June 19, 2002 2
Topics
Introduction
Terminology
The Agile Manifesto
Some Agile Methodologies Summary
References
8/3/2019 Attachment 3.1
3/21
June 19, 2002 3
Terminology
Agility
The ability to both create and respond to change in order to profitin a turbulent business environment
Companies need to determine the amount of agility they need to becompetitive
Chaordic
Exhibiting properties of bothchaos andorder The blend of chaos and order inherent in the external environment and
in people themselves, argues against the prevailing wisdom aboutpredictability and planning
Things get done because people adapt, not because they slavishlyfollow 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 onit
8/3/2019 Attachment 3.1
4/21
June 19, 2002 4
1910
1920
1930
1940
1950
1960
1970
1980
1990
2000
WWI
Great
Depression
Korean
WarWWII Vietnam WarDesertShield/DesertSto
rm
OperationIraqiFreedom
RiskM
gmtGuidefor
DoDA
cquisition
Program
Evaluationand
ReviewT
echnique(PERT)
BerlinWallFalls
Willou
ghbyTemplates
SolvingtheRiskEquation
LineofB
alanceTechnology
TotalQuality
Manag
ement
CriticalPathMethod(CPM)
Cold War
BattleoftheAtlantic
WWII Production
Aircraft 296,429
Naval Ships 71,062
Cargo Ships 5,425
Artillery 372,431
Tanks / SP Guns 102,351
Trucks 2,455,964
LeanProduction
Concu
rrentDevelopment
Spiral
Development
1910
1920
1930
1940
1950
1960
1970
1980
1990
2000
WWI
Great
Depression
Korean
WarWWII Vietnam WarDesertShield/DesertSto
rm
OperationIraqiFreedom
RiskM
gmtGuidefor
DoDA
cquisition
Program
Evaluationand
ReviewT
echnique(PERT)
BerlinWallFalls
Willou
ghbyTemplates
SolvingtheRiskEquation
LineofB
alanceTechnology
TotalQuality
Manag
ement
CriticalPathMethod(CPM)
Cold War
BattleoftheAtlantic
WWII Production
Aircraft 296,429
Naval Ships 71,062
Cargo Ships 5,425
Artillery 372,431
Tanks / SP Guns 102,351
Trucks 2,455,964
LeanProduction
Concu
rrentDevelopment
Spiral
Development
1910
1920
1930
1940
1950
1960
1970
1980
1990
2000
WWI
Great
Depression
Korean
WarWWII Vietnam WarDesertShield/DesertSto
rm
OperationIraqiFreedom
RiskM
gmtGuidefor
DoDA
cquisition
Program
Evaluationand
ReviewT
echnique(PERT)
BerlinWallFalls
Willou
ghbyTemplates
SolvingtheRiskEquation
LineofB
alanceTechnology
TotalQuality
Manag
ement
CriticalPathMethod(CPM)
Cold War
BattleoftheAtlantic
WWII Production
Aircraft 296,429
Naval Ships 71,062
Cargo Ships 5,425
Artillery 372,431
Tanks / SP Guns 102,351
Trucks 2,455,964
LeanProduction
Concu
rrentDevelopment
Spiral
Development
Program Management Evolution
Program management is an evolving science
Continuing to seek efficient methods to address new
development methods
8/3/2019 Attachment 3.1
5/21
June 19, 2002 5
Current Problem in PM & SW
development
31.1% of projects will be canceledbefore they ever get completed 52.7% of projects will
cost 189% of their original estimates.
The Standish Group
Plus project complexity is increasing
Demand for quicker delivery of useful systems
Increasingly vague, volatile requirements
Greater uncertainty/risk from limited knowledge of:
Underlying technologies
Off-the-shelf (OTS) components used
Are conventional development/management
practices addressing the problem?
8/3/2019 Attachment 3.1
6/21
June 19, 2002 6
What is the core challenge?
* Phillip Armour. Zeppelins and Jet Planes: A Metaphor for Modern
Software Projects Communications of the ACM, October 2001.
Team = Product
Process = Product
McCarthy
What is the nature of system/software development?
Well-understood, static problems, demandingdefinable, predictable process, like
Manufacturing a widget
Constructing a building
Shooting zeppelins with cannons*
OR
Exploration of many evolving unknowns, demandinga fluid, social learning process, like
Mountain climbing Jazz jam session
Tracking jet fighters with self-guiding missiles*
8/3/2019 Attachment 3.1
7/21
June 19, 2002 7
Agile Manifesto
Developed by 17 of the leaders in agile methodologiesin 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 planThat is, while there is value on the items on the right, we
value the items on the left more.
8/3/2019 Attachment 3.1
8/21
June 19, 2002 8
Supporting Agile Sentences
1. Our highest priority is to satisfy the customer through early andfrequent delivery of valuable software.
2. Deliver working software frequently, from a couple of weeks to a
couple of months, with a preference for the shorter time scale.
3. Working software/product is the primary measure of progress.
4. Welcome changing requirements, even late in development. Agileprocesses harness change for the customers competitive advantage.
5. Business people and developers work together daily throughout the
project.
6. Build projects around motivated individuals. Give them the
environment and support they need, and trust them to get the job
done.
8/3/2019 Attachment 3.1
9/21
June 19, 2002 9
Questions for Reflection
The first step in looking at any Agile method is to askthe 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 theviews 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 yourpersonalviews and values to theviews and values of the Agile Manifesto?
Adopting Agile Methods where they do not fit with the value system
will not be successful.
8/3/2019 Attachment 3.1
10/21
June 19, 2002 10
When to Apply Agile Methodologies
Problems characterized by change, speed, andturbulence 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 failurepolitics will dominate. Jim Highsmith
8/3/2019 Attachment 3.1
11/21
June 19, 2002 11
Some Agile Methodologies
Extreme Programming (XP) Scrum
Feature-Driven Development (FDD)
Adaptive Software Process Crystal Light Methodologies
Dynamic Systems Development Method (DSDM)
Lean Development
8/3/2019 Attachment 3.1
12/21
June 19, 2002 12
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 whathappen in reality
8/3/2019 Attachment 3.1
13/21
June 19, 2002 13
Agile PM issues to facilitate SW
development
Need a cohesive culture able to support and facilitate avariety 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)
8/3/2019 Attachment 3.1
14/21
June 19, 2002 14
Agile Program Management Issues
Promote teambuilding and trust, keep politics out ofthe 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)
8/3/2019 Attachment 3.1
15/21
June 19, 2002 15
Extraordinarily robust test program through out thedevelopment process
Anticipate the development and test needs developing
test data and cases in advance
Agile Program Management Issues
Contd
Involves Testing For:
Pre-Conditions
Post-Conditions
Class Invariants
8/3/2019 Attachment 3.1
16/21
June 19, 2002 16
Agile Program Management Issues
Storyboard the development and assign story actors tolive the role
Use automated tools for organizational and summary
tasks
8/3/2019 Attachment 3.1
17/21
June 19, 2002 17
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 tobe built
Benefits Less is faster, cheaper, and leads to better
Flexibility minimizes the cost of change
8/3/2019 Attachment 3.1
18/21
June 19, 2002 18
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
Generated 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
8/3/2019 Attachment 3.1
19/21
June 19, 2002 19
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
8/3/2019 Attachment 3.1
20/21
June 19, 2002 20
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
8/3/2019 Attachment 3.1
21/21
June 19, 2002 21
References Agile Software Development Ecosystems, Jim Highsmith
Agile Software Development, Alistair Cockburn
Agile Modeling: Effective Practices for Extreme Programming andthe Unified Process, Scott Ambler
Agile Development, Rich McCabe, May 2003
Agile Software Development with Scrum, Ken Schwaber and MikeBeedle
Extreme Programming Explained: Embrace Change, Kent Beck
Refactoring: Improving the Design of Existing Code, Martin Fowler
Adaptive Software Development, A Collaborative Approach toManaging 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 MissionSystems Oct, 2002 (Unpublished