+ All Categories
Home > Business > Succeeding with Agile

Succeeding with Agile

Date post: 01-Nov-2014
Category:
Upload: mike-cohn
View: 479 times
Download: 9 times
Share this document with a friend
Description:
 
Popular Tags:
50
Succeeding With Agile: A Guide to Transitioning Mike Cohn 1
Transcript
Page 1: Succeeding with Agile

Succeeding With Agile:A Guide to Transitioning

Mike Cohn

1

Page 2: Succeeding with Agile

Founding member and director of Agile Alliance and Scrum AllianceFounder of Mountain Goat SoftwareRan my first Scrum project in 1995Typical programmer to

manager etc. progression

Agile coachand trainer

Mike Cohn - background

® © 2003–2008 Mountain Goat Software®

2

Page 3: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

1. Why transitioning to agile is hard2. ADAPTing to agile development3. A framework for transitioning4. The role of leaders5. Patterns of agile adoption

Topics today...

3

Page 4: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Why Transitioning

to Agile Is Hard

4

Page 5: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

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

Two simplistic views of change:Top down

Powerful 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

5

Page 6: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

It is tempting to codify things that work in a given context into best practices

Once we know what’s “best” we stop adapting

Or even thinking about what we’re doing

Once we’ve stopped inspecting and adapting we’re not agile, or won’t be for long

2Best practices are tempting

†Source: Anderson, P. “Seven Layers for Guiding the Evolving Enterprise” in The Biology of Business.

6

Page 7: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

3The transition process must be congruent with the development process

Part of the move to agile is a move to self-

organizing teams

Moving to self-organization requires

self-organization

Write Feature 1Write Feature 2

Self-organize

7

Page 8: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

4 We cannot predict how an organization will respond to change

How we traditionally view our organizations:Behavior is highly predictable

Once set in motion, will continue in motion

An organization change strategy can be mapped out:

And we’ll end up right where I predict

8

Page 9: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

“From a very early age, we are taught to break apart problems, to fragment the world. This apparently makes complex tasks and subjects more manageable, but we pay a hidden, enormous price. We can no longer see the consequences of our actions; we lose our intrinsic sense of connection to a larger whole. When we try to ‘see the big picture,’ we try to reassemble the fragments in our minds, to list and organize all the pieces. But, as physicist David Bohm says, the task is futile—similar to trying to reassemble

Thus, after awhile we give up trying to see the whole altogether.”

Peter Senge, The Fifth Discipline

9

Page 10: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

“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

10

Page 11: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

The Newtonian view leads to thinking of change like this

Current State

Desired State

AssessmentGap

Analysis Plan

Vision

11

Page 12: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

We need a different mental modelThe organization as a Complex Adaptive System (CAS)

John Holland in Complexity: The Emerging Science at the Edge of Order and Chaos by Mitchell Waldrop

A dynamic network of many agentsacting in parallelacting and reacting to what other agents are doing

Control is highly dispersed and decentralizedOverall system behavior is the result of a huge number of decisions made constantly by many agents

12

Page 13: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Differing views of success

Success =closing the gap with the desired state

Newtonian view

Success =

the environment

CAS view

13

Page 14: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Local goals and gapsLocal agents (individuals, project teams, discipline coworkers) identify local gaps based on their local goals

Vision

Current State

Local actions

Inspect

Desired State

Current State

Local actions

Inspect

Desired State

Current State

Local actions

Inspect

Desired State

14

Page 15: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Traditional model of change

Complex, adaptive model of change

Behavior is predictable and controllable

Behavior is unpredictable and uncontrollable

Direction is determined by a few leaders.

Direction is determined through emergence and by many people

Every effect has a cause Every effect is also a cause

Relationships are directive Relationships are empowering

measures of valueResponsiveness to the environment is the measure of value

Decisions are based on facts and data.

Decisions are based on patterns and tensions.

Leaders are experts and authorities. Leaders are facilitators and supporters.

Adapted from Olson and Eoyang, Facilitating Organization Change.

15

Page 16: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

ADAPTing to

Agile Development

16

Page 17: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

that the current approach isn’t working

to change

to work in an agile manner

early successes to build momentum and get others to follow

the impact of agile throughout the organization so that it sticks

Desire

Ability

Awareness

Transfer

Awareness

Desire

Ability

PromotePromote

Transfer

A

D

A

P

T

17

Page 18: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

...the developers are not meeting expectations for code quality. One of our challenges is that we’re still hacking our way through lots of legacy code that isn’t unit-testable or automated yet, but is mission critical and the person who has been working mostly on that area of code consistently leaves holes in the design and implementation of new pieces of that code. We also have the issue with at least one other developer as well.

I’m the ScrumMaster and...

1.Is this a problem of Awareness, Desire or Ability?2.Thinking about ADAPT, what might you try?

18

Page 19: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

AwarenessCommunicateEstablish a visionNarrow the focusMetricsRun a pilot

DesireA clear vision (again)Share examples of successPublic praise for the right behaviorAlign incentivesTurn the transition over to individualsBuild momentum

Tools for building...

19

Page 20: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

AbilityPairing (of all sorts)Bring in outside coachesDevelop your own internal coachesFormal trainingPractice

Tools for building...

20

Page 21: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

PromoteCelebrate and share even small, early winsGoal is to build momentum

Want a feeling of inevitability around the transitionReduce upcoming resistance before it startsSend people on an agile safariAttract attention and interest

21

Page 22: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

TransferTransfer the effects of agile beyond the current group

A team transfers to its departmentA department transfers to its divisionetc.

If you don’t transfer, the transition will eventually and inevitably fail

Too much organizational gravity pulling us back toward the status quo

Example:If you don’t align promotions, raises, annual reviews, those will work against you

22

Page 23: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

An Agile Transition Framework

23

Page 24: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

On 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 approaches:Rather 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

24

Page 25: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

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

25

Page 26: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

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

Equivalent to daily standupsEquivalent to iterationsEquivalent to releases

26

Page 27: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Who?Sponsor—senior person responsible for successArea managers or leads who can make it happen

Establish a “guiding coalition”

DBA

QA PMO

UED

27

Page 28: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Who should not be on the guiding coalition

People with big egos

Don’t understand their own limitations

SnakesSomeone who poisons relationships among team members

Reluctant participantsLack time or enthusiasm

But may have needed expertise or political clout

28

Page 29: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Action teamsUsually more than one at any time

Each focused on a different goal

e.g., test automation or user experience design

Some teams in an organization will be organicIndividuals notice something needs to be achieved

Others will be formally-sponsoredGuiding coalition puts someone in charge of achieving a goal that hasn’t been picked up

Usually best only if an organic team doesn’t form

29

Page 30: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Quarterly

3-4 goals 1 each

Guidingcoalition

Actionteams

Monthly iterationsIteration planning to identify tasks the action teams (and members of their delivery teams) can make progress on

Like the daily standupA chance to synchronize work

Weekly cycle

30

Page 31: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Action team membersTry to form these teams organically

Possible with a point person to start the teamTrue product owner for the team is the guiding coalitionBut this starting person acts as a combination day-to-day product owner and ScrumMaster

Initial membershipStart with 1-3 members who “get it”Ask each of those members to pick 1-2 more

31

Page 32: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Action team member considerations

Think aboutWho has the power to make or break the transition to agile?Who controls critical resources or expertise?How will each be affected?How will each react?

32

Page 33: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Additional considerationsWho will gain or lose something by the transition to agile?

Are there blocs likely to mobilize against or in support of the transition?

teams’ opinions and results are taken seriously?

Can team members put their personal interests aside in favor of the organizational goal?

33

Page 34: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

The Role of Leaders

34

Page 35: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Leading an agile transitionAction team and other formal leaders must lead the transition

but cannot do so in the usual ways

Self-organizing groups still require leadership

Lead through example, questions, and focus

“Nudge” the organization; Poke and prod;

See how the organization responds

35

Page 36: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Pre-requisites of self-organization

A boundary within which self-organization occursCompany, project, team, city, role, nationality

Container

There must be differences among the agents acting in our system

Technical knowledge, domain knowledge, education, experience, power, gender

Differences

Transforming ExchangesAgents in the system interact and exchange resources

Information, money, energy (vision)

Glenda Eoyang: Conditions for Self-Organizing in Human Systems

36

Page 37: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Using the CDE modelWhen stuck thinking about how to nudge the organization think of the:

Containersformal teams, informal teams, clarify (or not) expectations

DifferencesDampen or amplify them within or between containers

ExchangesInsert new exchanges, new people, new techniques or tools

37

Page 38: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

The team consists of four developers, two testers, a database engineer and you. The developers and testers are not working well together. Developers work in isolation until two days are left in the iteration. They then throw the code “over the wall” to the testers.

?

Would you change a Container, Difference or Exchange to address this issue?

38

Page 39: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Patterns ofAgile Adoption

39

Page 40: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Six patterns, three decisions

Technical Practices First Iterative First

Start Small All Inor

Stealth Mode orPublic Display of

Agility

or

40

Page 41: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

The most pressing issues facing the project are ones that can be solved with technical practices. You aren’t starting a huge number of teams at onceTeam members have solid technical backgroundsThere is a desperate need to improve

Useful when

Technical Practices First

Very rapid improvements are possibleThe transition can be quick

Advantages

Technical practices support each other in subtle waysThere is likely to be strong resistance to some practicesOutside coaching will likely be needed

Disadvantages

41

Page 42: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

You want to transition more than a handful of teams concurrentlyYou are starting with a stalled projectLots of different technologies are in use by various teams

Useful when

Iterative First

It’s easy to startIt’s hard to argue against

Advantages

The team may not choose to add the technical practices

Disadvantages

42

Page 43: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

There is reluctance to commit fully to agileThe risks of failing an all-at-once transition outweigh the advantagesYou can afford the time it takes

Useful when

Start Small

Cost of mistakes is minimizedYou can almost guarantee success

Advantages

Conclusions may not be compellingIt takes a lot of timeAgile teams will need to work with non-agile teams

Disadvantages

43

Page 44: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

You want to send a clear messageTime is criticalYour team isn’t too small or too big

Useful when

All In

It’s over quicklyThere’s no organizational dissonance from using two processes at onceIt can reduce some resistance

Advantages

It’s riskyIt’s costlyIt will likely require a reorganization

Disadvantages

44

Page 45: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

You want to experimentYou don’t have any organizational supportYou expect strong resistance

Useful when

Stealth Mode

There’s no additional pressureNo one knows about it until you tell themNo one can tell you not to do it

Advantages

You won’t have any organizational supportSkeptics will only hear about success, they won’t witness it

Disadvantages

45

Page 46: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

approach and committed to achieving itYou are likely to face stiff resistance and want to face it all at once

Useful when

Public Display of Agility (PDA)

Everyone knows you’re doing it so you’re more likely to stick with itIt establishes a vision to work toward

are committed to transitioning

Advantages

Announcing something before you do it can make you look foolishResistors will come out of the woodwork

Disadvantages

46

Page 47: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Three expansion patternsSplit and Seed 1

47

Page 48: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Grow and split 2

48

Page 49: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Internal coaching

Attend planning meetingAttend 2 daily scrums per weekSpend 4 hours with the team per sprint

duties such as:

3

49

Page 50: Succeeding with Agile

® © 2003–2008 Mountain Goat Software®

Mike [email protected]

(720) 890−(303) 810−2190 (mobile)

50


Recommended