Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Lean & Agile Software MethodsIn the United States DoD
Dr. David F. Rico, PMP, ACP, CSM
Twitter: @dr_david_f_ricoWebsite: http://www.davidfrico.com
LinkedIn: http://www.linkedin.com/in/davidfricoFacebook: http://www.facebook.com/profile.php?id=1540017424
Author Background DoD contractor with 28+ years of IT experience B.S. Comp. Sci., M.S. Soft. Eng., & D.M. Info. Sys. Large gov’t projects in U.S., Far/Mid-East, & Europe
2
Published six books & numerous journal articlesAdjunct at George Washington, UMUC, & ArgosyAgile Program Management & Lean DevelopmentSpecializes in metrics, models, & cost engineeringSix Sigma, CMMI, ISO 9001, DoDAF, & DoD 5000Cloud Computing, SOA, Web Services, FOSS, etc.
Today’s Whirlwind Environment
3
Overruns Attrition Escalation Runaways Cancellation
GlobalCompetition
DemandingCustomers
OrganizationDownsizing
SystemComplexity
TechnologyChange
VagueRequirements
Work LifeImbalance
Pine, B. J. (1993). Mass customization: The new frontier in business competition. Boston, MA: Harvard Business School Press.
Software in U.S. DoD Systems
Kennedy, M. P., & Umphress, D. A. (2011). An agile systems engineering process: The missing link. Crosstalk, 24(3), 16-20.
No. of software-intensive systems is growing 80% of US DoD functions performed in software Major driver of cost, schedule, & tech. performance
4
Traditional Projects
5
Big projects result in poor quality and scope changes Productivity declines with long queues/wait times Large projects are unsuccessful or canceled
Jones, C. (1991). Applied software measurement: Assuring productivity and quality. New York, NY: McGraw-Hill.
Size vs. Quality
Def
ect
Den
sity
0.00
3.20
6.40
9.60
12.80
16.00
0 2 6 25 100 400
Lines of Code (Thousands)
Size vs. Productivity
Cod
e P
rodu
ctio
n R
ate
0.00
1.00
2.00
3.00
4.00
5.00
0 2 6 25 100 400
Lines of Code (Thousands)
Size vs. Requirements Growth
Per
cent
age
0%
8%
16%
24%
32%
40%
0 2 6 25 100 400
Lines of Code (Thousands)
Size vs. SuccessP
erce
ntag
e
0%
12%
24%
36%
48%
60%
0 2 6 25 100 400
Lines of Code (Thousands)
Global Project Failures
6Standish Group. (2010). Chaos summary 2010. Boston, MA: Author.Sessions, R. (2009). The IT complexity crisis: Danger and opportunity. Houston, TX: Object Watch.
Challenged and failed projects hover at 67% Big projects fail more often, which is 5% to 10% Of $1.7T spent on IT projects, over $858B were lost
16% 53% 31%
27% 33% 40%
26% 46% 28%
28% 49% 23%
34% 51% 15%
29% 53% 18%
35% 46% 19%
32% 44% 24%
33% 41% 26%
0% 20% 40% 60% 80% 100%
1994
1996
1998
2000
2002
2004
2006
2008
2010
Year
Successful Challenged Failed
$0.0
$0.4
$0.7
$1.1
$1.4
$1.8
2002 2003 2004 2005 2006 2007 2008 2009 2010
Trill
ions
(US
Dolla
rs)
Expenditures Failed Investments
Requirements Defects & Waste
7Sheldon, F. T. et al. (1992). Reliability measurement: From theory to practice. IEEE Software, 9(4), 13-20Johnson, J. (2002). ROI: It's your job. Extreme Programming 2002 Conference, Alghero, Sardinia, Italy.
Requirements defects are #1 reason projects fail Traditional projects specify too many requirements More than 65% of requirements are never used at all
Other 7%
Requirements47%
Design28%
Implementation18%
Defects
Always 7%
Often 13%
Sometimes16%
Rarely19%
Never45%
Waste
What is Agility? A-gil-i-ty (ə-'ji-lə-tē) Property consisting of quickness,
lightness, and ease of movement; To be very nimble The ability to create and respond to change in order to
profit in a turbulent global business environment The ability to quickly reprioritize use of resources when
requirements, technology, and knowledge shift A very fast response to sudden market changes and
emerging threats by intensive customer interaction Use of evolutionary, incremental, and iterative delivery
to converge on an optimal customer solution Maximizing BUSINESS VALUE with right sized, just-
enough, and just-in-time processes and documentationHighsmith, J. A. (2002). Agile software development ecosystems. Boston, MA: Addison-Wesley.
8
What are Agile Methods?
9
People-centric way to create innovative solutions Product-centric alternative to documents/process Market-centric model to maximize business value
Agile Manifesto. (2001). Manifesto for agile software development. Retrieved September 3, 2008, from http://www.agilemanifesto.org
Customer Collaboration
Working Software
Individuals & Interactions
Responding to Change
valuedmore than
valuedmore than
valuedmore than
valuedmore than
Contracts
Documentation
Processes
Project Plans
Frequent comm. Close proximity Regular meetings
Multiple comm. channels Frequent feedback Relationship strength
Leadership Boundaries Empowerment
Competence Structure Manageability/Motivation
Clear objectives Small/feasible scope Acceptance criteria
Timeboxed iterations Valid operational results Regular cadence/intervals
Org. flexibility Mgt. flexibility Process flexibility
System flexibility Technology flexibility Infrastructure flexibility
Contract compliance Contract deliverables Contract change orders
Lifecycle compliance Process Maturity Level Regulatory compliance
Document deliveries Document comments Document compliance
Cost Compliance Scope Compliance Schedule Compliance
Pine, B. J. (1993). Mass customization: The new frontier in business competition. Boston, MA: Harvard Business School Press.
Agile Project Management
High levels of uncertainty and unpredictability
High technology projects
Fast paced, highly competitive industries
Rapid pace of technological change
Research oriented, discovery projects
Large fluctuations in project performance
Shorter term, performance based RDT&E contracts
Achieving high impact product/service effectiveness
Highly creative new product development contracts
Customer intensive, one off product/service solutions
Highly volatile and unstable market conditions
High margin, intellectually intensive industries
Delivering value at the point of sale
Traditional Project Management
Predictable situations
Low technology projects
Stable, slow moving industries
Low levels of technological change
Repeatable operations
Low rates of changing project performance
Long term, fixed price production contracts
Achieving concise economic efficiency goals
Highly administrative contracts
Mass production and high volume manufacturing
Highly predictable and stable market conditions
Low margin industries such as commodities
Delivering value at the point of plan
10
Exploratory or research/development projects When fast customer responsiveness is paramount In organizations that are highly innovative/creative
When to use Agile Methods
Agile Methods
House, D. (2012). Sixth annual state of agile survey: State of agile development. Atlanta, GA: VersionOne.
VersionOne found 80% using agile methods today Most are using Scrum with several key XP practices Release planning/continuous integration are vital tools
11
Agile Practices
House, D. (2012). Sixth annual state of agile survey: State of agile development. Atlanta, GA: VersionOne.
VersionOne found 65% using Scrum practices 55% are using some of top XP technical practices Lean-Kanban is a rising practice with a 24% adoption
12
Agile Case Studies 80% of worldwide IT projects use agile methods Includes regulated industries, i.e., DoD, FDA, etc. Agile now used for safety-critical systems, FBI, etc.
13
Industry
ShrinkWrapped
ElectronicCommerce
HealthCare
LawEnforcement
Org 20 teams 140 people 5 countries
Size
15 teams 90 people Collocated 4 teams 20 people Collocated 10 teams 50 people Collocated 3 teams 12 people Collocated
U.S.DoD
Primavera
Stratcom
FBI
FDA
Project
Primavera
Adwords
SKIweb
Sentinel
m2000
Purpose
ProjectManagement
Advertising
KnowledgeManagement
Case FileWorkflow
BloodAnalysis
1,838 User Stories 6,250 Function Points 500,000 Lines of Code
Metrics
26,809 User Stories 91,146 Function Points 7,291,666 Lines of Code 1,659 User Stories 5,640 Function Points 451,235 Lines of Code 3,947 User Stories 13,419 Function Points 1,073,529 Lines of Code 390 User Stories 1,324 Function Points 105,958 Lines of Code
Rico, D. F. (2010). Lean and agile project management: For large programs and projects. Proceedings of the First International Conference on Lean Enterprise Software and Systems, Helsinki, Finland, 37-43.
Agile DoD Projects 80% of DoD projects are small to medium-sized Contractors bring agile methods along with them 60-70% of DoD projects now using agile methods
14
Zwicker, M. (2007). War stories: Fighter jets and agile development at lockheed martin. Orange Park, FL: Agile Journal.Northern, C. et al. (2010). Handbook for implementing agile in DoD information technology acquisition. McLean, VA: MITRE.Lapham, M. A. et al. (2010). Considerations for using agile in DoD acquisition (CMU/SEI-2010-TN-002). Pittsburgh, PA: SEI.Campbell, W. H. (2010). Achieving effective acquisition of information technology in the department of defense. Washington, DC: NRC.Risacher, D. (2010). ASD(NII)/DoD CIO storefront agile open source. DoD Agile Development Conference, Alexandria, VA, USA.Kinney, R. (2010). Corporate services vision and agile transport 21. DoD Agile Development Conference, Alexandria, VA, USA.
Lockheed(Zwicker 2007)
MITRE(Northern 2010)
National Senior Leadership Decision Support Svc Joint Space Operations Center Mission System Joint Communications Support ElementAir and Space Operations Center (ASOC)Global Command and Control System (GCCS)
DCGS – Marine Corps (DCGS-MC)DCGS – Intelligence Backbone (DIB)DCGS – Intelligence Community (DCGS-IC) Joint Operational Planning & Execution System (JOPES)
SEI(Lapham 2010)
Joint Mission Planning System (JMPS)Single Integrated Air Picture (SIAP)Operationally Responsive Space (ORS)
Virtual Mission Operations Center (VMOC) FIST Applications
NRC(Campbell 2010)
Force XXI Battle Command Brigade and BelowBlue Force Tracker (BFT) Joint Network Node (JNN)
Command Post of the Future (CPOF) Tactical Ground Reporting System (TIGR)
DISA(Risacher 2010) Forge.Mil
USTRANSCOM(Kinney 2010) Corporate Services Vision (CSV) Agile Transportation XXI (AT21)
F-35 Lightning F-22 Raptor
Warfighter’s Edge (WEdge)
Storefront Widget Framework (SWF)
DoD 5000 & Agile Methods
15
Lean
& A
gile
Material Solution& Analysis
TechnologyDevelopment
Engineering &Manufacture
Production &Deployment
Operations & Support
DoD
5000
ImplementationPlanningDesignConceptMS/A MS/B MS/C FOCFRPGo
ffin
TRL 1Basic
principles observed
and reported
PrototypeAnalysis of Alternatives
DoD 5000—Risk Reduction BackloadedLean/Agile—Risk Reduction Frontloaded
Iter
atio
n 1
Iter
atio
n 2
Iter
atio
n 3
Release1
Iter
atio
n 4
Iter
atio
n 5
Iter
atio
n 6
Release2
Iter
atio
n 7
Iter
atio
n 8
Iter
atio
n 9
Release3
Iter
atio
n 10
Iter
atio
n 11
Iter
atio
n 12
Release4
Iter
atio
n 13
Iter
atio
n 14
Iter
atio
n 15
Release5
Iter
atio
n 16
Iter
atio
n 17
Iter
atio
n 18
Release6
Iter
atio
n 19
Iter
atio
n 20
Iter
atio
n 21
Release7
Iter
atio
n 22
Iter
atio
n 23
Iter
atio
n 24
Release8
Iter
atio
n 25
Iter
atio
n 26
Iter
atio
n 27
Release9
TRL 9Actual system proven through
successful mission
operations
TRL 2Technology
concept and/or
application formulated
TRL 3Analytical &experimental
critical functionand/or
characteristic proof of concept
TRL 4Component
and/or breadboard validation in a laboratory environment
TRL 5Component
and/or breadboard validation in a relevant
environment
TRL 6System/
subsystem model or prototype
demonstrated in a relevant environment
TRL 7System
prototype demonstrated
in an operational
environment
TRL 8Actualsystem
completed and qualified through test
and demonstration
Perceptions to Agile in US DoD Structure, reward, decision, staffing, leadership, etc. Top-down, individualism, regulation, compliance, etc. Focus on reforming acquisition & procurement system
16
Type/Kind Common DoD Agile Perceptions
Discipline
Reality with Respect to Agile Methods
Scalability
Domain
Management
Requirements
Architecture
Quality
Inspections
Security
Undisciplined Cowboy Coding
Only Applies Small Projects
Only for Protoperational Systems
Flexible Scope/Can't Use EVM
Doesn't Use Requirements
Spaghetti Code from Iterations
No Documents/Unmaintainable
High CoQ from No Inspections
Vulnerabilities from Hacking
Rigorous process, plans, requirements, QA, CM, testing, documents etc.
Used by 100, 500, 1,000, 10,000+ person person projects & organizations
Used in DoD, medical devices, avionics, autos, electronics, etc.
Lightweight EVM model is used with its release planning methodology
Always begins with valuable, well-defined, & prioritized requirements
Begins with lean architecture or create waste-free emergent design
Electronic plans, requirements, designs, tests, manuals, documents, etc.
One or two orders of magnitude more inspections & tests performed
Security practices result in smaller attack surface & fewer vulnerabilities
Rico, D. F., Sayani, H. H., & Sone, S. (2009). The business value of agile software methods: Maximizing ROI with just-in-time processes and documentation. Ft. Lauderdale, FL: J. Ross Publishing.
Benefits of Agile Methods Analysis of 23 agile vs. 7,500 traditional projects Agile projects are 54% better than traditional ones Agile has lower costs (61%) and fewer defects (93%)
Mah, M. (2008). Measuring agile in the enterprise: Proceedings of the Agile 2008 Conference, Toronto, Canada.
Project Cost in Millions $
0.75
1.50
2.25
3.00
2.8
1.1
Before Agile
After Agile
61%LowerCost
Total Staffing
18
11
Before Agile
After Agile
39%LessStaff
5
10
15
20
Delivery Time in Months
5
10
15
20
18
13.5
Before Agile
After Agile
24%Faster
Cumulative Defects
625
1250
1875
2500
2270
381
Before Agile
After Agile
93%Less
Defects
17
Agile World View “Agility” has many dimensions other than IT It ranges from leadership to technological agility Agile methods are also used for program planning
Agile Leaders
Agile Organization Change
Agile Acquisition & Contracting
Agile Strategic Planning
Agile Capability Analysis
Agile Program Management
Agile Tech.
Agile Information Systems
Agile Tools
Agile Processes & Practices
Agile Systems Development
Agile Project Management
18
Hoque, F., et al. (2007). Business technology convergence. The role of business technology convergence in innovation and adaptability and its effect on financial performance. Stamford, CT: BTM Institute. 19
Study of 15 agile vs. non-agile Fortune 500 firms Based on models to measure organizational agility Agile firms out perform non-agile firms by up to 36%
Benefits of Organizational Agility
Conclusion
20
Agility is the evolution of management thought Confluence of traditional and non-traditional ideas Improve performance by over an order of magnitude
“The world of traditional methods belongs to yesterday”“Don’t waste your time using traditional methods on 21st century projects”
Agile methods are …
Systems development approachesNew product development approachesExpertly designed to be fast and efficientIntentionally lean and free of waste (muda) Systematic highly-disciplined approachesCapable of producing high quality systemsRight-sized, just-enough, and just-in-time tools
Scalable to large, complex mission-critical systems Designed to maximize business value for customers
Wysocki, R.F. (2010). Adaptive project framework: Managing complexity in the face of uncertainty. Boston, MA: Pearson Education.
Books on ROI of SW Methods Guides to software methods for business leaders Communicates business value of software methods Rosetta stones to unlocking ROI of software methods
http://davidfrico.com/agile-book.htm (Description) http://davidfrico.com/roi-book.htm (Description)
21