agile quality and risk management

Post on 07-Dec-2014

1.903 Views

Category:

Technology

1 Downloads

Preview:

Click to see full reader

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.

TRANSCRIPT

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!

Who Am I? !

Author !Recovering Consultant!

Director, Quality Engineering !

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

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

!

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

!

Four Big Factors in Risk!

Ambiguity !

Dependencies!

Assumptions!

Capacity !

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Agile?!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

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

!

Recurring Themes!

Feedback !

Visibility !

Alignment!

Collaboration !

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Speculation Buildup !Sp

ecula

tion

Analyze Design Implement Stabilize Big Bang Release

Every. Single. Time.!

Empirical Evidence !

speculation!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Agile eliminates speculation buildup…!

Spec

ulat

ion!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

When “Done” isn’t Really Done!

Spec

ulat

ion!

Iterations…!

Stabilize!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

If You Can’t Do Continuous Delivery…!

Rehearse Delivery!

Practice: Automated Testing!

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

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

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

!

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

!

Tests Express Expectations and Responsibilities!

The HTML5 features don’t

work on IE 2

Urm, so . . . ?

It All Starts with the Story!

As a

I want

So that

Acceptance Criteria

• 

• 

• 

• 

Quality, Capabilities, and Lack of Alignment !

Implementation!

Actual Need!

Intentions!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!???!

???!

Practice: Continuous Integration !

Stop the line on red.!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

Example Board!

Radiators!

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

!

Tested is Part of Done!

Tested = !

+!Checked! Explored!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

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

!

Exploratory Charters!

Explore < feature, interaction, etc. >!

With < resources, constraints, etc. >!

To discover < information >!

Elis

abet

h H

endr

icks

on @

test

obse

ssed

!

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

!

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

!

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

!

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

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

!

Further Reading !

top related