StarWest 2012 - Agile Defect Management: Focus On Prevention

29
Agile Defect Management Focus On Prevention David Jellison Director, Quality Engineering [email protected] Twitter: davidjellison

description

Efficient agile organizations focus on defect prevention rather than downstream defect discovery, because discovering defects during or after testing adds to development costs. Delaying discovery and repair of defects can make an agile team feel like they are operating in a mini-waterfall. Sharing his experience with Scrum/ Kanban teams, Leveraging the lean concept of limiting work in progress, David Jellison describes how grouping defects into two major categories—work-in-progress defects and escaping defects—reduces development costs and improves reliability in the field. Dave illustrates how to manage problem discovery early and minimize the existence of escaping defects. Treating escaping defects as the exception rather than the norm results in a much smaller defect backlog and increased customer satisfaction. This approach encourages increased collaboration between quality engineers and developers, and shifts the focus of team measures from defect counts to product delivery velocity and cycle time, with increased confidence in quality as the work is completed.

Transcript of StarWest 2012 - Agile Defect Management: Focus On Prevention

Page 1: StarWest 2012 - Agile Defect Management: Focus On Prevention

Agile Defect ManagementFocus On Prevention

David JellisonDirector, Quality Engineering

[email protected]: davidjellison

Page 2: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

You Will Learn Categorizing defects drives defect context

management Testing is part of delivering a story or feature Detecting and resolving defects as the work is

delivered prevents backlog Attaching an in-progress defect to a current

story encapsulates the defect in the current work

Escaping defects become the exception rather than the norm

2

Page 3: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

The One Finding The Most Bugs Wins!

Lord of the Rings: Legolas & Gimli counting kills

Downstream Testing Approach

Page 4: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Preventing Bugs is Craftsmanship

upstream Testing Approach

Page 5: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Quest for Zero Defects You can only manage what is known

Crosby’s “Zero Defect” standard manages to requirements (http://en.wikipedia.org/wiki/Zero_Defects)

Agile changes the game, managing business value to the customer frequently Need a pattern to manage defects that we

inevitably discover during and after release

Never really reach 0 Defects

5

Page 6: StarWest 2012 - Agile Defect Management: Focus On Prevention

Defect Discovery

Moving Defect Discovery Earlier

6

Page 7: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Traditional Defect Discovery Trends

7

Page 8: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Late Defect Discovery Costs Opportunity cost

Not working on other things Developer Context switching

Time to get acclimated and then back again Rebuild and test time

More cycles to deliver the fix Damage control

Support time and reputation Other hidden costs…

8

Page 9: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Traditional Defect Discovery Trends

Defect debt accumulation

Delay in resolution

Defects resolved

Dev/QE aligned

9

Page 10: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Defect Discovery Improvement Plan Stop defect debt accumulation

Move defect discovery up in the development cycle Embed QE into teams with Dev/QE alignment Prevent defects through design review & test

automation Write failing regression tests as defects are discovered

Test in sandbox Don’t wait for final integration environment to test Continuous build and continuous integration patterns

Whole-team responsibility for quality Clear acceptance criteria for all new work Everyone tests Automated test code reviews with developer

10

Page 11: StarWest 2012 - Agile Defect Management: Focus On Prevention

Defect Prevention

Automating Along The Way

11

Page 12: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Defect Discovery Late

Downstream test teams focus on defect discovery

12

Page 13: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Defect Discovery Early

Embedded test teams focus on defect prevention

Regression tests assure no system failures

13

Page 14: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Agile Practices Smaller

cycles Collaboration Design

reviews Test early and

often Test Driven

Development Continuous

Integration Automated

Regression

Scrum

Kanban

14

Page 15: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Automated Regression Tests

UnattendedTest Runs

AvailableTest Time

15

Page 16: StarWest 2012 - Agile Defect Management: Focus On Prevention

Defect Categorization

Introducing WIP Defects

16

Page 17: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Categorizing Defects Escaping Defects

Discovered defects allowed into the field Undiscovered defects found in the field

17

Page 18: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Categorizing Defects WIP (work in progress) Defects

Defects discovered in new code not yet delivered to field

Becomes additional acceptance criteria for delivery

Treat as subtasks of feature work Caged by the parent work in progress

18

Page 19: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Managing Defect Discovery Its OK to not write

defects if there are failing automated tests to manage

Promote failing tests to WIP defects if need to manage separately

Promote WIP defects that are still failing at time of delivery to escaping defects and added to the backlog

19

Page 20: StarWest 2012 - Agile Defect Management: Focus On Prevention

Focus on Prevention Develop failing

regression tests when discovered manually

Continuous feedback through failing test run reports

Associate WIP defects with feature work in progress

20

Page 21: StarWest 2012 - Agile Defect Management: Focus On Prevention

Managing Escaping Defects Delivering business

value over no defects

No unknown failures in regression tests

Coordinate planned escaping defects with customer support

Reduce escaping defects to less than you can count on two hands21

Page 22: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Managing Escaping Defects

“Jellison Jazz Hands”

Page 23: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Driving escaping defects down

23 Number s for illustration only

Page 24: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Escaping Defect Reduction Plan Set expectation in the teams that fixing WIP

defects is part of the acceptance criteria Add escaping defects in the field to the

backlog and rank along with other work Plan to fix some number of escaping defects

from the backlog in each development cycle Treat escaping defects as the exception rather

than the norm

24

Page 25: StarWest 2012 - Agile Defect Management: Focus On Prevention

Examples

Using WIP Defects

25

Page 26: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Example: WIP Defects/Escaping Defects Shifting the focus to WIP defects results in far

fewer escaping defects in the field, even with increased discovery

26

WIP Defects [blue]Escaping Defects [red]

Page 27: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Example: WIP Defects/Escaping Defects Each team may be in a different place with

business risk and can manage escaping defects differently

WIP Defects [ red & blue]Escaping Defects [green]

27

Develop a theme strategy

Page 28: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

What We Covered Categorizing defects drives defect context

management Testing is part of delivering a story or feature Detecting and resolving defects as the work is

delivered prevents backlog Attaching an in-progress defect to a current

story encapsulates the defect in the current work

Escaping defects become the exception rather than the norm

28

Page 29: StarWest 2012 - Agile Defect Management: Focus On Prevention

Twitter: davidjellison

Contact: David JellisonDir, QEConstant Contact, Inc.1601 Trapelo RoadWaltham, MA [email protected]: 339-222-5712

Blog: http://davidjellison.wordpress.com Twitter: davidjellison http://ConstantContact.com/Careers

29