Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Controlling Complexities in Software Development

331 views

Published on

These slides were presented in a seminar at Queensland University of Technology on 1 December 2017.

Published in: Education
  • Be the first to comment

  • Be the first to like this

Controlling Complexities in Software Development

  1. 1. David Hyland-Wood david@hyland-wood.org @prototypo Controlling Complexity in software development
  2. 2. Failed Software ProjectsFailureRate(%) 1970 1980 1990 2000 20101960 100 50 0
  3. 3. Failed Software ProjectsFailureRate(%) 1970 1980 1990 2000 20101960 100 50 0 35
  4. 4. Failed Software ProjectsFailureRate(%) 1970 1980 1990 2000 20101960 100 50 0 35 500M 100M 10M 1M Microsoft Visual Studio Eclipse Europa Healthcare.gov 2013 2007 2005 Linesofcode
  5. 5. Image attributions provided on last slide. Waterfall Methodology Extreme Programming
  6. 6. 1970 1980 1990 2000 2010 2020 Independent/Hacker/Cowboy/Indie coding Cap Gemini SDM SSADM Waterfall DOD-STD-2167A MIL-STD-498 IEEE 12207 Spiral RAD Scrum RUP AUP XP DAD TSP SAFe LeSS Lean Kanban Scrumban
  7. 7. 1970 1980 1990 2000 2010 2020 Independent/Hacker/Cowboy/Indie coding Cap Gemini SDM SSADM Waterfall DOD-STD-2167A MIL-STD-498 IEEE 12207 Spiral RAD Scrum RUP AUP XP DAD TSP SAFe LeSS Lean Kanban Scrumban “Agile” Methodologies
  8. 8. 1970 1980 1990 2000 2010 2020 Independent/Hacker/Cowboy/Indie coding Cap Gemini SDM SSADM Waterfall DOD-STD-2167A MIL-STD-498 IEEE 12207 Spiral RAD Scrum RUP AUP XP DAD TSP SAFe LeSS Lean Kanban Scrumban
  9. 9. 1970 1980 1990 2000 2010 2020 Independent/Hacker/Cowboy/Indie coding Cap Gemini SDM SSADM Waterfall DOD-STD-2167A MIL-STD-498 IEEE 12207 Spiral RAD Scrum RUP AUP XP DAD TSP SAFe LeSS Lean Kanban Scrumban
  10. 10. 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,750 Jones, Capers (2013). Evaluating ten software development methodologies, Namcook Analytics.
  11. 11. https://xkcd.com/927/
  12. 12. 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.
  13. 13. 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.
  14. 14. –Ernest Hemingway “How did you go bankrupt?” “Two ways. Gradually, then suddenly.”
  15. 15. Failed Software ProjectsFailureRate(%) 1970 1980 1990 2000 20101960 100 50 0 35 ?
  16. 16. 3 challenges to existing methodologies Cloud computing • Distributed components Smart contracts • Social complexity Deep learning • Maintainability
  17. 17. Courtesy Cinergix Pty Ltd © 2017
  18. 18. Courtesy Bulletproof Pty Ltd © 2017
  19. 19. Smart Contracts
  20. 20. Smart Contracts
  21. 21. Smart Contracts
  22. 22. Deep Learning Networks
  23. 23. The Question Big
  24. 24. Failed Software ProjectsFailureRate(%) 1970 1980 1990 2000 20101960 100 50 0 35 ?
  25. 25. David Hyland-Wood david@hyland-wood.org @prototypo Controlling Complexity in software development
  26. 26. Acknowledgements Mismatched 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

×