overcoming waterfallacies & agilephobias

43
Transitioning to Agile: Overcoming Waterfallacies and Agilephobias Mike Cohn May 15, 2007 1

Upload: mike-cohn

Post on 01-Nov-2014

312 views

Category:

Business


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Overcoming Waterfallacies & Agilephobias

Transitioning to Agile: Overcoming Waterfallaciesand Agilephobias

Mike CohnMay 15, 2007

1

Page 2: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

1. Why transitioning to agile is hard2. A framework for transitioning3. Overcoming waterfallacies and

agilephobias

Topics today...

2

Page 3: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Why Transitioning

to Agile Is Hard

3

Page 4: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Three reasons1

Change is not top-down or bottom-up; it’s both

3The transition process must be congruent with the development process

2We fall into the predictability trap

4

Page 5: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Top down or bottom up?Two simplistic views of transitioning to agile:

Top downPowerful leader shares a vision

Bottom-up

new approach

But, transitioning to agile is neither top-down nor bottom-up

It’s everywhere, all together, all-at-once

1

5

Page 6: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

How we traditionally view our organizationsBehavior is highly predictable

Once set in motion, will continue in motion

Predictable

An organization change strategy can be mapped out:

And we’ll end up right where I predict

Dispense with predictability2

6

Page 7: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

“This machine imagery [Newtonian view] leads to the belief that studying the parts is the key to understanding the whole. Things are taken apart, dissected literally or

is that the more we know about the workings of each piece, the more we will learn about the whole.”

~Margaret Wheatleyin Leadership and the New Science

7

Page 8: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

What we do on projectsOn projects we learn we cannot precisely anticipate:

our users’ requirementshow long it will take to develop a feature or entire systemwhich design will be bestthe set of tasks necessary to develop a feature

So we devise alternative approachesRather than ask for upfront specs, we deliver partial solutions, solicit feedback, and repeat

Rather than design the whole system, we design incrementally and adjust based on what we learn

We need to do the same for the transition effort

8

Page 9: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Use a congruent approach3

Part of the move to agile is a move to

self-organizing teams

Moving to self-organization requires

self-organization

“You will self-organize!”

9

Page 10: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

A Frameworkfor

Transitioning

10

Page 11: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

An agile process

Cancel

Gift wrap

Return

Iteration2-4 weeks

Return

Iteration goal

Iteration backlog

Potentially shippableproduct increment

Productbacklog

Gift wrap

Coupons

Cancel

Daily

...

...

...

Transitionbacklog

...

Iterationmonthly

Weekly

Alteredorganization

An agile transition process

11

Page 12: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Activities to support the goals

Quarterly Monthly

3-4 goals

Decide how pervasive to go with agile—development only or full company

All

Identify which issues agile can solve or help with. DF

Transitionbacklog

Weekly

Discuss progressRemove impediments

Meet weekly to execute, monthly to plan,

quarterly to strategize

12

Page 13: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Treat the transition as a project

Establish an “Agile Transition Team” (“Agile Adoption Team,” etc.)

Who?Sponsor—senior person responsible for success

Area managers or leads who can make it happen

Meet weekly

Run monthly iterations managing work from a Transition Backlog

Run a quarterly cycle like the release cycle on an agile project

13

Page 14: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

OvercomingWaterfallacies

14

Page 15: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Waterfallacynoun.mistaken belief or idea about agile that stems from prolonged exposure to waterfall projects

15

Page 16: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

and a commitment to what will be in the product.

1

Is the answer just to under-commit and then deliver more

than expected?

16

Page 17: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Knowing the scope and dateIt’s always been impossible to know both the scope and the date of a project

The vast majority of waterfall projects get this wrong, too

so by either padding or lyingIf we acknowledge the impossibility of guaranteeing functionality and date

17

Page 18: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Knowing the scope and dateIt’s always been impossible to know both the scope and the date of a project

The vast majority of waterfall projects get this wrong, too

And then end up delivering too little of the wrong functionality

both do so by either padding or lying

18

Page 19: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

1. acknowledge the impossibility of guaranteeing functionality and date

2.risk management

If we...

And use the same principles on non-contracted projects that have a similar need for a low risk of dropped scope or schedule overrun

Then we...

19

Page 20: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Fixed-date planning: an exampleDesired

release date 30 June

Today’s Date 1 January

Number of sprints 6 (monthly)

Lowvelocity 15

Highvelocity 20

6×15

6×20

Will have

Might have

Won’t have

20

Page 21: Overcoming Waterfallacies & Agilephobias

Fixed-date contracting

6×15

6×20

Will have

Might have

Won’t have

You won’t likely win the contractBut you’ll probably make money if you do

If you write a contractfor just the will haves:

You will likely win the contractBut probably not make money on it

If you write a contract thatincludes the might haves:

It’s a risk issue

Where do you want to be?

21

Page 22: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Fixed-scope planning: an exampleTotal story points desired 120

Low velocity 15

High velocity 20

120÷20=

120÷15=

22

Page 23: Overcoming Waterfallacies & Agilephobias

Fixed-scope contracting

You’ll likely win the contractBut may not make any money

If you write a contractfor the short duration:

You probably won’t win the contractBut will make money if you

If you write a contractfor the long duration:

It’s a risk issue

Where do you want to be?

23

Page 24: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

The value of customer feedback

projects harder

Because it acknowledges

the importance of customer feedback

and the existence of emergent requirements

Sequential processes treat these as changes of scope

24

Page 25: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Agile requires our testers to be involved and testing right from the start. But they’re tied up on

other projects.

2

We can’t move to agile because we can’t move testers from

these other projects.

25

Page 26: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Agile is not a silver bulletDoesn’t solve a single problem you have, only exposes the problems you do haveHopefully exposes these problems to those who can solve themBy repeatedly solving the problems you identify, things improveAgile is hard work

There will be days you wonder why you’re doing this

26

Page 27: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Digging out of this problem

do so

Perhaps just enough to move some small number of testers (1?) to the new project

Have the new project run cross-functionally

Whole team does whatever it takes to pay off the testing debt

Rule from day one: On new projects don’t allow any new debt to build up

27

Page 28: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Agile requires everyone to be a generalist.

3

That isn’t cost-effective and doesn’t make sense for my

project. Some of what we do is highly specialized.

28

Page 29: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Everyone must be a generalist

outWhy can’t we?

Not everyone needs to be a generalist

people; “generalizing specialists”

This happens naturally on most agile teams because of their cross-functional composition

Some domains require specialistsbioinformatics, video game development, etc.

29

Page 30: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

We work in distributed environment, frequently with some team members in India, China, or the Ukraine. Self-organization seems to clash

with some cultures.

4

How will agile development work in these environments?

30

Page 31: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Self-organization around the world

I suspect it’s true that that self-organizing teams in the different countries will organize differently

organization

Self-organization relies onContainer (in which to organize)

Differences (among people)

Transforming Exchanges

Self-organization leads to more creativity, ownership, productivity, engagement

31

Page 32: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Agile relies primarily on face-to-face communication. Our

projects are distributed across many time zones. And many people choose to work from

home.

5

How does this work with agile?

32

Page 33: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Multi-site agileWe rarely choose to highly distribute a project for

We do it for cost or because of mergers and similar reasons

Working from home is detrimental to the short-term progress of the project

But may be necessary for the long-term success (e.g., it’s a recruiting tool)

Experiment: Is it better to all be at home one day per week or all on different days?

33

Page 34: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Encourage face-to-face communication

Do whatever you can to have as much face-to-face communication as possible

Videoconference > phone > email

Fly people together at the start of the project

Send three people from one to the other

Get people together for iteration planning meetings and reviews

34

Page 35: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

I’m afraid I’ll have nothing to do

I’m afraid I’l lose my job

I’m afraid people will see how little I actually do

I’m afraid I won't be able to keep up

I’m afraid I won’t be able to learn the new software

I’m afraid this will mean hard work

Agilephobianoun.strong fear or dislike of agile, usually due to the uncertainty of change

35

Page 36: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

More agilephobiasI’m afraid I won’t get raises or promotions anymore

Drat! There go my 3-hour lunches

Drat! This means I can’t mosey in at 10:30 anymore

Drat! This means I’ll have to actually think now

Drat! This means I’ll actually have to talk to people now

It’s just so much easier and safer when someone else tells me exactly what to do

Its just so much easier and safer when I can tell them exactly what I want them to do

36

Page 37: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Overcoming agilephobiasBeing aware of what people fear is half the challenge

Acknowledge these agilephobias and over time work to have solutions for them

Over time people will lose their fear of losing their job

But will likely still need revised job descriptions in an agile enterprise

37

Page 38: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Mike Cohn contact [email protected]

www.mountaingoatsoftware.com

(303) 810-2190 (mobile)

38

Page 39: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Agile puts a lot of emphasis on unit testing. I’m not

working on a legacy application (yet!) but we are nine-months in and haven’t made automated testing a

priority.

6

Can we still be agile?

39

Page 40: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Agile without a lot of tests in place

Two most important principles of agile:

1. Inspect and Adapt

2. Iterate

Start where you are, do something, see how you did

And then do it again until you get to where you want to be

40

Page 41: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

A three-step process1

We end this iteration with less manual testing than we started.Go after the “low-hanging fruit” by automating some easy-to-automate tests of great value.

2All new features come with automated tests.

3Everything (maybe, we hope) has an automated test.

41

Page 42: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

200

300

400

500

1 2 3 4 5 6 7

Months (Iterations)

Hou

rs o

f Man

ual T

estin

g

42

Page 43: Overcoming Waterfallacies & Agilephobias

© Mountain Goat Software, LLC

Mike Cohn contact [email protected]

www.mountaingoatsoftware.com

(303) 810-2190 (mobile)

43