Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A brief history of agile

A brief history of agile

Everyone seems to be talking about agile these days, but why? Robbie will take a whistle stop tour of the history of agile and lean software development, showing some of the lessons we’ve learnt - and forgotten - along the way.

Robbie Clutton

December 06, 2019
Tweet

More Decks by Robbie Clutton

Other Decks in Technology

Transcript

  1. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 © Copyright 2019 Pivotal Software, Inc. All rights reserved. A brief history of agile
  2. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 1799: The Royal Institution 1900 2000 1818: Institution of Civil Engineers 1875: Human computers 1800
  3. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Source: https://insider.si.edu/2018/03/underpaid-women-computers-mapped-the-universe-in-the-19th-century/
  4. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 1799: The Royal Institution 1900 2000 1818: Institution of Civil Engineers 1875: Human computers 1940s: First Turing complete computer ~1965: Mary Hamilton coins the term “software engineering” 1800
  5. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 https://en.wikipedia.org/wiki/Margaret_Hamilton_(scientist) “The space mission software had to be man-rated. Not only did it have to work, it had to work the first time. Not only did the software itself have to be ultra-reliable, it needed to be able to perform error detection and recovery in real time.
  6. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Call that a requirements doc?
  7. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 1799: The Royal Institution 1900 2000 1818: Institution of Civil Engineers 1875: Human computers 1940s: First Turing complete computer ~1965: Mary Hamilton coins the term “software engineering” 2001: Agile manifesto created and published 1800
  8. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Many early software projects were safety critical
  9. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 http://www-scf.usc.edu/~csci201/lectures/Lecture11/royce1970.pdf “Managing the development of large software systems” - Royce, 1970
  10. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 “I believe in this concept, but the implementation described above is risky and invites failure.
  11. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 “required design changes are likely to be so disruptive that the software requirements upon which the design is based and which provides the rationale for everything are violated.
  12. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 http://www.agilemodeling.com/essays/costOfChange.htm
  13. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 So that process means everything works, right?
  14. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Let’s talk about Therac-25 (1985-1987) 6 occurrences of overdose of radiation issued, hundreds of times the intended amount. Led to 3 deaths due to radiation poisoning. Caused by “overconfident engineers”, lack of process to resolve reported bugs, and poorly designed malfunction alerts to radiologists.
  15. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Let’s talk about computer aided dispatch, 1992 Computer system to replace paper based system, and increase efficiency for London Ambulance Service. Big bang release. Multiple units sent to the same address. No units sent to others. Calls got lost, which resulted in more calls. System became congested. No roll back or plan B. Media reports of loss of life between 30 and 45.
  16. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Lots of assumptions about accuracy of previous step
  17. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Pressure around fixed scope, fixed time and fixed cost contracts
  18. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Integrated testing too late, if at all present
  19. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Little to no validation of user needs and interactions
  20. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Process, not people centric
  21. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 1965: Mary Hamilton coins “software engineering” 1970: Winston Royce publishes “Managing the development of large software systems” 1976: Bell and Thayer coin the term “waterfall” 1948-75: Toyota Production System created and honed Not much changes in waterfall after 1976!
  22. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Just in time Kanban, track and WIP Jidoka “automation with a human touch” Andon “stop the line” Continuous improvement of people and process https://www.flickr.com/photos/toyotamheurope/8472007819
  23. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 1965: Mary Hamilton coins “software engineering” 1970: Winston Royce publishes “Managing the development of large software systems” 1976: Bell and Thayer coin the term “waterfall” 1948-75: Toyota Production System created and honed 1983: The Psychology of Human–Computer Interaction published
  24. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 https://www.interaction-design.org/literature/book/the-encyclopedia-of-human-computer-interaction-2nd-ed/human-computer-interaction-brief-intro
  25. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 1965: Mary Hamilton coins “software engineering” 1970: Winston Royce publishes “Managing the development of large software systems” 1976: Bell and Thayer coin the term “waterfall” 1948-75: Toyota Production System created and honed 1984: Goldratt publishes “The Goal” 1983: The Psychology of Human–Computer Interaction published
  26. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Batching seems economical, but can delay value to the customer / business and can cause bottlenecks that require buffers to deal with them. Theory of constraints: batches Reduces cycle time; Reduces variability in flow; Accelerates feedback; Reduces risk; Reduces overhead 1x1 allows each piece of work to flow as it is ready, which can increase throughput and reduce queue time.
  27. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Theory of constraints: bottlenecks Buffers required to deal with backlog If we optimise an upstream process - we haven’t increased our throughput
  28. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 1965: Mary Hamilton coins “software engineering” 1970: Winston Royce publishes “Managing the development of large software systems” 1976: Bell and Thayer coin the term “waterfall” 1948-75: Toyota Production System created and honed 1986: “New Product Development Game published” by Hirotaka Takeuchi, Ikujiro Nonaka 1995: Sutherland and Schwaber publish a paper describing Scrum 2001: Schwaber and Beedle publish “Agile Software Development with Scrum” 1984: Goldratt publishes “The Goal” 1983: The Psychology of Human–Computer Interaction published
  29. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Scrum introduces the Product Owner role, and a project management structure that functions in an iterative way.
  30. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 1965: Mary Hamilton coins “software engineering” 1970: Winston Royce publishes “Managing the development of large software systems” 1976: Bell and Thayer coin the term “waterfall” 1948-75: Toyota Production System created and honed 1986: “New Product Development Game published” by Hirotaka Takeuchi, Ikujiro Nonaka 1995: Sutherland and Schwaber publish a paper describing Scrum 1999: “Extreme Programming Explained” published 2001: Schwaber and Beedle publish “Agile Software Development with Scrum” 1984: Goldratt publishes “The Goal” 1983: The Psychology of Human–Computer Interaction published
  31. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Embrace (reduce cost of) change Organise for better performance and higher quality Emphasis on listening to the customer, and their feedback Introduces values: communication, simplicity, feedback, courage, and respect.
  32. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 2000 2020 2010 2003: Mary and Tom Poppendieck publish “Lean Software Development”
  33. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Eliminate waste Amplify learning Decide as late as possible Deliver as fast as possible Empower the team Build integrity in See the whole
  34. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 2000 2020 2010 2003: Mary and Tom Poppendieck publish “Lean Software Development” 2009: Mike Roter publishes “Toyota Kata”
  35. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 2000 2020 2010 2003: Mary and Tom Poppendieck publish “Lean Software Development” 2014: O'Reilly, Humble, and Molesky publish “Lean Enterprise” 2011: Eric Ries publishes “The Lean Startup” 2018: Forsgren, Humble and Kim publish “Accelerate: The Science of Lean Software and Devops” 2009: Mike Roter publishes “Toyota Kata”
  36. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Learn Build Measure • Innovation accounting, and a validated portfolio • Mission control, not command and control • Learn / fail fast • Improving flow through value stream and pull systems
  37. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Research shows that Lean management along with a set of other technical practices known collectively as continuous delivery, do in fact impact culture. You can act your way to a better culture by implementing these practices in technology organisations, just as you can in manufacturing. - Forsgren, Humble and Kim
  38. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 2020 What does the future hold?
  39. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 The Toyota Production System gave us a focus on productivity and a people centric culture. The Theory of Constraints builds upon kanban, which focuses on delivering working products sooner. Mike Rother details the management and leadership, and the importance of coaching as part of leading teams. Mary Hamilton and NASA pushed for software engineering to be recognised as its own discipline.
  40. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Scrum offers a project management framework, and introduced us to new roles for the team built upon a comparison of lean manufacturing and software development by Takeuchi and Nonaka. Extreme Programming describes a productive work culture and associated values alongside engineering practices that thrive in that environment. Mary and Tom Poppendieck flesh out that comparison, introducing a number of practices into lean software development.
  41. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Lean Startup describes how companies are building new products, and Lean Enterprise expands upon that to show how companies are applying that at scale. Nicole Forsgren provides detailed observations of high performing teams, leveraging agile, lean and devops.
  42. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Failed and/or partial implementations
  43. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Near constant desire for turn-key solutions
  44. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Cultural transformation is pretty much mandatory for success
  45. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 1799: The Royal Institution 1900 2000 1818: Institution of Civil Engineers 1875: Human computers 1940s: First Turing complete computer ~1965: Mary Hamilton coins the term “software engineering” 2001: Agile manifesto created and published 1800
  46. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 Creating an environment that promotes a learning organisation
  47. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 We are never definitely right, we can only be sure we are wrong. - Richard Feynman
  48. © Copyright 2019 Pivotal Software, Inc. All rights reserved. @robb1e

    - March 5th, 2019 THANK YOU! Any Questions?