Failed Software ProjectsFa
ilure
Rat
e (%
)
1970 1980 1990 2000 20101960
100
50
0
Failed Software ProjectsFa
ilure
Rat
e (%
)
1970 1980 1990 2000 20101960
100
50
0
35
Failed Software ProjectsFa
ilure
Rat
e (%
)
1970 1980 1990 2000 20101960
100
50
0
35
500M
100M
10M
1M
Microsoft Visual Studio
Eclipse Europa
Healthcare.gov2013
2007
2005
Line
s of
cod
e
Image attributions provided on last slide.
Waterfall Methodology
Extreme Programming
1970 1980 1990 2000 2010 2020
Independent/Hacker/Cowboy/Indie coding
Cap Gemini SDMSSADM
Waterfall
DOD-STD-2167AMIL-STD-498
IEEE 12207
SpiralRAD
Scrum
RUPAUP
XP
DAD
TSP
SAFeLeSS
LeanKanban
Scrumban
1970 1980 1990 2000 2010 2020
Independent/Hacker/Cowboy/Indie coding
Cap Gemini SDMSSADM
Waterfall
DOD-STD-2167AMIL-STD-498
IEEE 12207
SpiralRAD
Scrum
RUPAUP
XP
DAD
TSP
SAFeLeSS
LeanKanban
Scrumban“Agile”
Methodologies
1970 1980 1990 2000 2010 2020
Independent/Hacker/Cowboy/Indie coding
Cap Gemini SDMSSADM
Waterfall
DOD-STD-2167AMIL-STD-498
IEEE 12207
SpiralRAD
Scrum
RUPAUP
XP
DAD
TSP
SAFeLeSS
LeanKanban
Scrumban
1970 1980 1990 2000 2010 2020
Independent/Hacker/Cowboy/Indie coding
Cap Gemini SDMSSADM
Waterfall
DOD-STD-2167AMIL-STD-498
IEEE 12207
SpiralRAD
Scrum
RUPAUP
XP
DAD
TSP
SAFeLeSS
LeanKanban
Scrumban
What Affects Software Projects?Factor Number of Possibilities
Methodologies 55
Programming languages 50
Nature, class, and type of application 15
Capability Maturity Model Levels 5
Team experience (low, average, high) 3
Size plateau of application (small, medium, large) 3
Application complexity (low, average, high) 3
Combinations of factors 5,568,750Jones, Capers (2013). Evaluating ten software development methodologies, Namcook Analytics.
https://xkcd.com/927/
Agile methods Plan-driven methods Formal methods
Criticality low high extreme
Requirements change often do not change often Limited, can be modelled
Staffing experienced junior experienced
Team size small number of developers large number of developers
Culture responds to change demands order extreme quality
Modified from:Boehm, B.; R. Turner (2004). Balancing Agility and Discipline: A Guide for the Perplexed. Boston, MA: Addison-Wesley. pp. 55–57.
So what’s best?
Agile methods (Scrum) Spiral methods Team Software Process (TSP)
Speed of delivery,fewer developers
Lowest development effort and cost
Highest quality,lowest Total Cost of Ownership (TCO)
After:Jones, Capers (2013). Evaluating ten software development methodologies, Namcook Analytics.
–Ernest Hemingway
“How did you go bankrupt?”
“Two ways. Gradually, then suddenly.”
Failed Software ProjectsFa
ilure
Rat
e (%
)
1970 1980 1990 2000 20101960
100
50
0
35
?
3 challenges to existing methodologies
Cloud computing
• Distributed components
Smart contracts
• Social complexity
Deep learning
• Maintainability
Courtesy Cinergix Pty Ltd © 2017
Courtesy Bulletproof Pty Ltd © 2017
Smart Contracts
Smart Contracts
Smart Contracts
Deep Learning Networks
The
QuestionBig
Failed Software ProjectsFa
ilure
Rat
e (%
)
1970 1980 1990 2000 20101960
100
50
0
35
?
AcknowledgementsMismatched power plugs photo by Flickr user Simon Law, CC-BY-SA 2.0
Waterfall model diagram by Peter Kemp & Paul Smith - adapted from Paul Smith's work at Wikipedia, CC BY 3.0
Extreme Programming feedback loops diagram by DonWells, CC BY-SA 3.0
Factory icon by Tichovský Petr, public domain
XKCD comic #927 by Randall Munroe, CC-BY-SA 2.0
Hemingway photo by Pixabay, CC0
US Army nano satellite concept image by U.S. Army, U.S. Government Work
Clouds photo by Elaine with Grey Cats, CC BY-SA 2.0
Smart contract image by draglet GmbH , CC BY-SA 4.0
Neural networks image by Velko, pubic domain
Feed forward neural network diagram by Naghipourfar, CC BY-SA 4.0
“Puppy or bagel” image posted on Reddit by an deleted user on 08 Mar 2016.
Machine learning workflow image by Brylie Christopher Oxley, CC0
Top Related