What it Really Means to Be Agile

77
What it really means to “be agile” Kent J. McDonald @beyondreqs

description

Some teams think they can be agile by using a defined process or set of practices as defined by one of the agile approaches. This is just “doing Agile.” Other teams are agile in name only – the team says it’s “doing Agile” but ends up using the same old practices and achieving the same results. Teams adopt agile for a variety of reasons, but it’s not the process or set of practices they select that produces the results they seek. Teams are most successful when they adopt a particular mindset in order to “be agile”. Join Kent McDonald as he describes this mindset through 7 key ideas based on how people and organizations work best. We’ll discuss some specific techniques you can use to adopt the mindset on your project, how the project manager role changes along with the mindset, and how to help your team move from “doing Agile” to actually “being agile”.

Transcript of What it Really Means to Be Agile

Page 1: What it Really Means to Be Agile

What it really means to “be agile”

Kent J. McDonald@beyondreqs

Page 2: What it Really Means to Be Agile

Agenda Overview

Doing Agile vs. Being Agile

Key Ideas in Agile What does this mean

for Project Managers?

Page 3: What it Really Means to Be Agile

We interrupt this presentation for a quick survey…

Page 4: What it Really Means to Be Agile

Doing AgileVs.

Being Agile

From Agile2012

Page 5: What it Really Means to Be Agile

Doing Agile

Page 6: What it Really Means to Be Agile

Being Agile

Page 7: What it Really Means to Be Agile

What is an agile mindset?

People are…A. CogsB. Resources that need extrinsic motivationC. Human beings with intrinsic motivation.

People are…A. CogsB. Resources that need extrinsic motivationC. Human beings with intrinsic motivation.

http://finding-marbles.com/2011/12/10/agile-mindset-examples/

Page 8: What it Really Means to Be Agile

What is an agile mindset?

People are good at their jobs because…A. They put in effort and always learnB. They’re just more intelligentC. Where I work, no one else is good.

People are good at their jobs because…A. They put in effort and always learnB. They’re just more intelligentC. Where I work, no one else is good.

http://finding-marbles.com/2011/12/10/agile-mindset-examples/

Page 9: What it Really Means to Be Agile

What is an agile mindset?

Decisions are taken…A. By management after conferring with the

people impactedB. By managementC. By someone up the hierarchy and we never get

informedD. Usually by consensus among the people that

are impactedE. Implicitly. We muddle through.

Decisions are taken…A. By management after conferring with the

people impactedB. By managementC. By someone up the hierarchy and we never get

informedD. Usually by consensus among the people that

are impactedE. Implicitly. We muddle through.

http://finding-marbles.com/2011/12/10/agile-mindset-examples/

Page 10: What it Really Means to Be Agile

What is an agile mindset?

You build the right products by…A. Rigorously analyzing requirements and

writing detailed specs.B. Frequently showing it to the customer and

prospective users

You build the right products by…A. Rigorously analyzing requirements and

writing detailed specs.B. Frequently showing it to the customer and

prospective users

http://finding-marbles.com/2011/12/10/agile-mindset-examples/

Page 11: What it Really Means to Be Agile

Retrospectives are…A. Not necessary anymoreB. Only done after a projectC. A place to rant about the same problems

every iterationD. A way to find improvements and implement

them.E. What’s a retrospective?

What is an agile mindset?

Retrospectives are…A. Not necessary anymoreB. Only done after a projectC. A place to rant about the same problems

every iterationD. A way to find improvements and implement

them.E. What’s a retrospective?

http://finding-marbles.com/2011/12/10/agile-mindset-examples/

Page 12: What it Really Means to Be Agile

When trying to improve…A. Not only do we change, we oscillate.B. What is the simplest thing that will work?

What can we start right now? Can we use something physical?

C. Obviously we need a tool/framework/process.

D. We never try to improve.

What is an agile mindset?

When trying to improve…A. Not only do we change, we oscillate.B. What is the simplest thing that will work?

What can we start right now? Can we use something physical?

C. Obviously we need a tool/framework/process.

D. We never try to improve.

http://finding-marbles.com/2011/12/10/agile-mindset-examples/

Page 13: What it Really Means to Be Agile

What is an agile mindset?

When people show undesirable behavior, you…A. Do nothing.B. Give feedback so they might change.C. Give feedback, but also check whether the

system inadvertently rewards said behaviorD. How should I know what’s undesirable?

When people show undesirable behavior, you…A. Do nothing.B. Give feedback so they might change.C. Give feedback, but also check whether the

system inadvertently rewards said behaviorD. How should I know what’s undesirable?

http://finding-marbles.com/2011/12/10/agile-mindset-examples/

Page 14: What it Really Means to Be Agile

What is an agile mindset?

Something needs clarification, you…A. Do nothing.B. EmailC. Call themD. Talk to them in personE. Clarify it, but don’t tell anyone so that several

people clarify it independently.

http://finding-marbles.com/2011/12/10/agile-mindset-examples/

Something needs clarification, you…A. Do nothing.B. EmailC. Call themD. Talk to them in personE. Clarify it, but don’t tell anyone so that several

people clarify it independently.

Page 15: What it Really Means to Be Agile

What is an agile mindset?

Documentation is…A. There’s none. Haven’t you read the

Manifesto?B. OutdatedC. Extensive and hard to maintainD. Just enough. When you discover something’s

missing, you add that particular part.

http://finding-marbles.com/2011/12/10/agile-mindset-examples/

Documentation is…A. There’s none. Haven’t you read the

Manifesto?B. OutdatedC. Extensive and hard to maintainD. Just enough. When you discover something’s

missing, you add that particular part.

Page 16: What it Really Means to Be Agile

Key Ideas in Agile

From Ron Jeffries

Page 17: What it Really Means to Be Agile

KEY IDEAPut people with needs in direct contact with people who can fulfill those needs

Page 18: What it Really Means to Be Agile

How we’ve done it.

Stakeholders Involved only here

Page 19: What it Really Means to Be Agile

What are your requirements?

Page 20: What it Really Means to Be Agile

The stakeholder goes away….

Page 21: What it Really Means to Be Agile

Design

Page 22: What it Really Means to Be Agile

Implementation

Page 23: What it Really Means to Be Agile

6 Months Later…

Page 24: What it Really Means to Be Agile

Here’s what you asked for, please

go test it.

Page 25: What it Really Means to Be Agile

Verification

Page 26: What it Really Means to Be Agile

This isn’t what I

wanted!

It’s what you asked

for!

Page 27: What it Really Means to Be Agile

This doesn’t work.

Stakeholders Involved only here

Page 28: What it Really Means to Be Agile

Involve your stakeholders

Best: stakeholders sit with project team full time

Still quite good: regular touch points with stakeholders

Bare minimum: Demo with stakeholders every couple of weeks

Page 29: What it Really Means to Be Agile

Active conversation looking at work, not a meeting

Page 30: What it Really Means to Be Agile

This also means no intermediaries!

Page 31: What it Really Means to Be Agile

A stakeholder’s perspective“…it [agile] allows for interaction directly between the business and the developers. While waterfall allows the business to review specs prior to development, agile allows the business to see the actual development while it’s in process. We’re able to see the developer’s interpretation of the requirements before development is completed and make changes/tweaks as necessary. This has proven to be very beneficial as we’re able to show code to the end users while it’s still in a state where changes can be made.”

Page 32: What it Really Means to Be Agile

KEY IDEAPopulate projects with all the needed people and capabilities to get the job done

Page 33: What it Really Means to Be Agile

Instead of a team built on rolesLead Business Analyst

Sr. Business Analyst

DevelopmentLead Sr.

Developer

Sr.Developer

Architect

ProjectManager

Test Lead

QAAnalyst

UX Analyst

Page 34: What it Really Means to Be Agile

Build one based on skillsAnalysis Development

Testing

UX

Page 35: What it Really Means to Be Agile

Ideal - Build a Real Team

7 +/- 2 People Necessary skills No defined roles Focused on one project Bring work to the team,

not the other way around

Have them sit together

Page 36: What it Really Means to Be Agile

Making it work

Select based on skills, not roles

Allow team members to focus for blocks of time (at least half a day)

Provide tools to help communication

Page 37: What it Really Means to Be Agile

Selecting a Program Team

Page 38: What it Really Means to Be Agile

What if the team is already formed and a change is needed?

Page 39: What it Really Means to Be Agile

KEY IDEABuild work

incrementally and check results as you

go

Page 40: What it Really Means to Be Agile

Meaningful feedback does not come from specs

Page 41: What it Really Means to Be Agile

Meaningful feedback comes from seeing actual product

Page 42: What it Really Means to Be Agile

We need real feedback sooner than after we’re done

We really don’t know if it’s right until here.

Page 43: What it Really Means to Be Agile

The more often we deliver, the more often we learn.

Identify

Scenario

Change

product

Use produc

t

Reflect on

results

Based on Kolb Learning Cycle

Page 44: What it Really Means to Be Agile

How to increment

Organize work by feature delivered

Fit work into time boxes Deliver small bits of

production quality work at the end of each time box

Learn from each delivery.

Page 45: What it Really Means to Be Agile

Incrementing a Data Warehouse

Page 46: What it Really Means to Be Agile

KEY IDEAPrepare for and influence the future but don’t predict it

Page 47: What it Really Means to Be Agile

Historic views on plans

[In preparing for battle] I have always found that plans are useless, but planning is indispensable.Dwight D. Eisenhower

It is a mistake to look too far ahead. Only one link in the chain of destiny can be handled at a time.Winston Churchill

A good plan violently executed right now is far better than a perfect plan executed next week.

George S. Patton

It is a bad plan that admits of no modification.Publilius Syrus

No [campaign] plan survives first contact with the enemyField Marshall Helmuth Graf von Moltke

Page 48: What it Really Means to Be Agile

Incorrect assumption about projects

The Plan is always correct. If something does not go according to plan, we messed up implementation.

Page 49: What it Really Means to Be Agile

Incorrect assumption about agile

Are you planning? Are you planning? ARE YOU PLANNING? There's no planning! THERE'S NO PLANNING IN AGILE!

Page 50: What it Really Means to Be Agile

Shi[f]t Happens

Page 51: What it Really Means to Be Agile

Planning Levels

Product vision

Product roadmap

Release plan

Sprint plan

Daily plan

Yearly by the Product Owner

Bi-yearly by the Product Owner

~quarterly by Product Owner and Team

Every 2 weeks by the Product Owner and Team

Daily by the team

Page 52: What it Really Means to Be Agile

“But the Plan said we’re supposed to start on the next release”

Page 53: What it Really Means to Be Agile

KEY IDEAMake tasks concrete and quickly finish them.

Page 54: What it Really Means to Be Agile

Small chunks of value delivered in each iteration

Page 55: What it Really Means to Be Agile

Tasks of 4 – 16 hours to deliver those chunks of value

Page 56: What it Really Means to Be Agile

Wishlisting.org

Page 57: What it Really Means to Be Agile

KEY IDEAGive people work to do and the knowledge to do it, do not push them around like pawns on a chessboard

Page 58: What it Really Means to Be Agile

Shocking Admission

Most “teams” act more like workgroups

Page 59: What it Really Means to Be Agile

High performing project teams should resemble communities

Page 60: What it Really Means to Be Agile

Shocking Admission #2

People are not “resources”

Page 61: What it Really Means to Be Agile

Treat team members like… people

Page 62: What it Really Means to Be Agile

Shocking Admission #3

3(a) Multi-tasking is not effective.

3 (b) People do not multi task. They switch rapidly between areas of focus

Page 63: What it Really Means to Be Agile

Let them focus.

Page 64: What it Really Means to Be Agile

“They’ll never volunteer for tasks”

Page 65: What it Really Means to Be Agile

KEY IDEAFocus on providing value frequently and rapidly, not directly on cost

Page 66: What it Really Means to Be Agile

Success is not based on a triangle

Cost Schedule

Scope

Page 67: What it Really Means to Be Agile

Success is based on meeting objectives

As Steve Denning would say: “Delighting Customers”

Page 68: What it Really Means to Be Agile

Address first, or phone first?

Page 69: What it Really Means to Be Agile

What does this mean for PM’s?

Page 70: What it Really Means to Be Agile

You need great relationships with your customers

Page 71: What it Really Means to Be Agile

Act like a kid from Ottumwa

Page 72: What it Really Means to Be Agile

Learn the Leadership 2 Step

Page 73: What it Really Means to Be Agile

Channel your inner Coach

Page 74: What it Really Means to Be Agile

Come see my talk this afternoon

Page 75: What it Really Means to Be Agile

Want another perspective?

Page 76: What it Really Means to Be Agile

If you remember nothing else…

Doing agile is using techniques

Being agile is changing your mindset

Tis better to be agile quietly than do agile gregariously

Page 77: What it Really Means to Be Agile

Questions?

Kent [email protected]@BeyondReqswww.beyondrequirements.comSlides available from:http://www.kbridgepartners.com