Agile Practices for Families : Iteration with Children and Parents
Agile Planning an Iteration How To
-
Upload
apple-orange -
Category
Documents
-
view
13 -
download
0
description
Transcript of Agile Planning an Iteration How To
![Page 1: Agile Planning an Iteration How To](https://reader034.fdocuments.net/reader034/viewer/2022051402/563db9f2550346aa9aa158ea/html5/thumbnails/1.jpg)
1
SuccessfulAgilePlanning:AnIterationHow‐To
Agiledevelopmentpractices,whenperformedcorrectly,arelightweightandinexpensive,avoidwastedcycles,andensurethatjusttherightfeaturesarebuilt.Inthisarticleyouwillfindsuccessfulwaystomakeandmeetiterationcommitments,techniquesforleadingateamorteamsthroughaneffectiveiterationplanningmeeting,andtipsonhowtoestablishpriorities,sizeyourstories,andplanyouriterationsbetter.
ThoseWhoDotheWork,PlantheWorkIamveryfortunateasanAgileCoachwithRallytoconstantlybearoundteamswhowanttobecomeleanerandmoreagile.Thosewhodothework,plantheworkisaprincipleIholddear,yetitisastruggleformanytocreatesuchaself‐organizing,self‐managingteam.IwasremindedofthisinJulyofthisyear(2009).IwasinvitedtogiveawebinaronAgilePlanning.Iexpectedperhapsafewdozenattendeesyet1400peopleregisteredand3monthslaterIwasstillansweringquestions.Thecontentofthatwebinaristheinspirationforthisarticleandmytargetaudienceistheteamthatisnewtoagileandleanconcepts.
TheMechanicsofanAgileIterationMostoftoday’sagileteamsuseiterationstomaintainaconstanttempo.Theiterationbeginswhentheteamselectstheproductfeaturestobedeliveredattheendoftheiteration,identifiesthetasksneededtocompletethosefeaturesandcommitstotheiteration.Duringtheiterationthedeliveryteammeetseachdaytoplanthatday.Attheendoftheiterationtheteamproducesapotentiallyshippableproductincrement.
![Page 2: Agile Planning an Iteration How To](https://reader034.fdocuments.net/reader034/viewer/2022051402/563db9f2550346aa9aa158ea/html5/thumbnails/2.jpg)
2
TheProductBacklogisthelistofdesiredproductfeatures.Itisexpressedsothateachitemisvaluefocused.ItisownedandprioritizedbytheProductOwner.TheProductOwnerrepresents(oris)theuser/client.Theyactasonevoiceeveniftheyarenotoneperson(Roth2009).MostagileorganizationsuseUserStoriestodescribetheirProductBacklogitems.Storiesshouldbedescribedbrieflywithdetaildeferreduntilclosertothetimethatcommitmentsneedtobemade.Deferringcommitmentisaleanprinciplethathelpsusavoidthewasteofdetailingstoriesthatmayneverbeimplementedandalsoallowsustomakedecisionswiththemaximumamountofinformationpossible.ThelistoftaskstobecompletedintheiterationistheIterationBacklog.ThesetasksareperformedbyaDeliveryTeamconsistingof5‐9individualswhocommittotheworktheyselectforiteration.TheScrumMasterfacilitatestheteamandtheteam’srelationshipswithoutsideinterests.Theyenforceagilevaluesandpracticesanddon’tmakedecisionsfortheteamortimeandbudgetcommitmentsontheteam’sbehalf.
GroomingtheBacklogBeforeateamplanstheiterationtheProductBacklogneedstobegroomedtoensurethatthebacklogitemsarereadytobeworkedon.ThisisacollaborativeeffortinvolvingtheProductOwnerandtheDeliveryTeam.TheProductOwnerdetermineswhattheprioritiesareandensuresthateveryoneunderstandscriteriaforacceptanceofthebacklogitems.Theteamneedstoestimatethesizeofthebacklogitemsandthosethatarehighpriorityandtoolargetobe
![Page 3: Agile Planning an Iteration How To](https://reader034.fdocuments.net/reader034/viewer/2022051402/563db9f2550346aa9aa158ea/html5/thumbnails/3.jpg)
3
completedinaniterationneedtobebrokendown.
AcceptanceCriteriaUserStoriesbydefinitionconsistofabriefdescription.Thisisnotenoughinformationtoestimatethestory,implementthestoryandtoverifywhethertheimplementationmeetsexpectations.Thereforebeforetheteamstartsplanningweneedtoensurewehaveclearandverifiableacceptancecriteriaforeachstory.Therearevariousformsfordocumentingacceptancecriteria.Asimpleformisjustabulletedlist.Identifyingacceptancecriteriacanoftenrevealnewstoriesthatmayaffectprioritiesfortheupcomingiteration.
PrioritizingtheBacklogTheProductOwnerprioritizestheProductBacklog.Astackrankingispreferredwherenotwoitemshavethesamepriority.ThiscanbeachallengewheretherearemultipleProductOwnersbutasimpletechniquesuchasdot‐voting(Tabaka2006)canhelp.WheretheProductOwnerisrepresentingalargeconstituencymorethoroughtechniquessuchasKanoAnalysisandRelativeWeightingcanbeemployed(Cohn2006).OftensizeestimatesaffecthowaProductOwnerfeelsaboutprioritiessoitisexpectedthatprioritieswillberevisitedafterestimation.
EstimatingtheBacklogEstimatingisakeycomponentoftheself‐organizing,self‐managingagileteam.Ifwecanbuildareliableestimationcapabilitywecancouplethatwithempiricalknowledgeoftheteam’svelocitytosetexpectationsandmakecommitments.Traditionallyinproductandsystemdevelopmentwearenotgoodatestimatingourtimetocompletework.Itturnsoutthoughthatweareverygoodatcomparingthings.Trybreakingachocolatebarintwoandaskingachildwhichisthelargerpieceandyou’llseewhatImean.Agileteamsbuildonthisabilityandestimatethesizeofworkbycomparingbacklogitemswitheachother.Forexample,letssayyouhavesomepilesoflogstobesplitbeforewinter.You’veneversplitlogsbeforesoyouhavenoideahowlongitwilltakebutyoudecidetodedicate2hrsadaySaturdaysandSundays.Beforeyoustartyoudecidetoestimatethesizeofthepilessoyoucanmonitoryourprogress.Youcouldcountthelogsineachpilebutthat’salotofworkanditwouldtakeawayfromyoursplittingtime.Insteadyoudecidetomakearoughestimate.Thereisonesmallpile.Asecondpileisroughlytwicethesizeandthelastpilehasmaybethreetimesasmanylogs.Youassignthenumbers1,2and3tothelogpilestoindicaterelativesize.Afterone
![Page 4: Agile Planning an Iteration How To](https://reader034.fdocuments.net/reader034/viewer/2022051402/563db9f2550346aa9aa158ea/html5/thumbnails/4.jpg)
4
weekendyougetthesmallestpiledoneandyouestimateyouhaveabout5weekendsworthofworklefttodo.Agileteamsuseasimilarrelativeestimationtechnique.Justasweassignedunit‐lessnumbers1,2and3toourlogpilestoindicatetherelativesize,agileteamsassignstorypointstothebacklogitemstheyestimate.TeamswilloftenusethemodifiedFibonaccisequence(1,2,3,5,8,13)asagoodsequenceofnumberstouseforestimation.Ofcoursesoftwareisnotastangibleaslogsorchocolatebarshowever,wedohavealotofbuilt‐inexpertknowledgethatevenwearenotconsciouslyawareof(Sorowiecki2005)andusinganestimatingtechniquesuchasPlanningPoker(Cohn2006)canbeverypowerfulforcollectingthatknowledgeandbringingadiversityofexperienceandintellecttobearinproducingestimatesthatthewholeteamcanbuy‐into.Relativeestimationisquickerthanabsoluteestimation.Wheneverdaysandhoursenterthediscussionthedialogquicklygetsdowntotheminutiaeandthereistheaddedpressure(realorotherwise)togetitright.Alsowithrelativeestimation,ourestimatesdon’tdecay.Wemayspeedupandgetbetteratsplittinglogsbutthatsecondpileisalwaysgoingtotaketwiceaslongasthefirst.
VelocityAfterafewiterationsagileteamswillestablisharhythmwherethenumberofstorypointscompletedperiterationstabilizesandbecomespredictable.Thismeasureiscalledtheteam’svelocity.Velocitycanbeveryvaluableforsettingexpectationsandplanningreleasesanditerations.Intheexampleshownheretheteamshouldplanonbetween8‐10storypointsperiteration.
DefinitionofDoneBeforeiterationplanningthereneedstobeaclearunderstandingbetweentheteamandtheProductOwnerofwhat“done”meansfortheiteration.
TheRallyTeam’sDefinitionofDoneAlltaskscompleteAlltestsrunningandpassingManualwalkthroughscompleteonallfully
supportedbrowsersMigrationsandWebServicesupdatesreviewedOps&On‐PremiseimpactrecordedUsergesturetrackingaddedPerformancetestresultsreviewedAlldefectsclosedbytestersUXreviewcompleteAcceptedbyProductOwners
![Page 5: Agile Planning an Iteration How To](https://reader034.fdocuments.net/reader034/viewer/2022051402/563db9f2550346aa9aa158ea/html5/thumbnails/5.jpg)
5
Thegoldstandardistodeliverapotentiallyshippableproductincrementbut,formostteams,theDefinitionofDonedefinestheverybestthingthattheteamcandoeachiteration.Thegapbetweenwhattheteamproduceseachiterationandwhatittakestoactuallyshipistechnicaldebt,workweneedtodobeforeweshipandthisworkneedstogobackonthebacklogtobescheduledbytheProductOwner.TheDefinitionofDoneshouldberevisitedandupdatedeachiterationasthedefinitionwilllikelychangeaswegainnewskills,knowledgeandtechnology.
PlanningtheIterationIterationplanningoccursonthefirstdayoftheiteration.Aguidingtenetis‐thosewhodothework,planthework‐soitisessentialthattheentireDeliveryTeamparticipateinplanning.Itisacollaborative(notdirected)exercisefacilitatedbytheScrumMaster.TheProductOwnerisakeyparticipantwhowillanswerthetoughquestionsabouttheProductBacklogthatariseduringiterationplanning.Attheendofiterationplanningtheteammakesacommitmenttodelivertheselecteditems.Thereisalsoareciprocalcommitmentthat(barringemergencies)theProductOwnerwillnotchangethescopeoftheiteration.TheteamonlyplanstheworktheyknowtheycancommittocompletingandthisdetermineswhattheypullfromtheProductBacklog.Theteam’svelocitymaybeenoughtohelpinthisdecision.However,newteamsontheirfirstorearlyiterationswilleithernotknowtheirvelocityorwillnothaveavelocitystableenoughtouseasabasisforcommitment.Fortheseteamswesuggestusingcapacitytomakecommitmentsandthenevolvingwhenreadytomorelightweighttechniques.Withthecapacitybasedtechniquewepullitemsoffthebacklogandplanthetasksneededtodeliverthoseitemsuntilwehavereachedtheteam’scapacity.Firstwedeterminethecapacityoftheteam.Simplymultiplyingthenumberofdaysintheiterationby8willnotyieldarealisticnumber.Weallspendtimeonunplannedandoverheadactivitiesandweneedtoallowforthis.Newagileteamsarequiteoftennotpartofamatureagileorganization,soexpectconflictingprioritiesandteammembershavingtosplittimeacrossmultipleteams.ForexampleSophie’steammayhavea2‐weekiteration.1ofthedaysmaybeallocatedforiterationplanning,thedemoandtheretrospective.Sophiedecidesthatonanygivendayshemanages6hoursofinterruptedimplementationwork.AlsoSophiestillhassomehandoffworktodoforherpreviousteamandthatoccupies20%ofhertime.Sophie’scapacityistherefore43hours(9*6*80%).Oncewedeterminecapacity,planningproceedsasfollows:
![Page 6: Agile Planning an Iteration How To](https://reader034.fdocuments.net/reader034/viewer/2022051402/563db9f2550346aa9aa158ea/html5/thumbnails/6.jpg)
6
1. Theteampullsthehighestpriorityitemofftheproductbacklog2. Theitemisdiscussedinenoughdetailtoidentifytasksthatneedtobe
performed3. Teammemberssign‐uptoownthetasks.4. Tasksownersestimatethenumberofidealhourstheywillneedto
implementeachtask5. Theteamchecksthecumulativenumberoftaskhoursagainsttheircapacity
anddecidesiftheycancommittodeliveringtheproductbacklogitem6. Ifso,theteamcommitstotheproductbacklogitemandplanningcontinues
withthenexthighestpriorityitem(step1).7. Oncetheteamhasreachedfullcapacity,theteamcommitstotheiteration
andplanningiscompleteItisafundamentalofaself‐organizingteamthattasksarenotassigned.HowevertemptingitmaybefortheScrumMastertheyshouldnotsteerthisprocess.Tasksareestimatedinidealhours–theamountoftimetocompleteataskwithnodistractionsorwaiting.
TrackingtheIterationDuringtheiterationweperformallthetasksnecessarytodelivertheproductbacklogitemswecommittedtoandeverydayweholdadailystandup.Asimplemeetingwhereweanswerthreebasicquestions:
• Whatdidyouworkonyesterday?• Whatareyouworkingontoday?• Doyouhaveanyimpediments?
Wetrackprogressduringtheiterationusinganiterationburndownchart.TheX‐axisrepresentsdaysintheiterationandtheY‐axisrepresentsthenumberoftaskhoursremaining(leftside)andnumberofstorypointsaccepted(rightside)
![Page 7: Agile Planning an Iteration How To](https://reader034.fdocuments.net/reader034/viewer/2022051402/563db9f2550346aa9aa158ea/html5/thumbnails/7.jpg)
7
Aniterationburndownisupdateddailybytheteam.Fromthisburndownchartwecanseethattheteamisonschedule(thebluebarsarebelowtheidealburndownline).
Converselyweseethatthischartrepresentsateamthatstruggledfromtheverystartoftheiterationandcompletedlessthan50%oftheirplannedworkandhadonlyafewoftheirstories(ordefects)acceptedbytheirProductOwner.Itisimportantthattheteam,nottheScrumMaster,updatethehoursremaining.Therearemanybenefitstobeingamemberofaself‐organizing,self‐managingteam,butwiththosebenefitsalsocomesresponsibilityandaccountability.
ClosingOuttheIterationAttheendoftheiterationwedemonstrateourproductincrementtotheproductownerandotherstakeholders.Everyone’sinvited,weprepminimallyandwekeepceremoniestoaminimum(noslidesordocuments).Inspectionandadaptionisthekeystoneofacontinuouslyevolvingandimprovingteam.Aftertheiterationreviewtheteamhasaretrospectivetodetermine:
• Whatdidwedowell?• Whatdidn’twedowell?• Whatdoweneedtochangetodobetter?
![Page 8: Agile Planning an Iteration How To](https://reader034.fdocuments.net/reader034/viewer/2022051402/563db9f2550346aa9aa158ea/html5/thumbnails/8.jpg)
8
OtherPlanningApproachesOnceateamhasavelocitythatisstabletheymaychoosetomakeiterationcommitmentsbasedonvelocity.Tasksarestillidentifiedandestimatedasthisprovidestheneededgranularityfortrackingtheprogressoftheiterationandprovidescontextforthedailystand‐upmeeting.Abenefitwithmovingtothisapproachisthatlowerprioritytaskscanbeleftunassigneduntilreadytobeworkedwhichhelpsreducetheworkinprogressandprovidebetterthroughput.Ifstoriesaresmallenoughand/ortaskidentificationbecomesrote,tasksmaybecomeunnecessaryoverheadandtheteammayconsideromittingthem.Someteamstakethisastepfurtherandreduceestimationtoitssimplestformbymakingallstoriesthesamesize.Breakingstoriesdownistypicallyabigchallengeforteamsnewtoagilesothisapproachisbestattemptedbyamatureteam.
PlanningShortenstheFeedbackLoopThemechanicsofouragileiterationsprovideusaquickfeedbackloopwherewecanregularlyinspectandadapt.ThecapacitybasedplanningtechniqueIexplainherefurthershortensthefeedbackloopallowingteamstorealizebeforestartingworkwhethertheiterationisatriskornot.EarlierthisyearIwasworkingwithateaminChicagoandonthemorningoftheiterationplanningtherewasnoenergyintheroom.Iaskedtheteamwhatwaswrong.Theytoldmetheirplanwouldn’tmakeanydifferencetheyweregoingtohavetodoitallin2weeksregardless.Theteamstartedplanning,pullingitemsofftheproductbacklogandcreatingtheiriterationbacklog.WhentheteamhadcommittedabouthalfofwhattheProductOwnerhadoriginallyhopedfortheyhadreachedtheirfullcapacity.IbroughttheProductOwnerintothediscussion;helookedattheIterationBacklogthenlefttheroom.Hecamebackshortlythereaftertoannouncethathe’djustspokenwiththecustomerandtheyhadagreedtopushbackthereleasedatetoallowforanextraiteration.Theteamwasdelighted.Ifyouareabeginningagileteamconsiderstartingwithcapacitybasedplanningtoshortenyourfeedbackloop.Onceyouhaveestablishedaconsistentrhythmofsuccessfuldeliverythenitmaybetimetothinkaboutoptimizing.You’llknowwhenthattimeis.Asaself‐organizing,self‐managingteamyourreflectiononyourretrospectivedatawillpointtheway.
BibliographyCohn,Mike.AgileEstimatingandPlanning.Boulder:PrenticeHall,2006.Roth,Ronica."ItTakesaVillage:6WaysToFilltheProductOwnerRole."BetterSoftware.September2009.www.stickyminds.com.
![Page 9: Agile Planning an Iteration How To](https://reader034.fdocuments.net/reader034/viewer/2022051402/563db9f2550346aa9aa158ea/html5/thumbnails/9.jpg)
9
Sorowiecki,James.TheWisdomofCrowds.NewYork:AnchorBooks,2005.Tabaka,Jean.CollaborationExplained:FacilitationSkillsforSoftwareProjectLeaders.Boulder:AddisonWesley,2006.