You are on page 1of 40

Agile

Software development method

Awareness session @ GBP&T

Guus Nijssen
Heineken GBP&T Project Delivery

Guus Nijssen|August 16, 2012 HEINEKEN International B.V.


The reality of software development
Three things we wish were true
The customer knows what he wants
Developers know how to build it
Nothing will change along the way

Three things we have to live with


The customer discovers what he wants
The developers discover how to build it
Many things change along the way

Meanwhile, eager business communities are asking IT for cheaper


and faster software development processes

2
Stacey graph

3
Waterfall method was a starting point
Waterfall is a predictive sequential software development
method. Progress flows from the top to the bottom.
In Royce's original waterfall model (1970) SAPs ASAP waterfall (today)

Project Prep

Business Blueprint

Realization

Final Prep

Go Live & Support

If one can establish a complete vision, dene all of the requirements of the vision, and then devise
the detailed plan to turn the requirements into that vision, then a predictive process will work
From: Software in Thirty Days (2011)

4
Waterfall: criticism
Long cycle time

Silo Mentality
(requirements, design, implementation, verication,
maintenance)

Big bang delivery


(all or nothing)

Over-documentation

5
IT project success rates [1/2]

2010

21% Successful (37%)


37%
Challenged (42%)
Failed (21%)
42%

Source: Standish group CHAOS report 2011 | 80.000 IT projects

6
IT project success rates [2/2]

2010 Success / fail factors (top 3)


Successful (37%) 1. User involvement
2. Exec. Mngt. Support
3. Clear requirements
Challenged (42%) 1. Lack of user input
2. Incomplete requirements & specs
3. Changing requirements & specs
Failed (21%) 1. Incomplete requirements
2. Lack of user involvement
3. Lack of resources

Source: Standish group CHAOS report

7
IT project success rates by type

Waterfall vs Agile

14% 9%
29%
42%
49%
57%

The chart shows


resolution results of
Successful waterfall vs the agile
process from 2002 to
Challenged 2010

Failed

Source: Standish group CHAOS report 2011 | 80.000 IT projects

8
The reality of predictive software
development
Predictive (waterfall) software projects build features of
which only 20% is frequently used

7% Always (7%) 20%


13%
45% Often (13%)
16%
Sometimes (16%)
19%
Rarely (19%)
Never (45%) 64%

Source: Standish group CHAOS report

9
What makes a development method an
Agile one?

When software development is


1. Incremental - small software releases, with rapid cycles
2. Cooperative - customers and developers work constantly
together with close communication
3. Straightforward - the method itself is easy to learn and to
modify, well documented
4. Adaptive able to make last moment changes

10
Agile Manifesto [1/2]

In 2001, a group of 17 esteemed programming gurus got together


and decided to hammer out a set values and principles for the
agile method of software development: The Agile Manifesto

The values as they were originally printed are as follows

1. Individuals and interactions over processes and tools


2. Working software over comprehensive documentation
3. Customer collaboration over contract negotiation
4. Responding to change over following a plan

11
Agile Manifesto? [2/2]

Twelve principles underlie the Agile Manifesto, including:

1. Customer satisfaction by rapid delivery of useful software


2. Welcome changing requirements, even late in development
3. Working software is delivered frequently (weeks rather than
months)
4. Working software is the principal measure of progress
5. Sustainable development, able to maintain a constant pace
6. Close, daily co-operation between business people and developers
7. Face-to-face conversation is the best form of communication (co-
location)
8. Projects are built around motivated individuals, who should be
trusted
9. Continuous attention to technical excellence and good design
10. Simplicity- The art of maximizing the amount of work not done - is
essential
11. Self-organizing teams
12. Regular adaptation to changing circumstances

12
Mastering Agile

Agility is the application of common sense


With an uncommon level of discipline
-- Ron Jeffries

13
Existing Agile Methods

XP - Extreme Programming
Scrum
Crystal
FDD - Feature Driven Development
RUP Rational Unied Process
DSDM Dynamic Systems Development Method
And many more..

14
Scrum: an introduction
Scope
Scrum allows us to focus on delivering Business value
the highest business value in the
shortest time.

It allows us to rapidly and repeatedly


inspect actual working software (every
two weeks to one month). Time Agile Mone
The business sets the priorities. Teams
self-organize to determine the best
way to deliver the highest priority
features.

Every two weeks to a month anyone


can see real working software and
decide to release it as is or continue to
enhance it for another sprint.
15
Scrum flow
Product Owner Scrum Master & Team

Vision!

User Stories

Sprint Planning Sprint Review

Sprint
Future iteration(s)
retrospective
MountainGoatSoftware.com

16
Scrum framework
Roles
Product Owner
Scrum Master
Team
Ceremonies
Sprint Planning
Sprint Review
Sprint Retrospective
Daily Scrum Meeting

Artifacts
Product Backlog
Sprint Backlog
Burndown Charts
MountainGoatSoftware.com

17
Product backlog: User stories

Product backlog items on stakeholder level


As [role] I want [what/feature] so that [why/value]
WHAT -not HOW

As an online buyer I want to save my shopping cart so that I can


continue shopping later

18
Product backlog (artifact)
A sample product backlog
Scrum
Product owner team
(Story points)

MoSCo User story Priori Estimat


W ty e
M As a guest, I want to cancel a reservation 1 3
M As a guest, I want to change the dates of my reservation 2 5
M As a manager, I want to see revenue per available room 3 4
S As a hotel employee, I want to run report X 1 1
C As [role] I want [what/feature] so that [why/value] 1 3
W As [role] I want [what/feature] so that [why/value] 1 4

Notes
Heineken gap tracker
Hierarchy:
Themes (Collection of stories)
Epics (Large story)
User stories (As [role] I want [what/feature] so that [why/value])

19
Sprint planning meeting (ceremony)
Team capacity Sprint planning meeting
Sprint prioritization
Product backlog
Analyze and evaluate product Sprint
goal
backlog
Select sprint goal
Business
conditions

Sprint planning
Current product Decide how to achieve sprint goal
(design)
Sprint
Create sprint backlog (tasks) from Backlog
Technology product backlog items (user
stories / features)
Estimate sprint backlog in story
Planning poker points

20
Sprint backlog (artifact) Story points

21
Story points Variables (examples)
Overhead Uncertainty Technology
Experience Capacity ?

Story point is an arbitrary/relative measure used to measure the


effort required to implement a story.
Mostly commonly used series is the bonacci sequence 0, 1, (1),
2, 3, 5, 8, 13, 21, 34, 55, 89, 144
It is a relative term and does not directly co-relate to actual
hours

How long will it take to develop X? (complexity & ?)


How long does it take to get the nearest train station?
(distance & speed)
The best developer on a project takes one hour to complete
a task while the worst developer takes 10 hours
Learning curve scrum team

22
Planning poker

Planning Poker, also called Scrum poker, is a consensus-based


technique for story point estimating
The reason to use Planning Poker is to avoid the influence of the
other participants.

23
Burndown chart (artifact)
Story points

200
180
160 Velocity = 20 (points per sprint)

140
120
100
80

Release date
60
40
20
0
Sprints -> 1 2 3 4 5 6 7 8 9 10 11
Work remaining

24
Burndown chart with reduced scope
Story points Velocity = 20 (points per sprint)

200
180
160
140
120
100

Descope
80

Release date
60
40
20
0
Sprints -> 1 2 3 4 5 6 7 8 9 10 11
Work remaining

25
Burndown chart with added scope
Story points

200
180
160 Velocity = 20
140
120

Release date
100
80
60
40 ->
Sprints

20
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14
Work remaining Work added

26
Daily Scrum (ceremony)
Daily, 15-minutes, ideally
in the morning
Stand-up (and no leaning!)
Whole world is invited, but
only team members,
Scrum Master, product
owner, can talk (Chickens
Everyone
& Pigs) answers 3 questions:
What did you do yesterday?
What will you do today?
Is anything in your way?
Not for problem solving (instead: committing to peers)
By focusing on what each person accomplished yesterday and will
accomplish today the team gains an excellent understanding of
what work has been done and what work remains.

27
Scrum board

28
Sprint review meeting

Team presents what it accomplished during the sprint


Typically takes the form of a demo of new features or underlying
architecture
Informal
2-hour prep time rule
No slides
Whole team participates

29
Sprint retrospective
Whiteboard

Good Bad Ugly


If we could redo the same sprint If we could redo the same sprint If we could redo the same sprint
again, we would do these things again, we would do these things again, we would not do these
the same way. differently. things at all.

Post-it Post-it Post-it

Post-it Post-it
Post-it

Post-it Post-it Post-it

The entire team, including both the Scrum master and the product
owner should participate.

30
SAP Agile
ASAP 7 Acceleration Add-On
Final
Prep Business Blueprint Realization Release 1 Go-Live Run
Prep
Working
Project Backlog Realization Release 2
Software
Rank Eff.
16 4
Release 2
15 5

Woul
14 1 Sprin

d
13 8 t
12 2 Spri
11 7

Coul
nt

d
10 3
4
Prep Spri
09
Business Priority

Release 1 08 2 . nt

Should
07 2 Final
06 4 Sprint IT Prep. Support
Checkpoint

Checkpoint

Checkpoint
Business Process Agility

05 3
Setting the scene

04 3 Sprint
Sprint
03 6
Must

organization ready
Workshop

02 4 Sprint
Sprint
01 5

Getting the
Evaluate

Accelerators
Time
Project Prep.

& Sol.Archit.

Evaluation
Process WS

& Release

Sign-Off
Baseline

Planing

Go Live
Build

Demo
Demo

Demo

Demo

Demo
Data Management
Organizational Change Mangement
SAP Agile
ASAP 7 Acceleration Add-On
Final
Prep Business Blueprint Realization Release 1 Go-Live Run
Prep
Working
Project Backlog Realization Release 2
Software
Rank Eff.
16 4
Release 2
15 5

Woul
14 1 Sprin

d
13 8 t
12 2 Spri
11 7

Coul
nt

d
10 3
4
Prep Spri
09
Business Priority

Release 1 08 2 . nt

Should
07 2 Final
06 4 Sprint IT Prep. Support
Checkpoint

Checkpoint

Checkpoint
Business Process Agility

05 3
Setting the scene

04 3 Sprint
Sprint
03 6
Must

organization ready
Workshop

02 4 Sprint
Sprint
01 5

Getting the
Evaluate

Accelerators
Time
Project Prep.

& Sol.Archit.

Evaluation
Process WS

& Release

Sign-Off
Baseline

Planing

Go Live
Build

Demo
Demo

Demo

Demo

Demo
Data Management
Organizational Change Mangement
SAP Agile
ASAP 7 Acceleration Add-On
Final
Prep Business Blueprint Realization Release 1 Go-Live Run
Prep
Working
Project Backlog Realization Release 2
Software
Rank Eff.
16 4
Release 2
15 5

Woul
14 1 Sprin

d
13 8 t
12 2 Spri
11 7

Coul
nt

d
10 3
4
Prep Spri
09
Business Priority

Release 1 08 2 . nt

Should
07 2 Final
06 4 Sprint IT Prep. Support
Checkpoint

Checkpoint

Checkpoint
Business Process Agility

05 3
Setting the scene

04 3 Sprint
Sprint
03 6
Must

organization ready
Workshop

02 4 Sprint
Sprint
01 5

Getting the
Evaluate

Accelerators
Time
Project Prep.

& Sol.Archit.

Evaluation
Process WS

& Release

Sign-Off
Baseline

Planing

Go Live
Build

Demo
Demo

Demo

Demo

Demo
Data Management
Organizational Change Mangement
SAP Agile
ASAP 7 Acceleration Add-On
Final
Prep Business Blueprint Realization Release 1 Go-Live Run
Prep
Working
Project Backlog Realization Release 2
Software
Rank Eff.
16 4
Release 2
15 5

Woul
14 1 Sprin

d
13 8 t
12 2 Spri
11 7

Coul
nt

d
10 3
4
Prep Spri
09
Business Priority

Release 1 08 2 . nt

Should
07 2 Final
06 4 Sprint IT Prep. Support
Checkpoint

Checkpoint

Checkpoint
Business Process Agility

05 3
Setting the scene

04 3 Sprint
Sprint
03 6
Must

organization ready
Workshop

02 4 Sprint
Sprint
01 5

Getting the
Evaluate

Accelerators
Time
Project Prep.

& Sol.Archit.

Evaluation
Process WS

& Release

Sign-Off
Baseline

Planing

Go Live
Build

Demo
Demo

Demo

Demo

Demo
Data Management
Organizational Change Mangement
SAP Agile
ASAP 7 Acceleration Add-On
Final
Prep Business Blueprint Realization Release 1 Go-Live Run
Prep
Working
Project Backlog Realization Release 2
Software
Rank Eff.
16 4
Release 2
15 5

Woul
14 1 Sprin

d
13 8 t
12 2 Spri
11 7

Coul
nt

d
10 3
4
Prep Spri
09
Business Priority

Release 1 08 2 . nt

Should
07 2 Final
06 4 Sprint IT Prep. Support
Checkpoint

Checkpoint

Checkpoint
Business Process Agility

05 3
Setting the scene

04 3 Sprint
Sprint
03 6
Must

organization ready
Workshop

02 4 Sprint
Sprint
01 5

Getting the
Evaluate

Accelerators
Time
Project Prep.

& Sol.Archit.

Evaluation
Process WS

& Release

Sign-Off
Baseline

Planing

Go Live
Build

Demo
Demo

Demo

Demo

Demo
Data Management
Organizational Change Mangement
SAP Agile
ASAP 7 Acceleration Add-On
Final
Prep Business Blueprint Realization Release 1 Go-Live Run
Prep
Working
Project Backlog Realization Release 2
Software
Rank Eff.
16 4
Release 2
15 5

Woul
14 1 Sprin

d
13 8 t
12 2 Spri
11 7

Coul
nt

d
10 3
4
Prep Spri
09
Business Priority

Release 1 08 2 . nt

Should
07 2 Final
06 4 Sprint IT Prep. Support
Checkpoint

Checkpoint

Checkpoint
Business Process Agility

05 3
Setting the scene

04 3 Sprint
Sprint
03 6
Must

organization ready
Workshop

02 4 Sprint
Sprint
01 5

Getting the
Evaluate

Accelerators
Time
Project Prep.

& Sol.Archit.

Evaluation
Process WS

& Release

Sign-Off
Baseline

Planing

Go Live
Build

Demo
Demo

Demo

Demo

Demo
Data Management
Organizational Change Mangement
SAP Agile
ASAP 7 Acceleration Add-On
Final
Prep Business Blueprint Realization Release 1 Go-Live Run
Prep
Working
Project Backlog Realization Release 2
Software
Rank Eff.
16 4
Release 2
15 5

Woul
14 1 Sprin

d
13 8 t
12 2 Spri
11 7

Coul
nt

d
10 3
4
Prep Spri
09
Business Priority

Release 1 08 2 . nt

Should
07 2 Final
06 4 Sprint IT Prep. Support
Checkpoint

Checkpoint

Checkpoint
Business Process Agility

05 3
Setting the scene

04 3 Sprint
Sprint
03 6
Must

organization ready
Workshop

02 4 Sprint
Sprint
01 5

Getting the
Evaluate

Accelerators
Time
Project Prep.

& Sol.Archit.

Evaluation
Process WS

& Release

Sign-Off
Baseline

Planing

Go Live
Build

Demo
Demo

Demo

Demo

Demo
Data Management
Organizational Change Mangement
SAP Agile
ASAP 7 Acceleration Add-On
Final
Prep Business Blueprint Realization Release 1 Go-Live Run
Prep
Working
Project Backlog Realization Release 2
Software
Rank Eff.
16 4
Release 2
15 5

Woul
14 1 Sprin

d
13 8 t
12 2 Spri
11 7

Coul
nt

d
10 3
4
Prep Spri
09
Business Priority

Release 1 08 2 . nt

Should
07 2 Final
06 4 Sprint IT Prep. Support
Checkpoint

Checkpoint

Checkpoint
Business Process Agility

05 3
Setting the scene

04 3 Sprint
Sprint
03 6
Must

organization ready
Workshop

02 4 Sprint
Sprint
01 5

Getting the
Evaluate

Accelerators
Time
Project Prep.

& Sol.Archit.

Evaluation
Process WS

& Release

Sign-Off
Baseline

Planing

Go Live
Build

Demo
Demo

Demo

Demo

Demo
Data Management
Organizational Change Mangement
Thank you

39
References (thanks):
SAP Agile Training WNLSA 2011
Review & Analysis Agile Software Development Methods 2002 (link)
Standish Group CHAOS reports
The Crisis in Software: The Wrong Process Produces the Wrong Results (link)
MountainGoatSoftware website (link)
Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software
Development with Scrum by Ken Schwaber and Mike Beedle.
Dilbert.com
Google Images