3. A Collaborative Approach
to Quality in the
Agile Enterprise
Jaco Viljoen | IndigoCube | jaco@indigocube.co.za
www.indigocube.co.za | info@indigocube.co.za
6. • Systems Thinking 101
The structure of a system determines the behaviour
Pervasive problems are caused by many interacting agents leading to
emergent properties
Nobody is to blame
• 3 Types of Systems in Agile Enterprises
Waterfall
Water-Scrum-Fall
Continuous Delivery
Introduction
7. LEVEL DELIVERY
FOCUS
CHARACTERISTICS RESULT
5: Optimizing Hypothesis-driven
delivery
Teams focus on
optimizing cycle time to
learn from customers
Continuous deployment
capability enables business
innovation / experimentation
4:
Quantitatively
Managed
Release on demand Delivery teams prioritize
keeping code trunk
deployable over doing
new work
Release on demand: Software is
always in a releasable state. Relea
time box is well defined and equa
to, or less than, business need
3: Defined Regular releases
over a defined
period with interim
milestone builds
Teams build quality into
release process
Regular release cadence: Release
time box is well defined, but
duration from idea inception to
production release is greater than
business need
2: Managed Time-boxed
releases (the team
sets a release date
and manages to it)
There is an adaptive
delivery process
Planned release: Release time box
well defined, but duration from id
inception to production release is
greater than business need
1: Initial A few smart people
performing heroics
There is an ad hoc
release delivery process
Ad hoc deployments
18. Enterprise Challenge #2: Quality
- Waterfall -
Product v2.0
Quality
Time
Product v1.0 Acceptable level of
quality in Production
DEV makes
changes…
Bug fixing…
Testing…
Regression...
Underlying
assumption:
• Capacity matches
demand
• No surprises
19. Enterprise Challenge #2: Quality
- Waterfall -
Product v2.0
Quality
Time
Acceptable level of
quality in Production
Too many
changes to fix
up in time
provided
Product v2.0
Product v1.0
Not enough
time for fixing
the quality
Technical
Debt
20. Enterprise Challenge #2: Quality
- Water-Scrum-Fall -
Quality
Time
Acceptable level of
quality in Production
Technical
Debt
Product v2.0Product v1.0
Product v2.0
Traditional
practices fail if
timeline is too
short
50%
Getting all testing done
in the current
iteration/sprint
37%
Adopting test-driven
development
(TDD) approaches
The most difficult challenges
when adopting agile testing
approaches - Agile Testing
Survey 2012
22. Enterprise Challenge #2: Quality
- Continuous Delivery -
Quality
Time
Product v1.0
Acceptable level of
quality in Production
Team
collaborate
around
changes…
Product v2.0
Team
collaborate
around
changes…
Team
collaborate
around
changes…
Team
collaborate
around
changes…
23. Enterprise Challenge #2: Quality
- Continuous Delivery -
Quality
Time
Product v1.0
Acceptable level of
quality in Production
Team
collaborate
around
changes…
Team
collaborate
around
changes…
Team
collaborate
around
changes…
Team
collaborate
around
changes…
Product v2.0
24. Enterprise Challenge #2: Quality
- Continuous Delivery -
Quality
Time
Product v1.0
Acceptable level of
quality in Production
Team
collaborate
around
changes…
Product v2.0
Team
collaborate
around
changes…
Team
collaborate
around
changes…
Product v2.0
26. • Shift user acceptance testing left
• Prevent defects
• Collaborate around quality
• Automate acceptance and regression testing
• Build a parallel “system that tests the system”
Vision/Solution
28. LEVEL DELIVERY
FOCUS
5: Optimizing Hypothesis-driven
delivery
4:
Quantitatively
Managed
Release on demand
3: Defined Regular releases
over a defined
period with interim
milestone builds
2: Managed Time-boxed
releases (the team
sets a release date
and manages to it)
1: Initial A few smart people
performing heroics
D D DB B BT T T
D D DB B BT T T
D D DB B BT T T
Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprin
Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprin
Define
Define
Define
Build
Build
Build
Test
Test
Test
Sprint 1 Sprint 2 Sprint 3 Sprint 4 Sprin
Define Build Test
BuildDefine Test
Define Build Tes
Define Build Test
BuildDefine Test
32. • From “Water-Scrum-Fall” to “Continuous Delivery”
• Strategy to minimise impact of necessary change
Implementation
33. LEVEL DELIVERY
FOCUS
CHARACTERISTICS RESULT
5: Optimizing Hypothesis-driven
delivery
Teams focus on
optimizing cycle time to
learn from customers
Continuous deployment
capability enables business
innovation / experimentation
4:
Quantitatively
Managed
Release on demand Delivery teams prioritize
keeping code trunk
deployable over doing
new work
Release on demand: Software i
always in a releasable state. Re
time box is well defined and eq
to, or less than, business need
3: Defined Regular releases
over a defined
period with interim
milestone builds
Teams build quality into
release process
Regular release cadence: Relea
time box is well defined, but
duration from idea inception to
production release is greater th
business need
2: Managed Time-boxed
releases (the team
sets a release date
and manages to it)
There is an adaptive
delivery process
Planned release: Release time b
well defined, but duration from
inception to production release
greater than business need
1: Initial A few smart people
performing heroics
There is an ad hoc
release delivery process
Ad hoc deployments