what's agile ? introduction to agile methods

47
What's Agile ? Introduc5on to Agile methods Agile Tour Brussels 2014 www.atbru.be www.agiletour.org 05/11/10

Upload: bruno-sbille

Post on 06-Jul-2015

782 views

Category:

Education


3 download

DESCRIPTION

Session at Agile Tour Brussels 2014 #atbru

TRANSCRIPT

Page 1: What's Agile ? Introduction to Agile methods

What's  Agile  ?    Introduc5on  to  Agile  

methods    

Agile  Tour  Brussels  2014  www.atbru.be  

www.agiletour.org  05/11/10

Page 2: What's Agile ? Introduction to Agile methods

Introduc5on  

Many  of  the  coming  slides  are  the  property  of  Henrik  Kniberg.    Please  visit  his  blog  hIp://blog.crisp.se/author/henrikkniberg    

www.agiletour.org  

Page 3: What's Agile ? Introduction to Agile methods

3 Henrik Kniberg 3

Page 4: What's Agile ? Introduction to Agile methods

Objec5ves  of  this  session  

•  You  understand  “what’s  Agile”  enough  to  choose  wisely  your  next  sessions  today  

Page 5: What's Agile ? Introduction to Agile methods

5

Most IT projects don’t succeed

Henrik Kniberg 5

IT project success rate 1994: 15% Average cost & time overrun: ≈170%

IT project success rate 2004: 34%

Average cost & time overrun: ≈70%

The Standish Group has studied over 40,000 projects in 10 years.

Sources: http://www.softwaremag.com/L.cfm?Doc=newsletter/2004-01-15/Standish http://www.infoq.com/articles/Interview-Johnson-Standish-CHAOS

Plan: €1,000,000

Actual: €2,700,000

Plan: €1,000,000

Actual: €1,700,000

Page 6: What's Agile ? Introduction to Agile methods

6

We tend to build the wrong thing

Henrik Kniberg 6 6

Sources: Standish group study reported at XP2002 by Jim Johnson, Chairman

Always 7%

Often 13%

Some-times 16%

Rarely 19%

Never 45%

Features and functions used in a typical system

Half of the stuff we build is

never used!

Cos

t # of features

This graph courtesy of Mary Poppendieck

Page 7: What's Agile ? Introduction to Agile methods

7

Many SW projects are like a cannon ball

Henrik Kniberg

Assumptions:   The customer knows what he wants   The developers know how to build it   Nothing will change along the way

Page 8: What's Agile ? Introduction to Agile methods

8

Agile is like a homing missile

Henrik Kniberg

Assumptions:   The customer discovers what he wants   The developers discover how to build it   Things change along the way

Principle #2: Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

Page 9: What's Agile ? Introduction to Agile methods

9 Henrik Kniberg 9

Agile Manifesto www.agilemanifesto.org

We are uncovering better ways of developing software by doing it and helping others do it.

Through this work we have come to value:

Individuals and interactions over processes and tools Individer och interaktioner framför processer och verktyg

Working software over comprehensive documentation Fungerande programvara framför omfattande dokumentation

Customer collaboration over contract negotiation Kundsamarbete framför kontraktsförhandling

Responding to change over following a plan Anpassning till förändring framför att följa en plan

That is, while there is value in the items on the right, we value the items on the left more.

Page 10: What's Agile ? Introduction to Agile methods

10

Principles behind the Agile Manifesto   Our highest priority is to satisfy the

customer through early and continuous delivery of valuable software.

  Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.

  Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.

  Business people and developers must work together daily throughout the project.

  Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.

  The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.

  Working software is the primary measure of progress.

  Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

  Continuous attention to technical excellence and good design enhances agility.

  Simplicity--the art of maximizing the amount of work not done--is essential.

  The best architectures, requirements, and designs emerge from self-organizing teams.

  At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.

Page 11: What's Agile ? Introduction to Agile methods

11

Agile ”umbrella”

Sources: 3rd Annual ”State of Agile Development” Survey June-July 2008 •  3061 respondents •  80 countries

Scrum XP

DSDM FDD

Crystal

Kanban

Page 12: What's Agile ? Introduction to Agile methods

12

Scrum in a nutshell

12

Page 13: What's Agile ? Introduction to Agile methods

13

A

Henrik Kniberg

C D

Timeboxing A

Plan

Traditional scenario

Agile scenario

Week 1 Week 2 Week 3 Week 4

B

C D A

Week 1 Week 2 Week 3 Week 4

B

Week 5 Week 6 Week 7 Week 8

A

Week 1 Week 2 Week 3 Week 4

B

Week 5 Week 6

A B

”We will deliver ABCD in 4 weeks”

”We always deliver something every sprint (2 weeks)” ”We think we can finish ABCD in 4 weeks, but we aren’t sure” ”We always deliver the most important items first”

(doomed to fail, but we don’t know it yet)

Oops, we’re late.

Oops, our velocity is lower than we thought. It looks like we’ll only finish AB by week 4.

What should we do now?

Scope

Cost Time

Quality

Scope

Cost Time

Quality

X X X

E

Page 14: What's Agile ? Introduction to Agile methods

14

Typical sprint

Week 1 Week 2 Week 3

Timeline

Iteration1

Sprint-planning

Demo/Review Retrospective

Product Backlog

Daily Scrum

release 1.3.0 PO

Sprint plan (Task board / Scrum board)

Henrik Kniberg

Burndown

Unplanned items

Notchecked out Done! :o)

Write failing test

DAO

DB design

Integr test

Migration tool

Write failing test

GUI spec

Tapestry spike

Impl. migration

2d

Code

cleanup

Deposit

2d1d 0.5d1d

2d

8d

1d 2d

2d

BackofficeLogin

BackofficeUser admin

Write failing test

3d

2d

1d2d

Impl GUI

1dIntegr. with

JBoss2d

Write failing test3d

Impl GUI

6d

Clarify require-ments2d

GUI design (CSS)1d

Fix memory leak

(JIRA 125)2d

Sales support

3d Write whitepaper4d

SPRINT GOAL:Beta-ready release!

Next

Withdraw

Perf test

Withdraw

checked out

Write failing test

Page 15: What's Agile ? Introduction to Agile methods

15

Product owner -  Vision: Where are we going & why? -  Priorities & tradeoffs -  Release planning

Henrik Kniberg 15

Scrum overview – structure

PO SM

Users

Stakeholders

Helpdesk

Operations

Management

Product Backlog

Sprint Backlog

... etc ...

Team

Direct communication

Scrum Master -  Process leader/coach -  Impediment remover

Cross-functional, self-organizing Team -  How much to pull in -  How to build it -  Quality -  Sustainable pace

Page 16: What's Agile ? Introduction to Agile methods

16

Product backlog & user stories

16

Page 17: What's Agile ? Introduction to Agile methods

17

V V

Balance the product backlog

V

Too big items? Too many items? Balanced

Page 18: What's Agile ? Introduction to Agile methods

18

As a booker I want to receive notifications when new available slots appear in the calendar so that I don't have to keep checking manually

Henrik Kniberg 18

Product backlog

Product Backlog

Product vision

As a <stakeholder> I want <what> so that <why>

As a buyer I want to save my shopping cart so that I can continue shopping later

(... etc ...)

Definition of Done •  Releasable

•  User Acceptance tested •  Merged to Trunk •  release notes written •  No increased

technical debt

= I haven’t messed up the codebase

GUI

Client

Server

DB

Page 19: What's Agile ? Introduction to Agile methods

19

User story

Henrik Kniberg 19

Independent Negotiable Valuable Estimable Small Testable Acronym courtesy of Bill Wake – www.xp123.com

As a <stakeholder> I want <what> so that <why>

How to demo: 1)  Enter store 2)  Put a book in shopping cart 3)  Press ”save cart” 4)  Leave store, and enter it again 5)  Check that the book is in my cart

As a buyer I want to save my shopping cart so that I can continue shopping later

8

A B C

C

GUI

Client

Server

DB schema

Page 20: What's Agile ? Introduction to Agile methods

20

Estimating

20

Page 21: What's Agile ? Introduction to Agile methods

21

How estimates are affected by specification length

2007-09-28

117 hrs 173 hrs

Spec Same spec – more pages

Source: How to avoid impact from irrelevant and misleading info on your cost estimates, Simula research labs estimation seminar, Oslo, Norway, 2006

Page 22: What's Agile ? Introduction to Agile methods

22

How estimates are affected by irrelevant information

2007-09-28

20 hrs

Spec 1 A

B C

Same spec + irrelevant details

A B

C

39 hrs

Source: How to avoid impact from irrelevant and misleading info on your cost estimates, Simula research labs estimation seminar, Oslo, Norway, 2006

Page 23: What's Agile ? Introduction to Agile methods

23

How estimates are affected by anchoring

2007-09-28

456 hrs

Spec

500 hrs Never mind me

Same spec

555 hrs

50 hrs Never mind me

Same spec

99 hrs

Source: How to avoid impact from irrelevant and misleading info on your cost estimates, Simula research labs estimation seminar, Oslo, Norway, 2006

Page 24: What's Agile ? Introduction to Agile methods

24

Velocity

Henrik Kniberg 24

Sprint 1 Sprint 2 Sprint 3

Likely future velocity: 7-9 per sprint

2 2 3

1 2 3 1 1 2 2 1

1 1 2

V= 8 V= 7 V= 9

Page 25: What's Agile ? Introduction to Agile methods

25 2007-09-28

Release planning – fixed date •  Today is Aug 6 •  Sprint length = 2 weeks •  Velocity = 30 - 40

(10 sprints)

300

400 PO What will be done

by X-mas?

Scope

Cost Time

Quality

Page 26: What's Agile ? Introduction to Agile methods

26

What have we learned?

Henrik Kniberg 26

“Doing projects with iterative processes as opposed to the waterfall method, which called for all project requirements to be defined up front, is a major step forward.”

IT project success rate 1994: 15% Average cost & time overrun: ≈170%

IT project success rate 2004: 34% Average cost & time overrun: ≈70%

“The primary reason [for the improvement] is that projects have gotten a lot smaller.”

Jim Johnson Chairman of Standish Group

Top 5 reasons for success 1.  User involvement 2.  Executive management support 3.  Clear business objectives 4.  Optimizing scope 5.  Agile process

Sources: http://www.softwaremag.com/L.cfm?Doc=newsletter/2004-01-15/Standish http://www.infoq.com/articles/Interview-Johnson-Standish-CHAOS ”My Life is Failure”, Jim Johnson’s book

Scope

Cost Time

Quality

Page 27: What's Agile ? Introduction to Agile methods

27 Henrik Kniberg 27

Page 28: What's Agile ? Introduction to Agile methods

QUIZZ !

50:50

Page 29: What's Agile ? Introduction to Agile methods

10 9 8 7 6 5 4 3 2

$1 Million $500,000 $250,000 $125,000 $60,000 $30,000 $15,000 $7,500 $3,000

1 $1,000

Page 30: What's Agile ? Introduction to Agile methods

B: It’s a receipt to apply to improve your productivity

What is Agile all about ?

A: It’s a magical methodology. Juste apply it and success is here

C: I don’t like this game, please show me more Powerpoint slides !

D: It’s more a direction to follow, not a place to reach

10 9 8 7 6 5 4 3 2

$1 Million $500,000 $250,000 $125,000 $60,000 $30,000 $15,000 $7,500 $3,000

1 $1,000

50:50

AGILE

Page 31: What's Agile ? Introduction to Agile methods

B: It’s a receipt to apply to improve your productivity

What is Agile all about ?

A: It’s a magical methodology. Juste apply it and success is here

C: It’s more a direction to follow, not a place to reach

D: It’s more a direction to follow, not a place to reach

10 9 8 7 6 5 4 3 2

$1 Million $500,000 $250,000 $125,000 $60,000 $30,000 $15,000 $7,500 $3,000

1 $1,000

50:50

AGILE

Page 32: What's Agile ? Introduction to Agile methods

10 9 8 7 6 5 4

$1 Million $500,000 $250,000 $125,000 $60,000 $30,000 $15,000

1 $1,000 2 $3,000 3 $7,500

Page 33: What's Agile ? Introduction to Agile methods

B: Always have a fixed Scope

D: We do first analysis, then dev, then test

Agile is an iterative process, that means…

A: We don’t fix anything

C: Don’t try to get it all right from the beginning

10 9 8 7 6 5 4

$1 Million $500,000 $250,000 $125,000 $60,000 $30,000 $15,000

1 $1,000 2 $3,000 3 $7,500

50:50

Iterative

Page 34: What's Agile ? Introduction to Agile methods

10 9 8 7 6 5 4

$1 Million $500,000 $250,000 $125,000 $60,000 $30,000 $15,000

1 $1,000 2 $3,000 3 $7,500

50:50

A: We don’t fix anything B: Always have a fixed Scope

D: We do first analysis, then dev, then test

C: Don’t try to get it all right from the beginning

Iterative

Agile is an iterative process, that means…

Page 35: What's Agile ? Introduction to Agile methods

10 9 8 7 6

$1 Million $500,000 $250,000 $125,000 $60,000

1 $1,000 2 $3,000 3 $7,500 4 $15,000 5 $30,000

Page 36: What's Agile ? Introduction to Agile methods

B: Having a good lawyer

D: Optimizing Scope of the project

What’s the top 1 reason for the success of a project

C: A good technical team

A: User involvment

10 9 8 7 6

$1 Million $500,000 $250,000 $125,000 $60,000

1 $1,000 2 $3,000 3 $7,500 4 $15,000 5 $30,000

50:50

Success

Page 37: What's Agile ? Introduction to Agile methods

10 9 8 7 6

$1 Million $500,000 $250,000 $125,000 $60,000

1 $1,000 2 $3,000 3 $7,500 4 $15,000 5 $30,000

50:50

A: User involvment

What’s the top 1 reason for the success of a project

Success

B: Having a good lawyer

D: Optimizing Scope of the project

C: A good technical team

Page 38: What's Agile ? Introduction to Agile methods

10 9 8

$1 Million $500,000 $250,000

1 $1,000 2 $3,000 3 $7,500 4 $15,000 5 $30,000 6 $60,000 7 $125,000

Page 39: What's Agile ? Introduction to Agile methods

B: Estimation is easy if you are an expert

D: Just ask them when it will be done !

Agile estimating means

A: How many man-days do we need to finish the project ?

C: Relative estimates -> Velocity -> Then derive a plan

10 9 8

$1 Million $500,000 $250,000

1 $1,000 2 $3,000 3 $7,500 4 $15,000 5 $30,000 6 $60,000 7 $125,000

50:50

Estimation

Page 40: What's Agile ? Introduction to Agile methods

10 9 8

$1 Million $500,000 $250,000

1 $1,000 2 $3,000 3 $7,500 4 $15,000 5 $30,000 6 $60,000 7 $125,000

50:50

Agile estimating means

Estimation

B: Estimation is easy if you are an expert

D: Just ask them when it will be done !

C: Relative estimates -> Velocity -> Then derive a plan

A: How many man-days do we need to finish the project ?

Page 41: What's Agile ? Introduction to Agile methods

10 $1 Million

1 $1,000 2 $3,000 3 $7,500 4 $15,000 5 $30,000 6 $60,000 7 $125,000 8 $250,000 9 $500,000

Page 42: What's Agile ? Introduction to Agile methods

D: I still can’t understand your English dude…

What’s a retrospective ?

A: It’s when we demonstrate the final product to the stakeholders

C: When we discuss how much we can put in a Sprint

B: The moment where an Agile team work on his continuous improvement

10 $1 Million

1 $1,000 2 $3,000 3 $7,500 4 $15,000 5 $30,000 6 $60,000 7 $125,000 8 $250,000 9 $500,000

50:50

Retrospective

Page 43: What's Agile ? Introduction to Agile methods

10 $1 Million

1 $1,000 2 $3,000 3 $7,500 4 $15,000 5 $30,000 6 $60,000 7 $125,000 8 $250,000 9 $500,000

50:50

D: I still can’t understand your English dude…

A: It’s when we demonstrate the final product to the stakeholders

C: When we discuss how much we can put in a Sprint

B: The moment where an Agile team work on his continuous improvement

What’s a retrospective ?

Retrospective

Page 44: What's Agile ? Introduction to Agile methods

1 $1,000 2 $3,000 3 $7,500 4 $15,000 5 $30,000 6 $60,000 7 $125,000 8 $250,000 9 $500,000 10 $1 Million

Page 45: What's Agile ? Introduction to Agile methods

F: You know what… I like your game AND your accent !

Which answers are Agile methods ?

C: Scrum

E: XP: eXtreme Programming

D: KanBan

1 $1,000 2 $3,000 3 $7,500 4 $15,000 5 $30,000 6 $60,000 7 $125,000 8 $250,000 9 $500,000 10 $1 Million Agile methods

A: PMI B: Prince2

Page 46: What's Agile ? Introduction to Agile methods

1 $1,000 2 $3,000 3 $7,500 4 $15,000 5 $30,000 6 $60,000 7 $125,000 8 $250,000 9 $500,000 10 $1 Million

Which answers are Agile methods ?

Agile methods

C: Scrum

A: PMI

D: KanBan

B: Prince2

F: You know what… I like your game AND your accent !

E: XP: eXtreme Programming

Page 47: What's Agile ? Introduction to Agile methods

Congratulations!

You are now (Almost) An Agilist!

Congratulations! Congratulations!