qualitätsmanagement in der agilen software-entwicklungtitle: qualitätsmanagement in der agilen...
TRANSCRIPT
20.10.2011
1
Qualitätsmanagement in der
agilen Software-Entwicklung
Neue Chancen nutzen
Dr. Andreas Birk, Gerald Heller
October 20, 2011, 3. Software Testing Day Baden-Württemberg
Welcome, Agile!
October 20, 2011 Copyright © 2011, Software.Process.Management 2
20.10.2011
2
Waterfall Model (1970)
October 20, 2011 Copyright © 2011, Software.Process.Management 3
Royce, W
insto
n (1970),
"M
anagin
g the D
evelo
pm
ent o
f Larg
e S
oft
ware
Syste
ms",
Pro
ceedin
gs o
f IE
EE
WE
SC
ON
26 (
August)
: 1–9.
Waterfall Model (1970)
October 20, 2011 Copyright © 2011, Software.Process.Management 4
Royce, W
insto
n (1970),
"M
anagin
g the D
evelo
pm
ent o
f Larg
e S
oft
ware
Syste
ms",
Pro
ceedin
gs o
f IE
EE
WE
SC
ON
26 (
August)
: 1–9.
20.10.2011
3
Scrum (1995)
October 20, 2011 Copyright © 2011, Software.Process.Management 5
Sprint
Planning
Meeting
Collect Input &
Requirements
Potentially
Shipable Product
Increment
Sprint 1-4 Weeks
Agile Iteration
Cycle (Sprint)
Acceptance &
Delivery
Daily Scrum
Meeting
Sprint
Backlog
Product
Backlog
October 20, 2011 Copyright © 2011, Software.Process.Management 6
Individuals?
20.10.2011
4
October 20, 2011 Copyright © 2011, Software.Process.Management 7
… Or Team Collaboration?!
October 20, 2011 Copyright © 2011, Software.Process.Management 8
Toy Projects?
20.10.2011
5
October 20, 2011 Copyright © 2011, Software.Process.Management 9
… Or Real-Life
Projects?!
Agenda
QM in Agile Development / Scrum
… and not (only) “agile testing”!
… does Agile need QM?
Real Projects Need Real QM
Collaboration is Key
October 20, 2011 Copyright © 2011, Software.Process.Management 10
20.10.2011
6
QM & Testing in Agile Development
October 20, 2011 Copyright © 2011, Software.Process.Management 11
Sprint
Planning
Meeting
Collect Input &
Requirements
Potentially
Shipable Product
Increment
Sprint 1-4 Weeks
Agile Iteration
Cycle (Sprint)
Acceptance &
Delivery
Daily Scrum
Meeting
Sprint
Backlog
Product
Backlog
Unit Testing
Acceptance
Testing
Test-Driven
Development
Test
Automation
Acceptance
Criteria
Exploratory
Testing
Early & Iterative Testing
Ensures Quality &
Clarifies Requirements
Iteration
Retrospectives
Pair
Programming
Sprint
Review
Challenges of Agile QM
October 20, 2011 Copyright © 2011, Software.Process.Management 12
Sprint
Planning
Meeting
Collect Input &
Requirements
Potentially
Shipable Product
Increment
Sprint 1-4 Weeks
Agile Iteration
Cycle (Sprint)
Acceptance &
Delivery
Daily Scrum
Meeting
Sprint
Backlog
Product
Backlog
System Testing
„End Game“ /
Nonfunctional Testing
Test Preparation &
Test Infrastructure
Role & Position of
Testers
Sprints with
Testing Focus
Joint
Estimation
20.10.2011
7
Agile QM Building Blocks
October 20, 2011 Copyright © 2011, Software.Process.Management 13
Business
QM &
Testing Agile
Infrastructure
Empowerment
Skills
Agile QM Building Blocks
October 20, 2011 Copyright © 2011, Software.Process.Management 14
Business
Goals
QA Goals
Guidelines &
Constraints
Test
Management
Organization
Testing
Techniques
Agile
Principles
Agile Practices
Agile Testing
Techniques
Tools for Test Automation, Build Automation, Tracking & Reporting
How shall agile QM be
implemented?
Context matters
For instance:
One agile team
Large development
organization
Complex product with
system-level testing
20.10.2011
8
Separate Reporting Spoils Collaboration
October 20, 2011 Copyright © 2011, Software.Process.Management 15
Features
Developed
Time
Tests
Running
Time
Transparency for „One Team“!
October 20, 2011 Copyright © 2011, Software.Process.Management 16
To Do In Work Done
US1
US8
US2
US5
US9
US7
US3
US6
20.10.2011
9
Transparency for „One Team“!
October 20, 2011 Copyright © 2011, Software.Process.Management 17
To Do In Work Developed Tested
US1
US8
US2
US5
US9
US4
US7
US3
US6
Facets of Agile Testing
October 20, 2011 Copyright © 2011, Software.Process.Management 18
Business Facing
Technology Facing
Su
pp
ort
ing th
e T
ea
m
Critiqu
ing t
he
Pro
du
ct
Unit Tests
Components Tests
Automation
Functional Tests
Examples
Story Tests
Prototypes
Simulations
Automation
+ Manual
Exploratory
Scenarios
Usability Testing
User Acceptance Testing
Alpha/Beta
Manual
Performance Testing
Load Testing
Security Testing
“-ility” Testing
Tools
Q1
Q2 Q3
Q4
Bri
an
Ma
rick, 2
00
3.
20.10.2011
10
One Agile Team per Product
October 20, 2011 Copyright © 2011, Software.Process.Management 19
Testers participate in agile cycles (i.e., as members of agile team)
Developer
Scrum Master
Developer
Developer Tester
Tester Product Owner
Central test manager (part-time) coordinates
and advances testing practices across agile
teams
Test Manager
Tester Network
Central test manager (part-time) coordinates
and advances testing practices across agile
teams
Test Manager
Large Development Organization per Product
October 20, 2011 Copyright © 2011, Software.Process.Management 20
Testers participate in agile cycles (i.e., as members of agile team)
Developer
Scrum Master
Developer
Developer Tester
Tester Product Owner
Specialized testing cycle in parallel with development cycle
Tester Test Lead Tester Tester
Joint Meetings
Tester Network
20.10.2011
11
Real QM: Size Matters
Example development scenario
200 team members in 30 agile teams
6 iteration cycles
12 user stories per iteration & team (average)
In total: 2.160 user stories = 30 x 6 x 12 user stories
October 20, 2011 Copyright © 2011, Software.Process.Management 21
Real QM: New QM Roles & Structures
Multiple requirements levels for
large systems …
require …
Suitable multi-level testing
functions
System-level testing
Test features instead of user
stories
System-level specialized testing
(i.e., non-functional qualities)
Testing structure & repository
Overall system testing (tool)
infrastructure
October 20, 2011 Copyright © 2011, Software.Process.Management 22
Dean Leffingwell. Agile Software Requirements:
Lean Requirements Practices for Teams, Programs,
and the Enterprise. Addison-Wesley, 2010.
20.10.2011
12
System testing after functionality has been
completed (focus: quality testing)
Tester
Test Manager Tester
Tester
Tester
Complex Product with System-Level Testing
October 20, 2011 Copyright © 2011, Software.Process.Management 23
Testers participate in agile cycles (i.e., as members of agile team)
Developer
Scrum Master
Developer
Developer Tester
Tester Product Owner
Specialized testing cycle in parallel with development cycle
Tester Test Lead Tester Tester
Joint Meetings
Tester Network
Size Matters: HP example
October 20, 2011 Copyright © 2011, Software.Process.Management 24
Tool Example Topological View (Hewlett-Packard)
Theme
Feature
User Story Linked Defects and Tests
Various Filter & Configuration Options
Status Indicators
Efforts and Progress
Statistics
20.10.2011
13
Agile QM Building Blocks
October 20, 2011 Copyright © 2011, Software.Process.Management 25
Business
QM &
Testing Agile
Infrastructure
How Shall QM Move Towards
Supporting Agile Development?
1. Understand agile development & agile QM
2. Build-up agile development competence
3. Participate in agile cycles
4. Establish new agile QM roles & structures
Teams for specialized parallel testing cycles
Separate system testing function
5. Provide leadership for product success
October 20, 2011 Copyright © 2011, Software.Process.Management 26
20.10.2011
14
Embrace Agile!
Agile is here, today
Successful agile development requires QM participation
Optimize agile QM to maximize customer satisfaction
Deliberately & systematically migrate QM towards Agile
October 20, 2011 Copyright © 2011, Software.Process.Management 27
Thank You!
October 20, 2011 Copyright © 2011, Software.Process.Management 28
Contact
Dr. Andreas Birk
Software.Process.Management
http://www.swpm.de
Blog & Resources
http://MakingOfSoftware.com
Gerald Heller
20.10.2011
15
Photo Credits
Slide Origin
2 lfchavier1, http://www.flickr.com/photos/lfchavier/1719252985/
2 wiccked1, http://www.flickr.com/photos/wiccked/4283763845/
2 Microsoft Clip Art MP900423084
6 Microsoft Clip Art MP900443146
7 Microsoft Clip Art MP900443014
8 greenkozi1, http://www.flickr.com/photos/themacinator/3276123216/
9, 21 alex.ch1, http://www.flickr.com/photos/alex-photos/499976855/
28 Andreas Birk
28 Gerald Heller
1: Available under a Creative Commons license, http://creativecommons.org/
October 20, 2011 Copyright © 2011, Software.Process.Management 29