32
Agile Quality and Risk Management Elisabeth Hendrickson Blog: testobsessed.com Twitter: @testobsessed Slides Last updated August 6, 2013 copyright © 2013 Elisabeth Hendrickson Available from: http://www.slideshare.net/ehendrickson/presentations

Agile Quality and Risk Management

Embed Size (px)

DESCRIPTION

Traditional approaches to quality and risk management involve quality gates, change control boards, feature freeze and code freeze milestones, and independent QA or Test groups. These approaches stabilize quality at by sacrificing agility. Yet buggy fragile code is even more dangerous for Agile teams where so much is changing so often. Quality and risk management are critically important for agility. This leads to the inevitable question: if the traditional approaches to quality and risk management don't work in an Agile context, what does? Practices vary across organizations, but all successful teams emphasize the same underlying principles of fast feedback, high visibility, collaboration, and alignment. This talk examines various approaches Agile teams have taken to increase quality, mitigate risk, and ultimately ensure they are delivering the highest possible value for their stakeholders.

Citation preview

Page 1: Agile Quality and Risk Management

Agile Quality and Risk Management Elisabeth Hendrickson !

Blog: testobsessed.com!

Twitter: @testobsessed!

Slides Last updated August 6, 2013!

copyright © 2013 Elisabeth Hendrickson!

Available from: http://www.slideshare.net/ehendrickson/presentations!

Page 2: Agile Quality and Risk Management

Who Am I? !

Author !Recovering Consultant!

Director, Quality Engineering !

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 3: Agile Quality and Risk Management

Quality Attributes (“…ilities”)!

Internal!makes software

development more predictable & efficient !

Maintainability!

Reusability!

Portability!

Integrity!

Consistency!

Testability!

Modifiability!

External!improves the value of the

software to an external customer or user!Dependability!

Reliability!

Security!

Usability!

Accessibility!

Scalability!

Performance!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 4: Agile Quality and Risk Management

Risks Distilled!

Costs too much time or money !

Fails to deliver needed value !

Causes loss!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 5: Agile Quality and Risk Management

Four Big Factors in Risk!

Ambiguity !

Dependencies!

Assumptions!

Capacity !

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 6: Agile Quality and Risk Management

Agile?!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 7: Agile Quality and Risk Management

What Agility Looks Like!

Frequent delivery of value !

At a sustainable pace !

While adapting to the changing needs of the

business!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 8: Agile Quality and Risk Management

Recurring Themes!

Feedback !

Visibility !

Alignment!

Collaboration !

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 9: Agile Quality and Risk Management

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Speculation Buildup !Sp

ecula

tion

Analyze Design Implement Stabilize Big Bang Release

Page 10: Agile Quality and Risk Management

Every. Single. Time.!

Empirical Evidence !

speculation!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 11: Agile Quality and Risk Management

Agile eliminates speculation buildup…!

Spec

ulat

ion!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 12: Agile Quality and Risk Management

When “Done” isn’t Really Done!

Spec

ulat

ion!

Iterations…!

Stabilize!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 13: Agile Quality and Risk Management

If You Can’t Do Continuous Delivery…!

Rehearse Delivery!

Page 14: Agile Quality and Risk Management

Practice: Automated Testing!

Automatically check that all previously met expectations are still met.!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 15: Agile Quality and Risk Management

GUI Tests!

Partial-Stack Integration Tests!

Unit (Micro) Tests!

The test automation pyramid, first published by Mike Cohn. !

A Strategy for Cost-Effective Test Automation !

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 16: Agile Quality and Risk Management

Practice: Test First!

Test Driven Development (TDD) !

Acceptance Test Driven Development (ATDD)!

Behavior Driven Development (BDD)!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 17: Agile Quality and Risk Management

Tests Express Expectations and Responsibilities!

The HTML5 features don’t

work on IE 2

Urm, so . . . ?

Page 18: Agile Quality and Risk Management

It All Starts with the Story!

As a

I want

So that

Acceptance Criteria

• 

• 

• 

• 

Page 19: Agile Quality and Risk Management

Quality, Capabilities, and Lack of Alignment !

Implementation!

Actual Need!

Intentions!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!???!

???!

Page 20: Agile Quality and Risk Management

Practice: Continuous Integration !

Stop the line on red.!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 21: Agile Quality and Risk Management

Example Board!

Page 22: Agile Quality and Risk Management

Radiators!

Page 23: Agile Quality and Risk Management

Version All Technical Assets *WITH* the Code!

Unit Tests

Production Code

Source Control Repository

(Plus All other

technical assets)

Test “Fixture”

Code

Acceptance Tests

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 24: Agile Quality and Risk Management

Tested is Part of Done!

Tested = !

+!Checked! Explored!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 25: Agile Quality and Risk Management

Practice: Exploratory Testing!

Simultaneously… !

learning about the software !

while designing tests!

and executing them as micro-experiments !

using observations from the last test to

inform the next!

all in a session guided by a charter!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 26: Agile Quality and Risk Management

Exploratory Charters!

Explore < feature, interaction, etc. >!

With < resources, constraints, etc. >!

To discover < information >!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 27: Agile Quality and Risk Management

Bugs!

Requirements!

Practice: Single Stream of Work !

Backlog!

Story

Story Story

Story

Story

Story

Story

Story

Story

Story

THIS !

NOT THIS !

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 28: Agile Quality and Risk Management

Feedback Loops !

Local Unit Tests! Secs- Mins!

Mins!CI Build!

Mins- Hrs!

System Regression !

Hrs- Days!

Exploratory Testing !

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 29: Agile Quality and Risk Management

Tighten Feedback Loops (Example)!

Code Review!

Check in on Private

Branch!

Unit Test!

Merge! Unit Test!System

Test!

System Test in

Local Env!

Check into Master!

Run local tests!

CI Runs All Tests!Pair!

BEFORE: days - weeks !

AFTER: mins - hours !

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 30: Agile Quality and Risk Management

Four Big Factors in Risk!

Ambiguity !

Dependencies!

Assumptions!

Capacity !

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!Define Acceptance Criteria for Stories. Test First. !

Integrate Continuously. Tighten Feedback Loops.!

Deliver Frequently. Create Visibility.!

Collaborate. Have a Single Stream of Work. Work to Done. !

Page 31: Agile Quality and Risk Management

Agile Mitigates Risks!

Costs too much time or money !

Fails to deliver needed value !

Causes loss!

Fail Fast. !

Deliver Frequently.!

Explore. Learn. Iterate.!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Page 32: Agile Quality and Risk Management

Further Reading !