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

    View full-size slide

  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

    View full-size slide

  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/

    View full-size slide

  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

    View full-size slide

  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.

    View full-size slide

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

    View full-size slide

  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

    View full-size slide

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

    View full-size slide

  9. © Copyright 2019 Pivotal Software, Inc. All rights reserved.
    @robb1e - March 5th, 2019
    Incredibly expensive

    View full-size slide

  10. © Copyright 2019 Pivotal Software, Inc. All rights reserved.
    @robb1e - March 5th, 2019
    Required formal methods

    View full-size slide

  11. © 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

    View full-size slide

  12. © 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.

    View full-size slide

  13. © 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.

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  16. © 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.

    View full-size slide

  17. © 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.

    View full-size slide

  18. © Copyright 2019 Pivotal Software, Inc. All rights reserved.
    @robb1e - March 5th, 2019
    Key takeaways

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  24. © 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!

    View full-size slide

  25. © 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

    View full-size slide

  26. © 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

    View full-size slide

  27. © 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

    View full-size slide

  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
    1984: Goldratt
    publishes “The
    Goal”
    1983: The Psychology of
    Human–Computer Interaction published

    View full-size slide

  29. © 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.

    View full-size slide

  30. © 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

    View full-size slide

  31. © 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

    View full-size slide

  32. © 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.

    View full-size slide

  33. © 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

    View full-size slide

  34. © 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.

    View full-size slide

  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”

    View full-size slide

  36. © 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

    View full-size slide

  37. © 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”

    View full-size slide

  38. © Copyright 2019 Pivotal Software, Inc. All rights reserved.
    @robb1e - March 5th, 2019
    Improvement kata

    View full-size slide

  39. © 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”

    View full-size slide

  40. © 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

    View full-size slide

  41. © 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

    View full-size slide

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

    View full-size slide

  43. © 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.

    View full-size slide

  44. © 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.

    View full-size slide

  45. © 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.

    View full-size slide

  46. © Copyright 2019 Pivotal Software, Inc. All rights reserved.
    @robb1e - March 5th, 2019
    Key takeaways

    View full-size slide

  47. © Copyright 2019 Pivotal Software, Inc. All rights reserved.
    @robb1e - March 5th, 2019
    Not without detractors

    View full-size slide

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

    View full-size slide

  49. © Copyright 2019 Pivotal Software, Inc. All rights reserved.
    @robb1e - March 5th, 2019
    Not a silver bullet

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  52. © Copyright 2019 Pivotal Software, Inc. All rights reserved.
    @robb1e - March 5th, 2019
    People centric

    View full-size slide

  53. © Copyright 2019 Pivotal Software, Inc. All rights reserved.
    @robb1e - March 5th, 2019
    We are still learning

    View full-size slide

  54. © 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

    View full-size slide

  55. © Copyright 2019 Pivotal Software, Inc. All rights reserved.
    @robb1e - March 5th, 2019
    Key takeaways

    View full-size slide

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

    View full-size slide

  57. © Copyright 2019 Pivotal Software, Inc. All rights reserved.
    @robb1e - March 5th, 2019
    Embracing change

    View full-size slide

  58. © Copyright 2019 Pivotal Software, Inc. All rights reserved.
    @robb1e - March 5th, 2019
    Listen to the users

    View full-size slide

  59. © Copyright 2019 Pivotal Software, Inc. All rights reserved.
    @robb1e - March 5th, 2019
    Continuous improvement

    View full-size slide

  60. © 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

    View full-size slide

  61. © Copyright 2019 Pivotal Software, Inc. All rights reserved.
    @robb1e - March 5th, 2019
    THANK YOU!
    Any Questions?

    View full-size slide