Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

How to Rescue a Troubled IT Project with Agile


Published on

Troubled projects have been part of the IT environment since the beginning. When a project is big enough to require a formal project turnaround rather than just jumping in to fix things, it is critical to recognize that the work to recover the troubled project is itself a project. Transparency is required to understand what is wrong and decisions must be made based on the certain knowledge of what has been completed. Once the project has been re-defined, re-estimated and re-planned, the project must then be focused on the newly agreed upon work to ensure that the new expectations are met. Combining Agile management and testing techniques have proven to be a powerful method for addressing troubled projects by providing the intimacy and transparency that siloed techniques generally cannot.

Published in: Technology, Business
  • Be the first to comment

How to Rescue a Troubled IT Project with Agile

  1. 1. Measure. Optimize. Deliver.Phone +1.610.644.2856Rescuing a Troubled Projectwith AgilePat Eglin, Agile Coachp.eglin@davidconsultinggroup.comTom Cagley, CFPS, Agile Practice Leadt.cagley@davidconsultinggroup.com2013
  2. 2. ©2013 David Consulting GroupTroubled Projects• Is the project really in trouble?– Tolerances• Budget• Calendar• Quality• Satisfaction• Incompatibilities1Ok Disaster
  3. 3. ©2013 David Consulting GroupAssessing Typical Sources of Problems• Poor Planning– Lack of Correct Resources• Poor Scope Management– Scope Creep– Scope Churn– Building the Wrong Thing• Not Managed Well– Wrong People Doing The Right Things• Poor Communications– Lack of Involvement• Poor Quality– Trade-offs– Defects Dominating2
  4. 4. ©2013 David Consulting GroupTurn Around or Reset?• Is there a coherent vision of the project’s goal?– No? Reset.• Does an external estimate to complete indicatehumans can actually deliver?– No? Reset.• Can the organization afford what is required todeliver?– No? Reset.3Ok DisasterTurnAround
  5. 5. ©2013 David Consulting GroupWhy Agile4“Agile projects are successful three timesmore often than non-Agile projects.”- 2011 CHAOS Manifesto from the Standish Group• Agile enhances the team’s ability todeliver through:– Involving the whole team in planning and meetingthe business need– Focuses on defining what is needed thencontrolling the “backlog”– Utilizing a structure that allows the team to controltheir process to meet the environment– Short cycles, constant feedback and closeengagement with the product owner
  6. 6. ©2013 David Consulting GroupThe Process1. Assess The Project– In trouble?– Turn around or restart2. Plan The Intervention– Prep the teams– Re-organize– Decide who does what3. JumpStart4. Coach5. Celebrate5
  7. 7. ©2013 David Consulting GroupAssess: The Project6Process:• Satisfaction• ChangeManagement• SDLCModel:• CMMI• IT-CMF• CobitQuantitative:• Dates• Defects• Cost• Productivity• Effort• BudgetQuantitative andProcess assessmenttechniques comparedto implicit or explicittolerances are themost commontroubled projectassessmenttechniques.
  8. 8. ©2013 David Consulting GroupReorganize / Form Teams: Capability TeamsCapability TeamProductOwnerScrumMasterBusinessAnalystTesterTesterDeveloperDeveloperDeveloper/ TesterValue (Work) Flow1. Form teams around organizationalcapabilities2. Team size of five to nine, including alldisciplines needed to deliver3. Projects become less important than aFlow of Value (Karl Scotland)7
  9. 9. ©2013 David Consulting GroupThree “Typical” Agile Team RolesScrum Master• Coach and facilitator• ImpedimentremoverThe Team• Developers, Testers, BusinessAnalysts/SMEs, Architects,Data Analysts, etc.• Frame, design, build and testProduct Owner• Provides businessacumen andsupport• Owns andprioritizesbacklog, answersquestions andmakes decisionsPOSM8
  10. 10. ©2013 David Consulting GroupRoles & Responsibilities – Key ParticipantsProduct Owner• Ensures backlog is visible to everyone;• Makes decisions;• Defines the product vision and thefeatures of the product;• Prioritizes user stories according tomarket value;• Grooms the product backlog everyiteration;• Accepts or rejects work results;• Calls for and plans the releases;• Involves customers, users, and otherstakeholders;• Prepares for the product launch;• Attends the Scrum meetings; and• Collaborates with the team.Scrum Master• Responsible for ensuring that the Scrumpractices and rules are followed;• Teaches the team by coaching andleading;• Helps the team understand and use self-organization and cross functionality;• Removes impediments;• Ensures that the team is functional andproductive;• Enables close cooperation across all rolesand functions; and• Shields the team from externalinterferences9
  11. 11. ©2013 David Consulting GroupCoach: Attributes and Roles• Role includes helping the team(s) to useAgile techniques via:– Teaching– Demonstrating– Pressure– Observation• Attributes:– High levels of emotional intelligence– Serves in a coaching role only– From outside the organization– Provides objective guidance, withoutpersonal or political considerations– Is an Agile expert– Has successfully run Agile projects10
  12. 12. ©2013 David Consulting GroupOutside Support Roles• Business– Provide subject matter expertise– Support Product Owner• IT Leads– Provide standards– Provide technical expertise• Program Management– Big picture coordination– Remove external impedimentsFrequentsupport andencouragement11
  13. 13. ©2013 David Consulting GroupFinal Notes On The Team . . .12Saving aproblemprojectcannot be ahobby!• Cross functional• Shares the knowledge• Generally full-time members• Membership only changesbetween iterations• Self organizing– No titles– Everyone will wear multiple hats (developers test)– Roll-up your sleeves – see something that needs to be done?Do it.– Agree to disagree – everyones commitment to team decision isimportant
  14. 14. ©2013 David Consulting GroupWhy Agile JumpStart?• The goal of the JumpStart Process in restarting orturning around a project is to radically rearrangehow a project is run through an accelerated Agileadoption. It provides an environment whereindividual teams can quickly learn and apply Agilemethods to transform their projects. In otherwords:– One-on-one external coaching– Show how by doing then transferringknowledge– Immediate process feedback– Just-in-time training– Coach withdraws as team gains confidence13
  15. 15. ©2013 David Consulting GroupSample Iteration Zero Agenda – Restart9. ReleasePlanning11. IterationPlanningEstimateUser StoryBacklog &AssignValueDevelopReleasePlanDevelopIterationPlanMonday4 hoursTuesday4-8 hoursWednesday8 hoursThursday4 hoursFriday4 hoursCreateUser StoryBacklog10. Demos andRetrospectives8. StoryPoints &EstimatingCreateProjectVision &TeamCharter6. UserStory Value5. WritingUser Stories4. Buildingthe ProductBacklog3. AgileRoles2. ProjectVision &Charter1. AgileValues &Principles &Scrum7. Test-drivenDevelopment14
  16. 16. ©2013 David Consulting GroupIntroduce Test-driven DevelopmentDuring RescueCoding and Testing With TDD:Starting with a test means that you have to describe what the story wantsto achieve before considering “how.” This focus helps to maintain theright level of abstraction.To ensure that you say what you mean:1. Start with an English description2. Write the code from the description3. Translate the code back to English4. Compare 3 to115Pair Testersor BAs withDeveloperswhen writingtests!TDD helps insure that as stories are written and accepted into the sprint,they are understood (reducing defects and rework).
  17. 17. ©2013 David Consulting GroupTDD: Simple ProcessSteps:1. Design: Figure out what you want to do2. Test: Write a test to express the design– It should FAIL3. Implement: Write the code4. Test again– It should PASS– Repeat writing code until the test passes16
  18. 18. ©2013 David Consulting GroupTDD: Limit ScopeKeep tests understandable and maintainable by limiting their scope.Tests that are dozens of lines long mean the component being tested istoo large and needs to be broken up into smaller components.• Every function should have:– A single specific purpose– If possible, a generally useful purpose– A meaningful name– A structure that is simple to understand– An interface that is simple yet general enough17
  19. 19. ©2013 David Consulting GroupIteration Zero – Expectations and Deliverables• Expectations– Time boxed– Resources dedicated to Agile transformation during time allocated• Deliverables– Concise project vision– Point-specific training– User Story backlog; estimated and prioritized– Initial release plan created– Team charter18
  20. 20. ©2013 David Consulting GroupAgile Processes At A Glance0501001502002503003501 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41DaysBurn-up Chart ExampleDone24 Hours1-2 WeeksDailyStandupIterationBacklogProductBacklogContinuousReportingDemoIterationPlanningPotentiallyShippableRetrospective19
  21. 21. ©2013 David Consulting GroupMaximum90 MinutesGetting StartedPrior to the Agile JumpStart process:• Confirm and get commitments on availability of key participants forIteration Zero and subsequent sprints– Product Owner (PO)– Scrum Master– Team– Coach• Coach: Meet with POs and Scrum Master(s)– Set expectations– Review Agile overview, JumpStart, and role training– Assess team dynamics– Establish trust relationship– Schedule JumpStart20
  22. 22. ©2013 David Consulting GroupCoachTransformation CoachingCoach as leadertransitions to ScrumMaster and ProductOwner as LeadersAttributes of JumpStart Coach:• Aggressive Facilitator• Leader• High-Touch People Person• 110% Self Starter Attributes of Scrum Master:• Aggressive Facilitator• Owns the Scrum Process• Leader• High-Touch People Person• 110% Self StarterTransition ZoneBeginsIteration 0 Iteration 1 Iteration 2Attributes of Product Owner:• Understands the Business• Owns the Product Backlog• Leader• High-Touch People Person• 110% Self StarterScrumMasterProductOwnerRelative Levelsof Effort21
  23. 23. ©2013 David Consulting GroupCase - RestartingLarge Alternate Asset Management Company with a multiplevendor, technology and project environmentLarge critical project, six project teams, four delivery datesmissed, 80% complete for six months, reporting green statusOne Program Manager and six Project Managers assigned, littlebusiness involvementSignificant requirements were still being discovered leading tofour hour change management “debates”Experienced-based estimation based on bottom-up taskplanning with large MS Project schedule22
  24. 24. ©2013 David Consulting GroupCase OneLarge software development firm, hierarchicalculture, and one very large project and many smallerMixed Scrum/XP (recent addition) and Plan-basedproject environmentStrenuous budgeting process with tax accrualsSignificant discovery was required to define, design anddevelop the large projectExperienced-based estimation based on bottom-up taskplanning – questionable on the large project!23
  25. 25. ©2013 David Consulting GroupThe Process1. Assess The Project– In trouble?– Turn around or restart2. Plan The Intervention– Prep the teams– Re-organize– Decide who does what3. JumpStart4. Coach5. Celebrate24
  26. 26. ©2013 David Consulting GroupThe Answer, Part 125Assessment• Teams were too large• Vendors were leading teams• Project was not 80% done• Functionality marked complete had not beentestedImpact• Project managers were dismissed• Teams were consolidated to 7 members each,with an internal Scrum master, business productowner and a coach• Teams were co-located (3 geo-locations)• All teams were tasked with rebuilding theirbacklogs• A one week sprint zero was decided upon
  27. 27. ©2013 David Consulting GroupThe Answer, Part 226JumpStart• All teams went through a standard JumpStart• Decided on team norms and completed AgileChartering• Introduced Test-driven Development (Light)• Each team built an initial backlog• Program Manager facilitated developing an initialrelease plan• Each team planned and estimated their first iterationand publicly committed to the plan (as a team)• Completed team buildingCoaching• External coach facilitated each team• Hands-on training for product owners and Scrummasters• Facilitated Scrum of Scrum and external weeklystatus meeting• Evangelized and trained external stakeholders
  28. 28. ©2013 David Consulting GroupAgile JumpStart Process Summary• Agile JumpStart is designed to quickly and efficiently start the Agiletransformation with coaching and just-in-time training and workshops.• Agile JumpStart intercepts a project as requirements or user stories are beingframed and coaches the team in how to use specific techniques as closely aspossible to the time the team needs to use the technique.• An individual coach assigned to the project travels with the team through thefirst few iterations until the team has learned to run.• The process will begin with a ½ day session in which the basic principles andtechniques are reviewed and all participants agree upon their roles andresponsibilities.• The “Agile JumpStart” projects will feed the process personnel in the standardtransformation path, specific process requirements and change managementdata.• Intimate, hands-on coaching will be required for three to four sprints beforeentering a standard coaching stream.27
  29. 29. ©2013 David Consulting GroupContact UsPat; (484) 889-9474Tom; (440) 668-5717http://www.davidconsultinggroup.com28@DavidConsultGrp/DavidConsultGrp/company/David-Consulting-Group Measure. Optimize. Deliver.Phone +1.610.644.2856