Slide 1

Slide 1 text

© 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

Slide 2

Slide 2 text

© 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

Slide 3

Slide 3 text

© 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/

Slide 4

Slide 4 text

© 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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

© 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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

© 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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

© 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

Slide 26

Slide 26 text

© 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

Slide 27

Slide 27 text

© 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

Slide 28

Slide 28 text

© 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

Slide 29

Slide 29 text

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

Slide 30

Slide 30 text

© 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

Slide 31

Slide 31 text

© 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

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

© 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

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

© 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

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

© 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

Slide 41

Slide 41 text

© 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

Slide 42

Slide 42 text

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

Slide 43

Slide 43 text

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

Slide 44

Slide 44 text

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

Slide 45

Slide 45 text

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

Slide 46

Slide 46 text

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

Slide 47

Slide 47 text

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

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

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

Slide 50

Slide 50 text

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

Slide 51

Slide 51 text

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

Slide 52

Slide 52 text

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

Slide 53

Slide 53 text

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

Slide 54

Slide 54 text

© 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

Slide 55

Slide 55 text

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

Slide 56

Slide 56 text

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

Slide 57

Slide 57 text

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

Slide 58

Slide 58 text

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

Slide 59

Slide 59 text

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

Slide 60

Slide 60 text

© 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

Slide 61

Slide 61 text

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