54
Agile?! Are you crazy??? Presented by Bob Hartman Agile For All 303-766-0970 [email protected] Presentation Copyright © 2008, Agile For All, LLC. All rights reserved.

Agile?! Are You Crazy???

Embed Size (px)

DESCRIPTION

Presentation to Lonetree PMI Roundtable on August 27, 2008. Abstract: According to the Wall Street Journal agile development has "crossed the chasm." Why then are there still strong pockets of intense resistance to agile? This presentation takes a look at some of the most common misconceptions about agile development. It exposes the truth behind the myths and backs up many of the points with actual industry data. In the process, a basic business case for agility is created. The goal of this session is for all participants to leave with the knowledge necessary to answer the question "Why Agile?" In addition, participants will gain a deeper understanding of the realities of agile development and how it can help organizations.

Citation preview

Page 1: Agile?! Are You Crazy???

Agile?! Are you crazy???

Presented byBob HartmanAgile For [email protected]

Presentation Copyright © 2008, Agile For All, LLC. All rights reserved.

Page 2: Agile?! Are You Crazy???

Before We Start

• Cell phones, pagers, PDA’s, etc. to silent• If you have a question, please ask it. Don’t

wait! It is better to answer the question while we are still in the same area than to go back.

Agile?! Are you crazy?2

Page 3: Agile?! Are You Crazy???

3

INTRODUCTIONS

Agile?! Are you crazy?

Page 4: Agile?! Are You Crazy???

Bob Hartman

• 30+ years of software industry experience

• Certified Scrum Practitioner• Bachelor and Masters degrees

in Computer Science• Roles included Tester,

Developer, Dev Manager, QA Manager, Product Manager, Project Manager, VP…

• Started with agile in 1999Agile?! Are you crazy?4

[email protected]

Page 5: Agile?! Are You Crazy???

Who are you?

• Please introduce yourself including:– Name– Company and title– Agile experience

Agile?! Are you crazy?5

About

Me

Page 6: Agile?! Are You Crazy???

6

JACK AND BILLTwo typical project managers have a chat

Agile?! Are you crazy?

Page 7: Agile?! Are You Crazy???

7

Meet Jack

Agile?! Are you crazy?

A really hard-driving project manager. Jack is young and ambitious and believes by making his team work harder they will get superior results.

Page 8: Agile?! Are You Crazy???

8

Meet Bill

Agile?! Are you crazy?

Project manager that is older than Jack with many more battle scars. Bill is at a point in his

career where he is starting to question the logic behind the way things have always been done.

Page 9: Agile?! Are You Crazy???

9

Jack and Bill meet at the water cooler

Agile?! Are you crazy?

Hey Bill, haven’t seen you in quite a while. How is your project going these days?

Jack, you know how it is. Late, overbudget, stress, not enough time for QA. Blah, blah, blah…

Page 10: Agile?! Are You Crazy???

10

Jack tries to help

Agile?! Are you crazy?

Dude, that stinks. What are you going to do?

I’m getting desperate. I think I’m going to try agile on my next project and see if it will work.

Page 11: Agile?! Are You Crazy???

11

Jack is in shock

Agile?! Are you crazy?

Agile! Are you crazy???

Page 12: Agile?! Are You Crazy???

12

Bill responds

Agile?! Are you crazy?

I know it’s crazy, but I’m out of ideas. Hey, you’re the new hard-driving guy, how is your project going?

Page 13: Agile?! Are You Crazy???

13

Jack’s reality

Agile?! Are you crazy?

Umm… ahhh… uhhh… I mean…Hey, don’t change the subject here! Are you crazy???

(to himself) Hmmm, Maybe not as crazy as I thought if his project is in the toilet too!

Page 14: Agile?! Are You Crazy???

14

Group discussion

• Do you relate more to hard-driving Jack, or desperate Bill?

• As project managers do you ever feel like you are personally failing when projects are failing?

• If you have used agile in the past, why was the switch made from traditional software development processes? How did agile work for you?

Agile?! Are you crazy?

Page 15: Agile?! Are You Crazy???

15

INDUSTRY STATISTICS(SOFTWARE PROJECTS)

Agile?! Are you crazy?

Page 16: Agile?! Are You Crazy???

16

Software project success rates

Agile?! Are you crazy?

Software Project Success RateReport Date Success Rate

First CHAOS report 1994 16%“Extreme CHAOS” 2001 28%

Most Recent CHAOS 2003 31%

Source: The Standish Group

Success increasing by 1.7% per year. Will not reach 50% until

2014!

Page 17: Agile?! Are You Crazy???

17

Feature use in software

Never Used45%

Rarely19%

Sometimes16%

Often13%

Always7%

Source: The Standish Group

Agile?! Are you crazy?

Question: What percentage of software features are NEVER used?

Page 18: Agile?! Are You Crazy???

18

Industry realities• Most “successful” projects were deliberately over-

estimated at the start (Standish – 2001)• 64% of features in products are rarely or never used

(Standish – 2002)• The average project exceeds its schedule by 63%

(Standish – 2001)• 50% of project failures are due to missing or

misunderstood requirements (Ravenflow – 2006)• Executive support and customer involvement are the

two biggest critical success factors in project success by far (many studies in the past 10 years)

Agile?! Are you crazy?

Page 19: Agile?! Are You Crazy???

19

More industry realities

• 56% of defects are attributable to missing or misunderstood requirements

• 82% of defect fixing time and dollars go to fixing requirements related defects

• NIST has estimated that 0.6% of the GDP is lost due to software defects

• NIST also estimates that 1/3 of that money could be saved by using a process allowing earlier detection and correction of defects

Agile?! Are you crazy?

Page 20: Agile?! Are You Crazy???

20

Things I sometimes ponder…• Why do we make all important decisions on projects when we

have the least information?• Why do managers always think things will take less time than

everyone else? Why do we let them estimate at all?• Why has the software industry never improved the ability to

estimate accurately?• If we know that an average of 30% of requirements will change

during a project, why do we use a process that is intolerant to change?

• Why do companies say that quality is important while internally they give QA less time than originally allocated to do their job?

• Why do developers always do the easiest things first?• If the customer is always right, why do we only ask them their

opinion AFTER we have completed the entire project?Agile?! Are you crazy?

Page 21: Agile?! Are You Crazy???

21

BUT AGILE IS CRAZY!ISN’T IT???

Excuses for not using agile

Agile?! Are you crazy?

Page 22: Agile?! Are You Crazy???

22

We’re agile so…• we don’t need to do documentation any more• (more generically) we don’t need to do X because we’re

agile• developers get to decide what goes into each iteration• we’re going to have a lot more meetings• we don’t have to plan more than the current iteration• we can be undisciplined because QA will catch all the

errors in near real time

• Which of these have you heard? Which of these do we believe? Which of these is the worst?

Agile?! Are you crazy?

Page 23: Agile?! Are You Crazy???

23

No documentation

• A simple question – is this even possible?• The correct phrase is “Just enough

documentation, just in time.”

Agile?! Are you crazy?

Page 24: Agile?! Are You Crazy???

24

We don’t need to do X

• Again, just enough, just in time.• It doesn’t matter what X is– Design– Architecture– Project charter– Vision– …

• We MUST keep business requirements in mind. If it is required by the business for reasons outside our control, then we have to do it!

Agile?! Are you crazy?

Page 25: Agile?! Are You Crazy???

25

Developers pick what to work on

• Well, they do say that most myths are at least partially based in reality

Agile?! Are you crazy?

Developers don’t get to pick and choose what they want to work on

They DO commit to what they will complete – but it is in priority order and they don’t make the priorities!

Page 26: Agile?! Are You Crazy???

26

More meetings• Release planning – once• Iteration planning – once per iteration• Iteration demo/retro – once per iteration• Daily standup – every day• Hmm, that IS more meetings, but• Release planning – 4 hours• Iteration planning – 2 hours x iterations• Iteration demo/retro – 2 hours x iterations• Daily standup - .25 hours x iterations x days• Total might look like: 4 + 2x5 + 2x5 + .25x5x10• Total meeting time is 36.5 hours of meetings• How long would we have met to analyze, design, code and test an

average 3 month release with our current process?• More importantly – would the product have been as good?

Agile?! Are you crazy?

Page 27: Agile?! Are You Crazy???

27

No planning

• Don’t confuse NO planning with ADAPTIVE planning!

• Would any company actually allow no big picture planning???

Agile?! Are you crazy?

Figuring it all out up front Adapting as we go. Notice we still have all the items!

Page 28: Agile?! Are You Crazy???

28

No discipline• Reality check… In traditional projects of a year in length how hard

are people working during the first 2 months? Does that sound disciplined?

• Planning, demos and retrospectives every two weeks and daily standups. Does that sound disciplined?

• Making a commitment to work that will be accomplished in two weeks – disciplined?

• Working in priority order – disciplined?• Coding AND testing need to be done in order to be considered

complete – disciplined?• The heart of the matter – Code needs to pass unit tests AND

acceptance tests in order to be complete. High performing teams use the phrase “Add value quickly now AND be able to add value quickly in the future!” In other words, no undisciplined hacking!!!

Agile?! Are you crazy?

Page 29: Agile?! Are You Crazy???

29

Myth recap• When you hear something about agile that sounds

stupid there are two possibilities:– It’s false because someone is misunderstanding– It’s true and agile has a fundamental flaw

• Keep in mind that it may sound “odd” which is very different from “stupid”– No documentation required = stupid– Teams use points (sizes) rather than hours and minutes for

estimating = odd• Remember that some VERY successful companies are

using agile, and it’s highly unlikely that ALL of them are stupid

Agile?! Are you crazy?

Page 30: Agile?! Are You Crazy???

30

AGILE BASICS

Agile?! Are you crazy?

Page 31: Agile?! Are You Crazy???

Agile (Scrum) roles

Agile?! Are you crazy?31

Users/Stakeholders•Those that are going to use the product or have a vested interest in how it turns out

Team•The team that will create the product•Includes EVERYONE that is part of product creation

Agile Project Manager (Scrum Master)•Facilitates meetings•Removes impediments•Runs interference for the team•Helps team focus on what’s important•Can act as a process coach and help team improve the process

Product Champion (Product Owner)•Owner of the prioritized product backlog•Represents users and stakeholders when talking to team•Represents team when talking to users and stakeholders•Is a combo of Product Manager and BA

Page 32: Agile?! Are You Crazy???

32

Complete agile process

Agile?! Are you crazy?

Page 33: Agile?! Are You Crazy???

33

Iteration – the basic unit of agile

Agile?! Are you crazy?

Iterations create a “product increment” of “potentially shippable software.” This means everything is working. It DOES NOT mean we can get it wrong in an iteration and then fix it all up in the next iteration!!!

Page 34: Agile?! Are You Crazy???

34

MAYBE AGILE ISN’T SO CRAZYReasons for being agile

Agile?! Are you crazy?

Page 35: Agile?! Are You Crazy???

35

Building a business case for agility

• Business case essentials:– Bottom line dollars and cents– Improvements

• For this business case we should discuss:– Business value– Customer expectations and quality– Team dynamics– Planning– Other improvements

Agile?! Are you crazy?

Page 36: Agile?! Are You Crazy???

36

Adding Business Value Quickly – A Simple Example

• Stuffing envelopes can tell us a lot about agile

• What are the advantages of getting something released more quickly?

Agile?! Are you crazy?

Page 37: Agile?! Are You Crazy???

37

Delivering business value quickly

Never or Rarely Used

64%

Sometimes16%

Often13%

Always7%

Source: The Standish Group

Agile?! Are you crazy?

Question: If we get rid of the 64% of software that is rarely or never used, what happens to our overall software development efforts?

Page 38: Agile?! Are You Crazy???

38

Discussion: Customer expectations

• When does the customer know what they really want in a product?

• How can we help them know earlier?

• Does that sound agile to anyone???

• Did we mention the highest value items get the most testing so quality perception is better as well?

Agile?! Are you crazy?

Page 39: Agile?! Are You Crazy???

39

Changes to team dynamics

• Morale improves– Team succeeds more often– Teams work together– Teams empowered to succeed

• Failures are very limited– A single iteration– Correction happens immediately– Team fails together so no blame– Happens quickly rather than

bleeding to death from a papercutor finding out about problems too late!

Agile?! Are you crazy?

Page 40: Agile?! Are You Crazy???

40

Planning improvements

• Retrospectives for correction and improvement

• Accurate management visibility

• Better predictability leading to success

Agile?! Are you crazy?

Page 41: Agile?! Are You Crazy???

41

Other improvements

• Change tolerance (30% of requirements will change!)– Due to short iterations, change is free or nearly free

most of the time• Increased collaboration– Everyone works together to create a great product

rather than all groups working in isolation• Risks are handled earlier– Everyone identifies risks and impediments as soon

as they are noticed so there is more time to mitigate the risks and remove the impediments

Agile?! Are you crazy?

Page 42: Agile?! Are You Crazy???

42

Recap: Agile…

• … adds business value quickly• while meeting customer expectations• with high value and high quality products• produced by teams with high morale• through projects that are easier to plan• even while being tolerant to change

Agile?! Are you crazy?

Page 43: Agile?! Are You Crazy???

43

INDUSTRY STATISTICS PART II(AGILE PROJECTS)

Agile?! Are you crazy?

Page 44: Agile?! Are You Crazy???

44

What others are seeing

Agile?! Are you crazy?

Page 45: Agile?! Are You Crazy???

45

VersionOne Survey Results (2008)

Improvement Noted >10% improvement >=25% improvementIncreased productivity 89% 56%Reduced software defects 84% 56%Accelerated time-to-market 83% 54%Reduced cost 65% 30%

Agile?! Are you crazy?

Survey asked people: Please try to estimate SPECIFIC IMPROVEMENTS you have actually realized from implementing Agile practices.

Source: VersionOne 2008 State of Agile Development Survey

NOTE: All 2008 data is within 2% of 2007 data

Average of 74% of agile projects completed successfullyBiggest causes of agile project failure: Company philosophy or culture could not be overcome – 23% Lack of experience with agile – 21%

Page 46: Agile?! Are You Crazy???

46

Standish Group further results

• #5 success factor for projects is using agile methodology

• Jim Johnson from the Standish Group says:– Agile is an important success factor because its

incremental nature allows for leaving entire features or portions of features out without affecting the overall value of the project

– He also notes agile is difficult for some because of corporate culture (as also found in the VersionOne survey)

Agile?! Are you crazy?

Page 48: Agile?! Are You Crazy???

48

WHO IS REALLY CRAZY?

Agile?! Are you crazy?

Page 49: Agile?! Are You Crazy???

49

One big question to answer…

Agile?! Are you crazy?

What does the data say about

how crazy agile is?

Page 50: Agile?! Are You Crazy???

50

2nd big question

Agile?! Are you crazy?

How should you respond when someone says

“Agile!? Are you crazy???

Page 51: Agile?! Are You Crazy???

51

Jack and Bill 6 months later…

Agile?! Are you crazy?

Hey Jack, I just heard. Sorry dude. You should have tried agile. All of my projects are actually being successful for a change!!

Don’t rub it in. Both of my projects stunk, so I deserved it. One was on time but had all wrong features, and the other was WAAAAAAAY late.

Page 52: Agile?! Are You Crazy???

52

Take away thoughts…• Projects in the software world are NOT completing

successfully today– Teams are trying hard– Project Managers are trying hard– Effort is NOT the issue (don’t be Jack!)

• There is a business case to be made for an agile process

• The world of project management is changing and you have to decide if you are going to be an agent for change, a person that reacts after change has been made, or a person that will not be a part of project management in the future.

Agile?! Are you crazy?

Page 53: Agile?! Are You Crazy???

53

QUESTIONS?

Agile?! Are you crazy?

Page 54: Agile?! Are You Crazy???

54

THANK YOU!Please email comments to [email protected]

Agile?! Are you crazy?