EECS 394 Software Development Chris Riesbeck Improving 1 Monday, - - PowerPoint PPT Presentation

eecs 394
SMART_READER_LITE
LIVE PREVIEW

EECS 394 Software Development Chris Riesbeck Improving 1 Monday, - - PowerPoint PPT Presentation

EECS 394 Software Development Chris Riesbeck Improving 1 Monday, November 19, 2012 Improving Retrospectives The 5 Whys Process Changes 2 Monday, November 19, 2012 Retrospectives Agile Samurai, Chapter 10, Sections 5 and on 3 Monday,


slide-1
SLIDE 1

Chris Riesbeck

EECS 394

Software Development

Improving

1 Monday, November 19, 2012

slide-2
SLIDE 2

Improving

2

Retrospectives The 5 Whys Process Changes

Monday, November 19, 2012

slide-3
SLIDE 3

3

Agile Samurai, Chapter 10, Sections 5 and on

Retrospectives

Monday, November 19, 2012

slide-4
SLIDE 4

4

Analyzing the failure is just step 1. Equally critical is learning the right lesson and making the right changes.

Monday, November 19, 2012

slide-5
SLIDE 5

5

Went over schedule Software did not work

Generic Fixes

Problem Problem Mitigation Mitigation

Monday, November 19, 2012

slide-6
SLIDE 6

5

Went over schedule Software did not work

Generic Fixes

Test more Increase project slack time Schedule structured code review sessions Schedule additional milestones

Problem Problem Mitigation Mitigation

Monday, November 19, 2012

slide-7
SLIDE 7

5

Went over schedule Software did not work

Generic Fixes

Test more Increase project slack time Schedule structured code review sessions Schedule additional milestones

These add cost but don’t directly address the underlying causes of the failure.

Problem Problem Mitigation Mitigation

Monday, November 19, 2012

slide-8
SLIDE 8

6

Went over schedule

Cause-based Change

Problem Mitigation

Software did not work

Problem Mitigation

Monday, November 19, 2012

slide-9
SLIDE 9

6

Went over schedule

Cause-based Change

multi-year timeline encouraged delay third-party encryption package was delayed platform issues at deployment sites

Problem Mitigation

Software did not work

Problem Mitigation Cause Cause

Monday, November 19, 2012

slide-10
SLIDE 10

Schedule more intermediate releases Schedule developer task to find alternatives to 3rd party s/w Schedule early deployment technology spike Hire expert consultant on deployment platform

6

Went over schedule

Cause-based Change

multi-year timeline encouraged delay third-party encryption package was delayed platform issues at deployment sites

Problem Mitigation

Software did not work

Problem Mitigation Cause Cause

Monday, November 19, 2012

slide-11
SLIDE 11

7

The Five Whys

Monday, November 19, 2012

slide-12
SLIDE 12

7

"Success has many parents. Failure is an orphan."

The Five Whys

Monday, November 19, 2012

slide-13
SLIDE 13

7

"Success has many parents. Failure is an orphan." But in reality failure never has just one source.

The Five Whys

Monday, November 19, 2012

slide-14
SLIDE 14

7

Eric Ries on the 5 Whys video:

http://ecorner.stanford.edu/authorMaterialInfo.html?mid=2296

blog:

http://www.startuplessonslearned.com/2008/11/five-whys.html

"Success has many parents. Failure is an orphan." But in reality failure never has just one source.

The Five Whys

Monday, November 19, 2012

slide-15
SLIDE 15

5 Whys Example

8

Aaron Steinfeld EECS 394 Spring 2011

Analysis lysis Repair

Monday, November 19, 2012

slide-16
SLIDE 16

5 Whys Example

8

When an administrator clicked

  • n edit project, nothing

seemed to happen

Aaron Steinfeld EECS 394 Spring 2011

Analysis lysis Repair

Monday, November 19, 2012

slide-17
SLIDE 17

5 Whys Example

8

When an administrator clicked

  • n edit project, nothing

seemed to happen ... because the server redirected the user back to the same page

Aaron Steinfeld EECS 394 Spring 2011

Analysis lysis Repair

Monday, November 19, 2012

slide-18
SLIDE 18

5 Whys Example

8

When an administrator clicked

  • n edit project, nothing

seemed to happen ... because the server redirected the user back to the same page ... because admins didn't have editing privilege for projects

Aaron Steinfeld EECS 394 Spring 2011

Analysis lysis Repair

Monday, November 19, 2012

slide-19
SLIDE 19

5 Whys Example

8

When an administrator clicked

  • n edit project, nothing

seemed to happen ... because the server redirected the user back to the same page ... because admins didn't have editing privilege for projects ... because only project members had editing privilege

Aaron Steinfeld EECS 394 Spring 2011

Analysis lysis Repair

Monday, November 19, 2012

slide-20
SLIDE 20

5 Whys Example

8

When an administrator clicked

  • n edit project, nothing

seemed to happen ... because the server redirected the user back to the same page ... because admins didn't have editing privilege for projects ... because only project members had editing privilege ... because developers assumed only project members edited projects

Aaron Steinfeld EECS 394 Spring 2011

Analysis lysis Repair

Monday, November 19, 2012

slide-21
SLIDE 21

5 Whys Example

8

When an administrator clicked

  • n edit project, nothing

seemed to happen ... because the server redirected the user back to the same page ... because admins didn't have editing privilege for projects ... because only project members had editing privilege ... because developers assumed only project members edited projects

We changed the interface to not show links the user doesn't have access to.

Aaron Steinfeld EECS 394 Spring 2011

Analysis lysis Repair

Monday, November 19, 2012

slide-22
SLIDE 22

5 Whys Example

8

When an administrator clicked

  • n edit project, nothing

seemed to happen ... because the server redirected the user back to the same page ... because admins didn't have editing privilege for projects ... because only project members had editing privilege ... because developers assumed only project members edited projects

We changed the interface to not show links the user doesn't have access to. We added a "page generated

  • n ..." to differentiate a redirected

page

Aaron Steinfeld EECS 394 Spring 2011

Analysis lysis Repair

Monday, November 19, 2012

slide-23
SLIDE 23

5 Whys Example

8

When an administrator clicked

  • n edit project, nothing

seemed to happen ... because the server redirected the user back to the same page ... because admins didn't have editing privilege for projects ... because only project members had editing privilege ... because developers assumed only project members edited projects

We changed the interface to not show links the user doesn't have access to. We added a "page generated

  • n ..." to differentiate a redirected

page We added an error page for "action not allowed"

Aaron Steinfeld EECS 394 Spring 2011

Analysis lysis Repair

Monday, November 19, 2012

slide-24
SLIDE 24

5 Whys Example

8

When an administrator clicked

  • n edit project, nothing

seemed to happen ... because the server redirected the user back to the same page ... because admins didn't have editing privilege for projects ... because only project members had editing privilege ... because developers assumed only project members edited projects

We changed the interface to not show links the user doesn't have access to. We added a "page generated

  • n ..." to differentiate a redirected

page We added an error page for "action not allowed" We fixed the edit project function to accept admins

Aaron Steinfeld EECS 394 Spring 2011

Analysis lysis Repair

Monday, November 19, 2012

slide-25
SLIDE 25

5 Whys Example

8

When an administrator clicked

  • n edit project, nothing

seemed to happen ... because the server redirected the user back to the same page ... because admins didn't have editing privilege for projects ... because only project members had editing privilege ... because developers assumed only project members edited projects

We changed the interface to not show links the user doesn't have access to. We added a "page generated

  • n ..." to differentiate a redirected

page We added an error page for "action not allowed" We fixed the edit project function to accept admins We changed our process to include proposing new user stories for our client to consider, as appropriate.

Aaron Steinfeld EECS 394 Spring 2011

Analysis lysis Repair

Monday, November 19, 2012

slide-26
SLIDE 26

This is a near-perfect illustration of how to use the 5 Whys analysis to generate multiple levels of defense against the original failure. The control that caused the problem won't appear any more unless the user has the required privilege. A result page won't look just like the page that led to it. Doing something without the required privilege will return an error page. Admin users will have the required privilege. Developers won't just assume what should happen.

9 Monday, November 19, 2012

slide-27
SLIDE 27

It's also really hard to do

10 Monday, November 19, 2012

slide-28
SLIDE 28

Pitfalls

Multiple 1-step causals instead of a 5-step causal chain Causals involving 3rd party actions ("because client didn't send reminder") Shallow explanations ("we forgot" "we didn't think it was important")

11 Monday, November 19, 2012

slide-29
SLIDE 29

Focus on what you can change

The goal is improvement, not punishment Given a failure, what kinds of changes in process are relevant? In order of preference:

Detour: take an equally cheap but alternate path that avoids the cause Detect: set up something to detect if it's about to happen again Defend: set up barriers to prevent or reduce negative effects if it happens again Duplicate: set up redundant processes to keep going if it happens again

Find causals that tie directly to one of the above

12 Monday, November 19, 2012