Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Agile?! Are you crazy???Presentation Copyright © 2008, Agile For All, LLC.  All rights reserved.Presented byBob HartmanAgile For All303-766-0970bob.hartman@agileforall.com
Before We StartCell phones, pagers, PDA’s, etc. to silentIf 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
IntroductionsAgile?! Are you crazy?3
Bob Hartman30+ years of software industry experienceCertified Scrum PractitionerBachelor and Masters degrees in Computer ScienceRoles included Tester, Developer, Dev Manager, QA Manager, Product Manager, Project Manager, VP…Started with agile in 1999Agile?! Are you crazy?4bob.hartman@agileforall.com303-766-0970
Who are you?Please introduce yourself including:NameCompany and titleAgile experienceAgile?! Are you crazy?5AboutMe
Jack and BillTwo typical project managers have a chatAgile?! Are you crazy?6
Meet JackAgile?! Are you crazy?7A really hard-driving project manager. Jack is young and ambitious and believes by making his team work harder they will get superior results.
Meet BillAgile?! Are you crazy?8Project 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.
Jack and Bill meet at the water coolerAgile?! Are you crazy?9Hey 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…
Jack tries to helpAgile?! Are you crazy?10Dude, 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.
Jack is in shockAgile?! Are you crazy?11Agile! Are you crazy???
Bill respondsAgile?! Are you crazy?12I know it’s crazy, but I’m out of ideas.  Hey, you’re the new hard-driving guy, how is your project going?
Jack’s realityAgile?! Are you crazy?13(to himself) Hmmm, Maybe not as crazy as I thought if his project is in the toilet too!Umm… ahhh… uhhh… I mean…Hey, don’t change the subject here! Are you crazy???
Group discussionDo 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?14
Industry statistics(Software projects)Agile?! Are you crazy?15
Software project success ratesAgile?! Are you crazy?16Source: The Standish GroupSuccess increasing by 1.7% per year.  Will not reach 50% until 2014!
Feature use in softwareAgile?! Are you crazy?17Question:  What percentage of software features are NEVER used?
Industry realitiesMost “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?18
More industry realities56% of defects are attributable to missing or misunderstood requirements82% of defect fixing time and dollars go to fixing requirements related defectsNIST has estimated that 0.6% of the GDP is lost due to software defectsNIST also estimates that 1/3 of that money could be saved by using a process allowing earlier detection and correction of defectsAgile?! Are you crazy?19
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?20
BUT Agile is crazy!Isn’t it???Excuses for not using agileAgile?! Are you crazy?21
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 agiledevelopers get to decide what goes into each iterationwe’re going to have a lot more meetingswe don’t have to plan more than the current iterationwe can be undisciplined because QA will catch all the errors in near real timeWhich of these have you heard?  Which of these do we believe?  Which of these is the worst?Agile?! Are you crazy?22
No documentationA simple question – is this even possible?The correct phrase is “Just enough documentation, just in time.”Agile?! Are you crazy?23
We don’t need to do XAgain, just enough, just in time.It doesn’t matter what X isDesignArchitectureProject charterVision…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?24
Developers pick what to work onWell, they do say that most myths are at least partially based in realityAgile?! Are you crazy?25Developers don’t get to pick and choose what they want to work onThey DO commit to what they will complete – but it is in priority order and they don’t make the priorities!
More meetingsRelease planning – onceIteration planning – once per iterationIteration demo/retro – once per iterationDaily standup – every dayHmm, that IS more meetings, butRelease planning – 4 hoursIteration planning – 2 hours x iterationsIteration demo/retro – 2 hours x iterationsDaily standup - .25 hours x iterations x daysTotal might look like: 4 + 2x5 + 2x5 + .25x5x10Total meeting time is 36.5 hours of meetingsHow 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?26
No planningDon’t confuse NO planning with ADAPTIVE planning!Would any company actually allow no big picture planning???Agile?! Are you crazy?27Adapting as we go.  Notice we still have all the items!Figuring it all out up front
No disciplineReality 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?28
Myth recapWhen you hear something about agile that sounds stupid there are two possibilities:It’s false because someone is misunderstandingIt’s true and agile has a fundamental flawKeep in mind that it may sound “odd” which is very different from “stupid”No documentation required = stupidTeams use points (sizes) rather than hours and minutes for estimating = oddRemember that some VERY successful companies are using agile, and it’s highly unlikely that ALL of them are stupidAgile?! Are you crazy?29
Agile basicsAgile?! Are you crazy?30
Agile (Scrum) rolesAgile?! Are you crazy?31Product 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 BAAgile 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 processTeamThe team that will create the product
Includes EVERYONE that is part of product creationUsers/StakeholdersThose that are going to use the product or have a vested interest in how it turns outComplete agile processAgile?! Are you crazy?32
Iteration – the basic unit of agileAgile?! Are you crazy?33Iterations 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!!!
Maybe agile isn’t so crazyReasons for being agileAgile?! Are you crazy?34
Building a business case for agility Business case essentials:Bottom line dollars and centsImprovementsFor this business case we should discuss:Business valueCustomer expectations and qualityTeam dynamicsPlanningOther improvementsAgile?! Are you crazy?35
Adding Business Value Quickly – A Simple ExampleStuffing envelopes can tell us a lot about agile What are the advantages of getting something released more quickly?Agile?! Are you crazy?36
Delivering business value quicklyAgile?! Are you crazy?37Question:  If we get rid of the 64% of software that is rarely or never used, what happens to our overall software development efforts?
Discussion:  Customer expectationsWhen 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?38
Changes to team dynamicsMorale improvesTeam succeeds more oftenTeams work togetherTeams empowered to succeedFailures are very limitedA single iterationCorrection happens immediatelyTeam fails together so no blameHappens quickly rather thanbleeding to death from a papercutor finding out about problems too late!Agile?! Are you crazy?39
Planning improvementsRetrospectives for correction and improvementAccurate management visibilityBetter predictability leading to successAgile?! Are you crazy?40
Other improvementsChange tolerance (30% of requirements will change!)Due to short iterations, change is free or nearly free most of the timeIncreased collaborationEveryone works together to create a great product rather than all groups working in isolationRisks are handled earlierEveryone identifies risks and impediments as soon as they are noticed so there is more time to mitigate the risks and remove the impedimentsAgile?! Are you crazy?41
Recap: Agile…… adds business value quicklywhile meeting customer expectationswith high value and high quality productsproduced by teams with high moralethrough projects that are easier to planeven while being tolerant to changeAgile?! Are you crazy?42
Industry Statistics Part II(Agile projects)Agile?! Are you crazy?43
What others are seeingAgile?! Are you crazy?44
VersionOne Survey Results (2008)Agile?! Are you crazy?45Survey asked people:  Please try to estimate SPECIFIC IMPROVEMENTS you have actually realized from implementing Agile practices.Source: VersionOne  2008 State of Agile DevelopmentSurveyNOTE: All 2008 data is within 2% of 2007 dataAverage 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%
Standish Group further results#5 success factor for projects is using agile methodologyJim 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 projectHe also notes agile is difficult for some because of corporate culture (as also found in the VersionOne survey) Agile?! Are you crazy?46
Agile is a Proven ApproachSome Agile Companies (there are MANY more)Agile?! Are you crazy?47

More Related Content

Agile?! Are You Crazy???

  • 1. Agile?! Are you crazy???Presentation Copyright © 2008, Agile For All, LLC. All rights reserved.Presented byBob HartmanAgile For All303-766-0970bob.hartman@agileforall.com
  • 2. Before We StartCell phones, pagers, PDA’s, etc. to silentIf 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
  • 4. Bob Hartman30+ years of software industry experienceCertified Scrum PractitionerBachelor and Masters degrees in Computer ScienceRoles included Tester, Developer, Dev Manager, QA Manager, Product Manager, Project Manager, VP…Started with agile in 1999Agile?! Are you crazy?4bob.hartman@agileforall.com303-766-0970
  • 5. Who are you?Please introduce yourself including:NameCompany and titleAgile experienceAgile?! Are you crazy?5AboutMe
  • 6. Jack and BillTwo typical project managers have a chatAgile?! Are you crazy?6
  • 7. Meet JackAgile?! Are you crazy?7A really hard-driving project manager. Jack is young and ambitious and believes by making his team work harder they will get superior results.
  • 8. Meet BillAgile?! Are you crazy?8Project 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.
  • 9. Jack and Bill meet at the water coolerAgile?! Are you crazy?9Hey 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…
  • 10. Jack tries to helpAgile?! Are you crazy?10Dude, 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.
  • 11. Jack is in shockAgile?! Are you crazy?11Agile! Are you crazy???
  • 12. Bill respondsAgile?! Are you crazy?12I know it’s crazy, but I’m out of ideas. Hey, you’re the new hard-driving guy, how is your project going?
  • 13. Jack’s realityAgile?! Are you crazy?13(to himself) Hmmm, Maybe not as crazy as I thought if his project is in the toilet too!Umm… ahhh… uhhh… I mean…Hey, don’t change the subject here! Are you crazy???
  • 14. Group discussionDo 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?14
  • 16. Software project success ratesAgile?! Are you crazy?16Source: The Standish GroupSuccess increasing by 1.7% per year. Will not reach 50% until 2014!
  • 17. Feature use in softwareAgile?! Are you crazy?17Question: What percentage of software features are NEVER used?
  • 18. Industry realitiesMost “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?18
  • 19. More industry realities56% of defects are attributable to missing or misunderstood requirements82% of defect fixing time and dollars go to fixing requirements related defectsNIST has estimated that 0.6% of the GDP is lost due to software defectsNIST also estimates that 1/3 of that money could be saved by using a process allowing earlier detection and correction of defectsAgile?! Are you crazy?19
  • 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?20
  • 21. BUT Agile is crazy!Isn’t it???Excuses for not using agileAgile?! Are you crazy?21
  • 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 agiledevelopers get to decide what goes into each iterationwe’re going to have a lot more meetingswe don’t have to plan more than the current iterationwe can be undisciplined because QA will catch all the errors in near real timeWhich of these have you heard? Which of these do we believe? Which of these is the worst?Agile?! Are you crazy?22
  • 23. No documentationA simple question – is this even possible?The correct phrase is “Just enough documentation, just in time.”Agile?! Are you crazy?23
  • 24. We don’t need to do XAgain, just enough, just in time.It doesn’t matter what X isDesignArchitectureProject charterVision…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?24
  • 25. Developers pick what to work onWell, they do say that most myths are at least partially based in realityAgile?! Are you crazy?25Developers don’t get to pick and choose what they want to work onThey DO commit to what they will complete – but it is in priority order and they don’t make the priorities!
  • 26. More meetingsRelease planning – onceIteration planning – once per iterationIteration demo/retro – once per iterationDaily standup – every dayHmm, that IS more meetings, butRelease planning – 4 hoursIteration planning – 2 hours x iterationsIteration demo/retro – 2 hours x iterationsDaily standup - .25 hours x iterations x daysTotal might look like: 4 + 2x5 + 2x5 + .25x5x10Total meeting time is 36.5 hours of meetingsHow 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?26
  • 27. No planningDon’t confuse NO planning with ADAPTIVE planning!Would any company actually allow no big picture planning???Agile?! Are you crazy?27Adapting as we go. Notice we still have all the items!Figuring it all out up front
  • 28. No disciplineReality 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?28
  • 29. Myth recapWhen you hear something about agile that sounds stupid there are two possibilities:It’s false because someone is misunderstandingIt’s true and agile has a fundamental flawKeep in mind that it may sound “odd” which is very different from “stupid”No documentation required = stupidTeams use points (sizes) rather than hours and minutes for estimating = oddRemember that some VERY successful companies are using agile, and it’s highly unlikely that ALL of them are stupidAgile?! Are you crazy?29
  • 30. Agile basicsAgile?! Are you crazy?30
  • 31. Agile (Scrum) rolesAgile?! Are you crazy?31Product Champion (Product Owner)Owner of the prioritized product backlog
  • 32. Represents users and stakeholders when talking to team
  • 33. Represents team when talking to users and stakeholders
  • 34. Is a combo of Product Manager and BAAgile Project Manager (Scrum Master)Facilitates meetings
  • 37. Helps team focus on what’s important
  • 38. Can act as a process coach and help team improve the processTeamThe team that will create the product
  • 39. Includes EVERYONE that is part of product creationUsers/StakeholdersThose that are going to use the product or have a vested interest in how it turns outComplete agile processAgile?! Are you crazy?32
  • 40. Iteration – the basic unit of agileAgile?! Are you crazy?33Iterations 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!!!
  • 41. Maybe agile isn’t so crazyReasons for being agileAgile?! Are you crazy?34
  • 42. Building a business case for agility Business case essentials:Bottom line dollars and centsImprovementsFor this business case we should discuss:Business valueCustomer expectations and qualityTeam dynamicsPlanningOther improvementsAgile?! Are you crazy?35
  • 43. Adding Business Value Quickly – A Simple ExampleStuffing envelopes can tell us a lot about agile What are the advantages of getting something released more quickly?Agile?! Are you crazy?36
  • 44. Delivering business value quicklyAgile?! Are you crazy?37Question: If we get rid of the 64% of software that is rarely or never used, what happens to our overall software development efforts?
  • 45. Discussion: Customer expectationsWhen 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?38
  • 46. Changes to team dynamicsMorale improvesTeam succeeds more oftenTeams work togetherTeams empowered to succeedFailures are very limitedA single iterationCorrection happens immediatelyTeam fails together so no blameHappens quickly rather thanbleeding to death from a papercutor finding out about problems too late!Agile?! Are you crazy?39
  • 47. Planning improvementsRetrospectives for correction and improvementAccurate management visibilityBetter predictability leading to successAgile?! Are you crazy?40
  • 48. Other improvementsChange tolerance (30% of requirements will change!)Due to short iterations, change is free or nearly free most of the timeIncreased collaborationEveryone works together to create a great product rather than all groups working in isolationRisks are handled earlierEveryone identifies risks and impediments as soon as they are noticed so there is more time to mitigate the risks and remove the impedimentsAgile?! Are you crazy?41
  • 49. Recap: Agile…… adds business value quicklywhile meeting customer expectationswith high value and high quality productsproduced by teams with high moralethrough projects that are easier to planeven while being tolerant to changeAgile?! Are you crazy?42
  • 50. Industry Statistics Part II(Agile projects)Agile?! Are you crazy?43
  • 51. What others are seeingAgile?! Are you crazy?44
  • 52. VersionOne Survey Results (2008)Agile?! Are you crazy?45Survey asked people: Please try to estimate SPECIFIC IMPROVEMENTS you have actually realized from implementing Agile practices.Source: VersionOne 2008 State of Agile DevelopmentSurveyNOTE: All 2008 data is within 2% of 2007 dataAverage 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%
  • 53. Standish Group further results#5 success factor for projects is using agile methodologyJim 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 projectHe also notes agile is difficult for some because of corporate culture (as also found in the VersionOne survey) Agile?! Are you crazy?46
  • 54. Agile is a Proven ApproachSome Agile Companies (there are MANY more)Agile?! Are you crazy?47
  • 55. Who is really crazy?Agile?! Are you crazy?48
  • 56. One big question to answer…Agile?! Are you crazy?49What does the data say about how crazy agile is?
  • 57. 2nd big questionAgile?! Are you crazy?50How should you respond when someone says “Agile!? Are you crazy???
  • 58. Jack and Bill 6 months later…Agile?! Are you crazy?51Hey 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.
  • 59. Take away thoughts…Projects in the software world are NOT completing successfully todayTeams are trying hardProject Managers are trying hardEffort is NOT the issue (don’t be Jack!)There is a business case to be made for an agile processThe 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?52
  • 61. Thank You!Please email comments to bob.hartman@agileforall.comAgile?! Are you crazy?54

Editor's Notes

  1. Is 50% even any good? Don’t we want to be a lot better than that?