Man, the living creature, the creating individual, is always more
important than any established style or system
If you spend too much time thinking about a thing, you'll never get it done. absorb what is useful, discard what is useless... B!"# $## TABLE OF CONTENTS I%&'(!"&I'%.........................................................................................................................) Background..........................................................................................................................................) Manifesto for *gile +oftware (evelopment........................................................................................., -.*& I+ +"!M/......................................................................................................................0 +ummary..............................................................................................................................................0 oles and esponsibilities of a +crum &eam.......................................................................................1 Product Owner..........................................................................................................................................................8 ScrumMaster ............................................................................................................................................................8 Team Member...........................................................................................................................................................8 &he +i2e of a +crum &eam ...................................................................................................................3 &.# 4#5*M# 4.*+#..............................................................................................................67 (etermine 8easability........................................................................................................................66 +et &he 4roduct 9ision.......................................................................................................................6: "reate an Initial 4roduct Backlog ;4B<..............................................................................................6= What is the product backlog?....................................................................................................................................14 What inormation do we capture in the product backlog?........................................................................................... 1! 4rioritise the 4roduct Backlog...........................................................................................................6, #stimate &he 4roduct Backlog...........................................................................................................60 Selecting an "stimation Techni#ue...........................................................................................................................1$ "stimate %sing &deal Time........................................................................................................................................................1$ "stimate %sing Stor' Points.......................................................................................................................................................1( Make "stimation )un %se Planning Poker ..................................................................................................................*+ ,d-ust "stimates......................................................................................................................................................*1 .omple/it' )actor.....................................................................................................................................................................*1 0rag )actor..............................................................................................................................................................................*1 Working "n1ironment...............................................................................................................................................................*1 Multiple2Teams.........................................................................................................................................................................*1 ,re there multiple teams in1ol1ed?............................................................................................................................................*1 ,d-ustment )actor .hart...........................................................................................................................................................** .hoose Sprint 3ength...............................................................................................................................................*4 "alculate Initial 9elocity....................................................................................................................:= What is 5elocit'?.....................................................................................................................................................*4 6ow to .alculate &nitial 5elocit'?..............................................................................................................................*4 .alculating 0uration.................................................................................................................................................*4 "stimate an &nitial .ost and 0uration........................................................................................................................*4 Initial elease 4lanning.....................................................................................................................:) "reate .igh $evel *rchitecture and (esign.......................................................................................:) Identify isks.....................................................................................................................................:) &.# 5*M# 4.*+#.....................................................................................................................:, &he +print 4lanning Meeting..............................................................................................................:, .alculate 6ours ,1ailable to the Sprint Prior to Meeting..............................................................................................*7 Set the Sprint 8oal...................................................................................................................................................*$ .reating a Sprint 9acklog :Task "/pansion;..............................................................................................................*$ #>ecuting the +print..........................................................................................................................:1 ,llocating Tasks :We 0ont;.......................................................................................................................................*8 The 0ail' Stand2up Meeting......................................................................................................................................*( Sticking to the Sprint 9acklog...................................................................................................................................4+ %sing a White2board or the Sprint 9acklog...............................................................................................................41 0ail' "stimation o Time <emaining..........................................................................................................................41 The Sprint 9urn2down .hart.....................................................................................................................................4* What do we do with Product 9acklog &tems not .ompleted?.......................................................................................44 The Sprint <etrospecti1e..........................................................................................................................................44 <e2planning ,ter or 0uring a Sprint.........................................................................................................................44 The Product 9urn20own .hart..................................................................................................................................47 Parking 3ot <eport...................................................................................................................................................4$ 0eect <eport..........................................................................................................................................................4$ 4'+&5*M# 4.*+#....................................................................................................................=1 *44#%(I?................................................................................................................................=3 4lanning 4oker "ards.........................................................................................................................=3 .ards 1 and *..........................................................................................................................................................4( .ards 4 and !..........................................................................................................................................................4+ .ards 8 and 14........................................................................................................................................................41 .ards *1 and 44......................................................................................................................................................4* 8re@uently *sked Auestions..............................................................................................................B= I%&'(!"&I'% Background The e/perience ater decades o ollowing traditional hea1'weight prescripti1e practices has made it e1ident that = The clients or users are not sure what the' want. The' ha1e diicult' stating all the' want and know. Man' details o what the' want will onl' be re1ealed during de1elopment. The details are o1erwhelmingl' comple/ or people. ,s the' see the product de1elop> the' change their minds. "/ternal orces :such as a competitor?s product or ser1ice; lead to changes or enhancements in re#uests. 9ullet Point Source= ,gile and &terati1e 0e1elopment= , Manager?s 8uide b' .raig 3arman &n the mid 1((+?s indi1iduals were rustrated with these shortcomings and a number o alternati1e methods emerged. These methods ha1e become standard practice in man' companies worldwide. These new practices all under the term @agile methods.A On )ebruar' 11214> *++1 these 1isionaries met and the ,gile ,lliance was ormed. @The *gile *lliance is a non2proit organiBation that supports indi1iduals and organiBations who use agile approaches to de1elop sotware. 0ri1en b' the simple priorities articulated in the @Maniesto or ,gile Sotware 0e1elopmentA agile de1elopment approaches deli1er 1alue to organiBations and end users aster and with higher #ualit'.A Source= www.agilealliance.org The ,gile amil' consist o a number o methods C rameworks that appl' dierent techni#ues but adhere to the same principles. , popular method within this amil' is @scrum.A Scrum was created b' Den Schwaber> Ee Sutherland and Mike 9eedle. Scrum is a simple process and is industr' pro1en> it is not a sil1er bullet and re#uires hard work and commitment. Manifesto for Agile Software Developent We are unco1ering better wa's o de1eloping sotware b' doing it and helping others do it. Through this work we ha1e come to 1alue= &ndi1iduals and interactions o1er processes and tools
Working sotware o1er comprehensi1e documentation
.ustomer collaboration o1er contract negotiation
<esponding to change o1er ollowing a plan That is> while there is 1alue in the items on the right> we 1alue the items on the let more. Dent 9eck Mike 9eedle ,rie 1an 9ennekum ,listair .ockburn Ward .unningham Martin )owler Eames 8renning Eim 6ighsmith ,ndrew 6unt <on Eeries Eon Dern 9rian Marick <obert .. Martin Ste1e Mellor Den Schwaber Ee Sutherland 0a1e Thomas F *++1> the abo1e authors Source= www.agilemaniesto.org !"AT #S SC$%M& Suar' Scrum is an iterati1e> incremental process or de1eloping an' product or managing an' work. &t produces a potentiall' shippable set o unctionalit' at the end o e1er' sprint :iteration;. &t?s attributes are= Scrum is an agile process to manage and control de1elopment work. Scrum is a wrapper or e/isting engineering practices. Scrum is a team2based approach to iterati1el'> incrementall' de1elop s'stems and products when re#uirements are rapidl' changing Scrum is a process that controls the chaos o conlicting interests and needs. Scrum is a wa' to impro1e communications and ma/imiBe co2operation. Scrum is a wa' to detect and cause the remo1al o an'thing that gets in the wa' o de1eloping and deli1ering products. Scrum is a wa' to ma/imiBe producti1it'. Scrum is scalable rom single pro-ects to entire organiBations. Scrum has controlled and organiBed de1elopment and implementation or multiple interrelated products and pro-ects with o1er a thousand de1elopers and implementers. Scrum is a wa' or e1er'one to eel good about their -ob> their contributions> and that the' ha1e done the 1er' best the' possibl' could. Source= http=CCwww.controlchaos.comCabout Scrum consists o the ollowing three phases 4regame Planning 6igh 3e1el ,rchitecture 6igh 3e1el 0esign 5ame "/ecution 4ostgame .losure $oles and $esponsi(ilities of a Scru Tea )roduct Owner The product owner :PO; represents the customer:s;> stakeholder:s; or under:s; o the product. The PO is a part the team deli1ering the product. The product owner is responsible or= setting the product 1ision managing the return on in1estment :<O&; present initial and ongoing product re#uirements to the team prioritise each re#uirement relati1e to business 1alue manage new re#uirements and their prioritisation release planning act as mediator when there are multiple customers ensure sub-ect matter e/perts :SM"?s or business domain e/perts :90"?s ; are a1ailable to the team ScruMaster :Pro-ect Manager; The pro-ect manager :PM; role diers rom traditional command and control methods. The PM in scrum works with and or the team. The PM is responsible or= allowing the team to sel2organise to get the work done ensure that communication paths are open and eicient ensure and help the team to ollow the scrum process remo1e an' impediments :issues; that the team encounter protect the team rom outside intererences to ensure that their producti1it' is not aected acilitate the dail' stand2up meeting Tea Me(er , team member is an indi1idual that commits to getting the work done. Team members are cross2unctional. What do we mean b' that? &n traditional methods we ha1e distinct roles e.g. tester or architect. &n a scrum team we ha1e people with architecture skills> testing skills> howe1er man' indi1iduals or e/ample an architect could ha1e suicient secondar' skill to help out in testing.
These cross2unctional skills help the team to get the work done. The team member is responsible or= setting the sprint goal committing to the work and doing it to the highest #ualit' work to the product 1ision and sprint goal collaborating with team members and help the team to sel2 organise estimating o re#uirements and ensuring that the work eort remaining is up to date attending the dail' stand2up meeting raise impediments T*e Si+e of a Scru Tea , scrum team should not e/ceed ( people :G2 *> $ is the recommendation.; Small teams are more producti1e than large teams> one reason is the number o communication paths within a team. & the team is larger than this recommended siBe then it should be split into * teams and s'nchronisation should occur. The ormula below allows us to calculate the number o communication paths in a team where e1er'one is e@ual. & emphasiBe the word e#ual as this is purel' an indicati1e measurement as in the real world it is not e#ual e.g. Management 6ierarchies :Program 0irector> Product 0irector etc.; H is the number o people in a team. .ommunication Paths C IH J :H21;K C * We get= %umber of 4eople in &eam %umber of "ommunication 4aths 1 + ! 1+ 1+ 4! 1! 1+! *+ 1(+ *! 4++ 4+ 44!
T"E )$E,AME )"ASE The pregame phase is akin to the traditional @initiation and planningA phases. We appl' a lightweight approach to ensure that we get to producing working product eatures #uickl'. 0uring the pregame phase we perorm the ollowing= 0etermine )easabilit' Set the Product 5ision .reate an initial product backlog Prioritise the Product 9acklog "stimate the Product 9acklog .hoose Sprint 3ength .alculate &nitial 5elocit' "stimate <esources and .ost .reate 6igh 3e1el ,rchitecture and 0esign &denti' <isks The pregame phase is short it is not like a traditional waterall approach where or e/ample 8 months is spent writing a 9usiness <e#uirement Speciication> 0esign Speciication> Sotware <e#uirements Speciication> 0etailed Test Strateg' etc. This phase can be a matter o da's or weeks. The aim is to get appro1al and bu'2in and begin deli1ering product 1alue to the customer #uickl'. Deterine Feasa(ilit' &n traditional methods this can take a long time> but lets take a dierent approach. What i we got the right people into a room and workshop the product easibilit' with the aim o obtaining indicati1e sa1ings or potential earnings. Most people based on an idea will alread' know i it is easible or not. The importance here is that a decision needs to be made> and made #uickl'. Please note that & know it is more comple/ but & hope that this will moti1ate 'ou to see things in a simpler and lightweight wa'. 3ets walk through a h'pothetical e/ample or a bank and show how this can work. @The mortgage group based in head#uarters consists o !+ mortgage administration sta who are responsible or processing mortgage applications. When a mortgage application is recei1ed the sta process it and then ile it in the customer ile stored in the iling room. The' use an e/cel spreadsheet to track the status o the application as in most cases re#uire urther inancial checks etc so the' are deemed pending until appro1ed or not appro1ed. The mortgage group manager :3ets call her 3isa; has recommended that this is a ma-or problem and needs to be i/ed. 6er sta are spending up to * hours a da' retrie1ing and locating customer iles> their mortgage product is popular and the' are processing around 1!++ a month :$! p.d; . Sta morale is low as the' are onl' not coping with the demand :she needs an e/tra 4 sta at the minimum; and she is concerned that this archaic process is starting to aect customer attitude and ser1ice le1els. The' are known or their ser1ice and are worried that a competitor ma' start chipping awa' their customer base i ser1ice le1els drop. 3isa has recommended that this needs to mo1e to an electronic based process. The di1isional manager> team leader> hersel and a ew sta book out hal a da' to workshop the concept.A The' white2board the problem and together work out some indicati1e metrics. The' take the a1erage dail' cost per sta member> work out an hourl' rate and determine that this * hour waste e#uites to roughl' L$! per da' per sta member. Waste .ost M :Sta N Waste .ost Per 0a'; N Humber o ,1erage 0a's Worked Per Oear Waste .ost M :!+ N L$!; N *** Waste .ost M L84*>+++ The' discuss this urther and work out the ollowing= Sta processing about 1.! applications per da'> eliminating this waste the group would be able to process an e/tra 18 applications per da'> an e/tra 47+ a month. "liminates new hiring o 4 sta :around L*77>+++ per annum; "liminating waste is the e#ui1alent o around 1* )T"?s :about L8++>+++ labour cost; .ustomer ser1ice le1els impro1e The di1isional manager is e/cited and e1er'one agrees that this is 1er' easable. 6e is willing or the group to spend some time work out some costs and high le1el re#uirements and he will present this to the national director or unding appro1al i it looks like a winner.
Set T*e )roduct -ision The product 1ision is our ele1ator pitch and allows e1er'one to understand the big picture. This 1ision statement guides product de1elopment acti1ities and pro1ides direction to the team on what we are tr'ing to achie1e. The 1ision statement allows us to open oursel1es to the act that we can achie1e the possible. The ollowing areas ma' help to direct 'ou towards creating a product 1ision= People :e.g. customers> users; The OrganiBation Pualit' &nno1ation and .reati1it' :e.g. market dierentiation; "n1ironment :e.g. competitors> partners; Perception %sing our pre1ious e/ample 3isa and her team sit down or * hours an workout a product 1ision. The' come up with the ollowing= @To implement centralised electronic document repositor' or mortgage applications pro1iding the bank with the abilit' to handle increases in mortgage applications without hiring new sta through producti1it' gains. The solution will allow us to reduce our customer in#uir' time2rames maintaining our competiti1e ad1antage as a customer ocused pro1ider o inancial ser1ices> at the same time sta attrition will be reduced pro1iding signiicant sa1ings in replacing and training e/isting sta.A Create an #nitial )roduct Backlog .)B/ 3isa and representati1es rom her team book another workshop> in1ite some &T participants and spend hal a da' identi'ing re#uirements at a 1er' high le1el. The' are now read' to populate an initial product backlog. ,nother h'pothetical e/ample o one o their white2board eorts is show below= !*at is t*e product (acklog& The product backlog is owned and managed b' the Product Owner. &t is a d'namic prioritiBed source or all the work that needs to be done to deli1er a product. This artiact is product ocused not s'stem ocused. , product backlog consists o= )eatures "nhancements 0eects Hon &T 0eli1erables The list o items that reside within the product backlog are known as Product 9acklog &tems :P9&?s.; These items are high le1el descriptions o work known as user stories. "/amples are shown below= ,s the mail room & must scan mortgage applications rom the customer so that the' can be processed ,s the s'stem & must load scanned images so the' are a1ailable to the inde/ing user ,s the inde/er & want to be able to 1iew a list o all applications re#uiring inde/ing ,s the inde/ing user & want to be able to record customer inormation or a mortgage application ,s the marketing department & want to produce a product brochure to hand2out at our internal conerence Some people preer to use a shorter orm or e/ample= Scan mortgage application orms 3oad images and make a1ailable to inde/er 5iew list o applications re#uiring inde/ing &nde/er record customer inormation against application Produce Marketing Product 9rochure )or more inormation on user stories please reer to the ollowing sources= http=CCwww.mountaingoatsotware.comCarticleC1iewC*$ http=CCwww.e/tremeprogramming.orgCrulesCuserstories.html !*at inforation do we capture in t*e product (acklog& The details below pro1ide a guideline to what inormation 'ou ma' want to capture in a product backlog. Item (escription <eerence %ni#ue identiier or #uick reerence during collaboration 0escription , high le1el description o the item T'pe )eature> Hew )eature> "nhancement> 0eect 8roup This can also be known as a eature set but is simpl' a grouping o unctionalit' or e/ample= .ustomer Management .ontact Management <elati1e 5alue , actor that identiies the business 1alue :Scale o 1 to 1+> 1+ been the highest business 1alue; &nitial "stimate This can be in stor' point or ideal da's ,d-ustment )actor , summation o actors that ma' increase the initial estimate ,ctual "stimate &nitial "stimate N :1 G ,d-ustment )actor; <elease The release number that the P9& will be included in Sprint :&teration; The sprint that the P9& has been allocated to Hotes ,dditional comments> reerences or points o interest> be careul not to get into too much detail> some people preer this to be seperate Status 0one or Hot 0one .ommitted 6as this item been committed b' the product owner i.e it has been decided that it will be incorporated into the product ,n e/ample is shown below> in all e/amples & am assuming that all items ha1e been committed. ef (escription &ype 5roup elative 9alue Initial #stimate *dDust 8actor #stimate elease +print +tatus +1 ,s the mail room & must scan mortgage applications rom the customer so that the' can be processed )eature Scanning and &maging 1+ 4 + 4 1 1 Hot 0one +* ,s the s'stem & must load scanned images so the' are a1ailable to the inde/ing user )eature Scanning and &maging 1+ ! +.! $.! 1 1 Hot 0one We are not concerned that the P9&?s are not detailed. .ustomer?s do not know all their re#uirements up2ront and customers change their minds when the' see working eatures. We keep the P9&?s at a high le1el> this inorms us that we need to collaborate with the customer when we start working on it. ,llowing the customer to decide as late as possible gi1es us an ad1antage as the' will ha1e the most up to date inormation at hand and we are more likel' to deli1er a product that meets their business needs. )rioritise t*e )roduct Backlog "1er' item on the product backlog needs to be prioritised. This prioritisation tells us which items we should be deli1ering irst. To prioritise a product backlog item the product owner determines the relati1e business 1alue o the item using the scale below. 6ere are a ew guidelines to assist in determining the business 1alue o the product backlog item. What is the inancial beneit o me introducing this eature? Will it increase re1enue or is the de1elopment eort and cost more than it?s reall' worth? Will this eature increase producti1it' and usabilit' or will it cause rustration and resentment towards the product and organisation? & & introduce this eature will it result in large training costs or our users or customers? & & introduce this eature will it result in a change in business processes? & 'es are we taking into account the cost o that change? What is the penalt' i & do not implement this eature? e.g. 3egislation and compliance
& & introduce this eature will it result in an increase in risk or will it eliminate a number o e1ident risks we are currentl' e/posed to? Will this eature dierentiate us in the market? The backlog e/cerpt below shows us an e/ample o prioritised items= ef (escription &ype elative 9alue +1 ,dd a new customer )eature 1+ +* "dit an e/isting customer )eatrue 1+ +4 <emo1e an e/isting customer )eature 4 +4 ,dd a customer contact )eature ( +! "dit an e/isting customer contact )eature ( +7 <emo1e an e/isting customer contact )eature 4 +$ 5iew compan' location in street director' map )eature 1 -.*& ('#+ &.I+ &#$$ !+/ The customer wants us to deli1er the abilit' to add and edit customer inormation irst. Then the' want us to deli1er the abilit' to add and edit the contacts or a customer. Then the' want us to pro1ide the capabilit' to delete customers and contacts. 3astl' the' want us to integrate with street director' maps to 1iew the customer location Estiate T*e )roduct Backlog What is an estimate? "stimate 6 an appro/imate calculation. : a written statement indicating the likel' price that will be charged or speciied work. = a -udgement or appraisal +ourceE '>ford (ictionary To estimate the product backlog items we ollow this simple process= S"3".T "ST&M,T&OH T".6H&P%" &H&T&,3 "ST&M,T&OH O) &T"MS QRSTUV WUVXYQVWU Selecting an Estiation Tec*ni0ue Estimate Using Ideal Time We might estimate that something will take / da's o eort to complete> unortunatel' this is not how long it will take :duration.; )or e/ample= Eohn estimates that to complete item ,9. that it will take him * da's o eort. On da' one an urgent support call or a production s'stem needs resolution> Eohn spends hal a da' resol1ing it and spends hal a da' working on item ,9.. On da' * on the wa' to work> Eohn recei1es a call that his mother has allen down the stairs> he rushes o to ensure she is ok> he spends a da' awa' rom work at the hospital. Eohn returns on da' 4 and does hal a da' o work on ,9.> this hal a da' was not 1er' producti1e as he was constantl' thinking about his mom. &n the aternoon he shoots o to pickup his mom as she is been discharged rom hospital ater an o1ernight precautionar' sta'. Eohn returns on da' 4 and spends the whole da' on ,9. he is producti1e. On da' ! Eohn spends hal a da' and completes item ,9. Eohn estimated that it will take * da's o eort to complete item ,9. &t actuall' took Eohn *.! da's o eort to complete item ,9. The duration that it took to complete item ,9. was 4.! da's &t is not possible to take into account all the interruptions that team members will e/perience and accuratel' estimate how long something will take to do.
,nother e/ample= Eohn might take * da's o eort to complete something> Mar' is not as e/perienced as Eohn and ma' take 4 da's. What happens i Eohn is in-ured and o or the duration o the pro-ect and Mar' is brought in to co1er or Eohn> in theor' all o Eohn?s work is going to take twice as much eort. This is wh' we estimate in ideal da's or hours. This is how long we think something would take i their were no interruptions or obstacles to complete a product backlog item. This should be a team based estimate where possible. "/ample= Eohn> Mar' and Paul sit down. The' are re#uired to calculate the estimate or the product backlog items. )or each item the indi1iduals estimate in ideal time how long an item would take to complete. This can either be a1eraged as shown below or use the same techni#ue in the ne/t section on Stor' Points. Item to #stimate Fohn Mary 4aul #stimate in Ideal (ays ,s a site 1isitor & want to be able to subscribe to the compan' newsletter 7 4 4 4.4 ,s the s'stem & must send out a conirmation email when a site 1isitor successull' registers or the newsletter 1 ! 4 4 ,s a manager & want to be able to 1iew a report on all new newsletter subscribers or a gi1en da' 4 ! 4 4 &'&*$ 66.= days Estimate Using Story Points Stor' points is an estimating techni#ue that has become a1orable in agile teams. &ts ocus is to estimate a product backlog item based on relati1e magnitude :siBe; and comple/it' C diicult'. There are man' dierent t'pes o scales that are used to allocate points. ,s humans we are much better at predicting siBe and comple/it' than duration. , stor' point is an abstract concept. The beneit with using stor' points is that it is not time based so does not re#uire high maintenance like ideal time> i something is big and comple/ in most cases it will sta' big and comple/. &t is more eicient to estimate in stor' points than ideal time. )or e/ample an e/perienced de1eloper and a no1ice de1eloper can #uickl' agree whether something is big and comple/. We can simpl' use a number series rom the )ibonacci se#uence. We ha1e selected to use the 1alues below as stor' points. 44 is the most comple/ and largest 1alue. 1 2 3 5 8 13 21 34 &n short the team members doing the work sit down together and each person estimates the siBe and comple/it' o the eature using the scale abo1e> the' discuss it> compare it to other stories we ha1e alread' estimated :this is known as triangulation; and then re2estimate it. The team then reaches consensus on what 1alue to allocate. #>ample of +tory 4oint #stimatingE The team are presented with the ollowing eature to estimate. "ach indi1idual thinks about it and comes up with the ollowing estimates. Item to #stimate Fohn Mary 4aul ,s a site 1isitor & want to be able to subscribe to the compan' newsletter 14 ! 8 Eohn is asked wh' he has gi1en a actor o 14 as there is a large 1ariance rom the others. Eohn states that @we will need to write a registration page> 1alidation rules and database calls so its prett' big and there ma' be some comple/it' in it. & also think that it is roughl' 4 times bigger than stor' N estimated earlier.A Mar' sa's to Eohn> @& ha1e gi1en it a rating o ! because & was thinking o using the librar' we used last 'ear or customers who want to register to recei1e our compan' announcements. We can re2use a lot o it> and deli1er this eature earl'. & think its roughl' the same siBe as stor' N and O.A Paul states @& ha1e done this heaps o times or other companies> its prett' simple so thought & would gi1e it an 8> but Mar' & agree i 'ou are conident that we can re2use that librar' it would sa1e us a lot o time> 'es & agree that it is about the same as stor' O.A The team re2estimate with the ollowing results= Item to #stimate Fohn Mary 4aul ,s a site 1isitor & want to be able to subscribe to the compan' newsletter $ ! 7 The team agree to allocate 7 stor' points as the estimate. Make Estiation Fun %se )lanning )oker , great eecti1e un wa' in estimating is to use a concept called planning poker. There is no gambling> 'ou can lea1e 'our wallets behind. &t is 1er' simple= "ach person is gi1en a pack o cards containing the )ibonacci series :reer to "stimate %sing Stor' Points.; The person who is acilitating the estimation reads out the user stor' :product backlog item; and an' additional notes. The team ma' ask the Product Owner :or representati1e; a ew #uestions. The point is make sure it is high le1el and does not go into detail. When #uestions are completed or time allocated time has run out :to ensure we dont spend to much time on one stor'; each person selects their estimate :a card; based on the siBe and comple/it' o the stor' and places it ace down on the table. When e1er'one has selected a card> the' all at once turn them o1er. & there is great 1ariance between the selected cards> the teams discusses the low and high cards and ind out what those team members were thinking to get to their estimate. We are not tr'ing to undermine their estimate but to tr' and ind out i the' were thinking o things we had not thought o or might ha1e missed. This is a good opportunit' to take notes or later. "1er'one picks up their card and returns it to the pack. The' re2estimate the stor' b' thinking about it or a short time> selecting their card and placing it ace down on the table again. This is repeated until the cards are close to ull alignment on the estimate Some people put a restriction on the number o rounds to pre1ent getting bogged down The team reaches agreement on the estimate , pack o planning poker cards can be ound in appendi/ , Ad1ust Estiates Our initial estimates were @ideal worldA estimates. ,d-usting the estimate allows us to be aware o actors that are going to aect the teams producti1it'. ,d-ustment actors should be continuousl' re1iewed. )or e/ample ater three months o working together the the team should be working well together and their technolog' and business understanding should be suicient. The inormation below is not an accurate measure but simpl' allows us to realise or take into account that a lot o unknowns are going to aect the pro-ect. ,n ad-ustment actor can be applied in the ollowing wa's= .alculated as a single actor and applied to a number o items .alculated as a single actor to be applied to a group o stories .alculated indi1iduall' or each product backlog item &o adDust our estimates we use the following formulaE "stimate C &nitial "stimate ? :1 G :comple/it' G drag G working en1ironment G multiple teams;; Complexity Factor 6ow comple/ are the re#uirements and technolog' that we are using? Drag Factor The drag actor takes into account three areas that will aect the teams producti1it'= 6as the team worked together beore? & 'es then or how long? What le1el o skill does the team possess regarding the technolog' been used? 0oes the team know the business domain? Working Environment &s the team located together as a group or are the' in separate loor areas> oices or regions? , team co2located in a single room or e/ample is going to be more producti1e. MultipleTeams ,re there multiple teams in1ol1ed? Multiple teams re#uire s'nchronisation> this will aect producti1it'. !d"ustment Factor C#art 6. "'M4$#?I&G 8*"&' Simple + Slightl' .omplicated +.1 .omplicated +.* 5er' .omplicated +.7 4lease note that the "omple>ity 8actor has been adapted from the original source :. (#&#MI%# -'HI%5 #%9I'%M#%& 8*"&' & the team is not co2located in one dedicated area :e.g. room; then add +.1 =. (#&#MI%# M!$&I4$# &#*M+ 8*"&' & there are multiple teams then add +.1 B. (#&#MI%# &.# (*5 8*"&' (rag 8actor &eam &ogether &echnical Hnowledge Business Hnowledge +.8 Z 4 months 3ow 3ow +.$! Z 4 months 3ow Medium +.$+ Z 4 months 3ow 6igh +.$! Z 4 months Medium 3ow +.!+ Z 4 months Medium Medium +.!+ Z 4 months Medium 6igh +.$! Z 4 months 6igh 3ow +.!+ Z 4 months 6igh Medium +.4! Z 4 months 6igh 6igh +.7+ Z 1 Oear 3ow 3ow +.!! Z 1 Oear 3ow Medium +.!+ Z 1 Oear 3ow 6igh +.!! Z 1 Oear Medium 3ow +.4+ Z 1 Oear Medium Medium +.*! Z 1 Oear Medium 6igh +.!+ Z 1 Oear 6igh 3ow +.*! Z 1 Oear 6igh Medium +.*+ Z 1 Oear 6igh 6igh +.!+ [ 1 Oear 3ow 3ow +.4! [ 1 Oear 3ow Medium +.4+ [ 1 Oear 3ow 6igh +.4! [ 1 Oear Medium 3ow +.4! [ 1 Oear Medium Medium +.*+ [ 1 Oear Medium 6igh +.4+ [ 1 Oear 6igh 3ow +.*+ [ 1 Oear 6igh Medium +.++ [ 1 Oear 6igh 6igh #>tracted from #stimation in *gile 4roDects, (r. "hristoph +teindl ;IBM< C*oose Sprint Lengt* , sprint does not e/ceed 4 weeks. &t is recommended that a sprint be set at 4 weeks :*+ business da's.; Others preer * week sprints. Whate1er length 'ou decide on the important thing to remember is to keep the length constant as this pro1ides stabilit' to the team. 0o not end up in the situation below= +print $ength ;(uration< 1 ! 0a's * 1! 0a's 4 1+ 0a's 4 ! 0a's ! *+ 0a's Calculate #nitial -elocit' !*at is -elocit'& 5elocit' is the measure o the producti1it' o the team i.e. The the rate at which the team is completing work rom the product backlog. 5elocit' is the most important metric as it tells us how much work can be done in a sprint. 5elocit' can be used in ideal time or stor' point ormat. "ow to Calculate #nitial -elocit'& When we start a pro-ect> we do not know what our 1elocit' is> we ha1e to somehow work out an initial estimated 1elocit' that we think we can achie1e in the irst sprint. When we are bit into our irst sprint we will begin to realiBe our 1elocit' as eatures begin to be completed. The ollowing options can be used to calculate an initial 1elocit'= & 'ou are luck' to ha1e pre1ious pro-ects that ha1e used scrum then use their actual 1elocit' or similar work and team skill or composition. & it is the same team then e1en better. Predict the 1elocit'> take some stories> e/pand them into tasks to work out what 'ou think 'ou can complete "/ecute a short sprint to complete a ew stories to work out 1elocit' Calculating Duration So how do we calculate duration? %sing stor' points= 0uration M SiBe <emaining C 5elocit' %sing ideal time= 0uration M &deal Time <emaining C 5elocit' Estiate an #nitial Cost and Duration Please note & am keeping this 1er' simple and not tr'ing to go into details o costing models etc. We simpl' use this ormula= .ost o Pro-ect M Mone' Spent G :Sprints <emaining N Sprint 9urn <ate; & will use stor' points in this e/ample but the same applies to ideal time i 'ou choose to use it. We are going to use sprints o *+ business da's. ,ter we ha1e ad-usted our estimates our product backlog has a total estimation o (+ stor' points.We determine that our initial 1elocit' or sprint 1 :*+ 0a's; will be 4+. ,s we ha1e not started the pro-ect our work remaining is the sum o all estimated stor' points i.e. (+. So using our ormula= 0uration M SiBe <emaining C 5elocit' 0uration M (+ C 4+ 0uration M 4 So we estimate that it will take us 4 sprints to complete the current backlog> i.e. end o March. Ean )eb Mar 4+ 4+ 4+ ,t a high le1el we know that our team will roughl' burn around L*+>+++ per month> so the initial estimated cost is= .ost o Pro-ect M Mone' Spent G :Sprints <emaining N Sprint .ost; M L+ G :4 N L*+>+++; M L7+>+++ We ha1e now got an indicati1e cost to do the current work on the product backlog. We can now appl' a *+\ buer to this and sa' that we think to deli1er the product based on the initial backlog we are looking in the region o L48>+++ to L$*>+++. &n most companies the buer margin will dier and in some the' ma' not e1en use a range. This is enough or us to approach our under or the appro1al or release o initial unding. #nitial $elease )lanning ]to be completed^ Create "ig* Level Arc*itecture and Design ]to be completed^ #dentif' $isks ]to be completed^ T"E ,AME )"ASE The pregame phase has been completed and inance :or other; ha1e release all or some o the unding to commence with deli1ering 1alue. This is where the un begins. T*e Sprint )lanning Meeting &he sprint planning meeting is a short meeting> hal a da' is realistic> and wh' not> remember we are onl' looking at *+ da's o work held prior to e/ecuting a sprint. The product owner> scrum2master and team attend this meeting. The product owner attends so that he can answer an' #uestions that the team has. Calculate "ours Availa(le to t*e Sprint )rior to Meeting The scrum2master and team need to work out the resource a1ailabilit' or the sprint prior to holding the sprint planning meeting. This is simpl' the number o sta hours o work a1ailable or the *+ da's. , persons ull da' o producti1it' should be set at 7 hours. Ho2one is producti1e or a ull da' :normall' 8 hours; as we take into account personal phone calls> answering emails> meetings and other interruptions. The resource matri/ below pro1ides an illustrati1e e/ample o how we can determine the hours a1ailable to a sprint. #+'!"# 4$*%%I%5 M*&I? .ours *vailable for each (ay in +print esource 6 : = B ) , 0 1 3 67 66 6: 6= 6B 6) 6, 60 61 63 :7 0ope' 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 9ashul 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 0oc 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 SneeB' 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8rump' 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6app' 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 Sleep' 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 &'&*$ B: B: B: B: =7 =7 =7 =, =7 =, B: B: B: B: B: B: B: B: B: B: TOT,3 H%M9"< O) 6O%<S ,5,&3,93" TO SP<&HT &S 017 9ashul has 4 da's o 0oc as * 8rump' is o on lea1e or the second week in the sprint Oou ma' ha1e a team member who is also responsible or third le1el support so 'ou might cut their dail' hours down to 4 to cater or this. We now know that we ha1e around $8+ hours o tasks that we can complete in the sprint. We are now prepared or our sprint planning meeting. Set t*e Sprint ,oal The product owner based on the 1alue prioritisation o items in the product backlog will present to the team what he or she would like deli1ered in the sprint. "1er'one discusses and establishes an initial sprint goal. This goal is a 1er' simple description. )or e/ample= @,llow people to subscribe to our corporate newsletter and un2subscribe i the' do not wish to recei1e it an'moreA This allows the team to ocus on what needs to be achie1ed at the end o the sprint. 0uring the course o the planning meeting this goal might be adapted i the team cannot commit to all items re#uired to achie1e the goal. The team also might add to the goal i the' eel the' can commit to more items. Creating a Sprint Backlog .Task E2pansion/ The team is now read' to create the sprint backlog. The team selects the high priorit' items rom the product backlog that the' think the' can complete in the sprint and achie1e the sprint goal. These items are then e/panded into tasks in an artiact called the sprint backlog. The sprint backlog can be in scrum speciic tool> "/cel> a white2board or cards stuck on the wall. The team works through the selected items one at a time. )or each item the team discusses and determines all the tasks that are re#uired or the item to be @done.A This is known as task e/pansion. <emember that all sound sotware engineering practices are carried out in the sprint e.g. ,nal'sis> design> coding> testing> bug i/ing> user interace design etc. &t is important to understand what @doneA means. 0one means ull' tested working sotware that can be potentiall' released i asked to. We do not want to end up in a situation where we ha1e partiall' done items> this can occur i we do not complete all product backlog items in the sprint. ,n item that is 8+\ complete is not done. )or each task the team collaborates and works out how long the' think it will take :in hours; to complete. We should tr' and keep our task estimate within a 4 to 17 hour range. & we begin to e/ceed this then it is a sign that the task needs to be split in smaller tasks. ,n' tasks under 4 should be grouped with other tasks. )or e/ample= +tory &ask #st emaining -ho/ +tatus ,s a site 1isitor & want to be able to subscribe to the compan' newsletter Write subscribe acceptance test with customer 4 Hot 0one 0esign subscribe web page with customer 4 Hot 0one "stablish ields> design and create subscription database table 8 Hot 0one Write subscribe unit test 4 Hot 0one 0e1elop subscription .8& script ! Hot 0one Write subscription 1alidation rules ! Hot 0one 0esign Theme or templates 4 Hot 0one .ustomer %,T 4 Hot 0one &'&*$ =1 The team ha1e estimated that the item abo1e will take 48 hours to complete. We do the abo1e e/ercise or each item and ha1e a running sum o the number o hours we ha1e chewed up so ar. This allows us to determine i we ha1e selected too much or too little work. & the team cannot deli1er what the product owner re#uires then the goal ma' be ad-usted> the important thing here is that all parties collaborate to reach an agreement. Once this is inalised the team has committed to do their best to deli1er the items selected and to achie1e the sprint goal. )or e/ample= 3ets sa' we select 1+ items rom the product backlog. We ha1e e/panded each item into its corresponding tasks and team estimation has been completed. The total so ar is 4*+ hours o work. Our sprint has 7++ hours a1ailable. We ha1e 18+ hours o work let. We would then discuss with the product owner that we can commit to some more work and repeat the process. This ma' result in us changing our sprint goal. & we selected too much work we would discuss with the product owner to return some work to the product backlog and ad-ust the sprint goal accordingl'. E2ecuting t*e Sprint On completion o the sprint planning meeting we are read' to e/ecute our tasks to produce working sotware. 0uring the sprint the team collaborates amongst themsel1es> the' collaborate with the customer and use the customers eedback to ensure that the' are deli1ering what the customer wants. Allocating Tasks .!e Dont/ &n traditional pro-ect management the pro-ect manager assigns the tasks to the resources a1ailable. This is normall' done upront. &n an agile en1ironment the team is let alone to sel2organise> this does not impl' anarch' against management but simpl' the act that the' are the people doing the work and the' are best let to decide on how to tackle something> when to tackle something and who should do things so the' can achie1e their goal at the end o the sprint. The team collaborates and decides who should do which tasks. The team does not allocate all tasks at the beginning but as tasks are completed team members communicate and sign up to new tasks. T*e Dail' Stand3up Meeting "1er' da' the team and scrum2master meet or a dail' meeting :dail' scrum;. &t is recommended that this meeting should be held at the same place and time each da'> this wa' we dont ha1e team members running around tr'ing to ind out where toda's meeting is. This meeting is short and must not e/ceed 1! minutes. &t is important to understand that the meeting is or the team and scrum2master. Obser1ers are welcome to attend but the' must not interrupt the meeting b' making comments etc. The team are responsible or achie1ing the sprint goal> not the obser1er. This meeting has the ollowing beneits= 1isibilit' amongst the group> e1er'one knows whats going on allows the scrum2master to note impediments so that he C she can resol1e them or the team to ensure that there producti1it' is not compromised in an'wa' 0uring the meeting each team member has a turn to answer the ollowing three #uestions= What ha1e & done since our last meeting? What am & doing till our ne/t meeting? What is impeding me rom doing m' work? The scrum2master must ensure that the team does not digress and or e/ample start discussions on problem sol1ing> an'thing that is outside the abo1e three #uestions must be discussed outside o the dail' meeting. &t is recommended that the scrum2master announces that the meeting is oiciall' o1er so that e1er'one knows it is now appropriate or non meeting related items to be discussed etc. &t is the Scrum2masters responsibilit' to act on these impediments and resol1e them or the team. &mpediments pre1ent the team rom been producti1e and i not resol1ed will cause the team to potentiall' not meet their sprint goal. & the scrum2master cannot resol1e the impediment then the' must escalate it or resol1ing at a higher le1el> in the end do whate1er is possible to resol1e these in the teams best interest. & recommend that a register o impediments be kept. This register can be in an' orm be it e/cel or a white2board. ,n e/ample is shown below=
Sticking to t*e Sprint Backlog When a sprint is running the scrum2master should a1oid introducing or remo1ing product backlog items. This is to ensure that the team ocuses and completes the work the' ha1e committed to. This should onl' be done i too little or too much work has been committed )or e/ample= We are in week one o our 4 week sprint. , re#uest has come to the product owner that the business want a new eature added and worked on now. The product owner comes to the team and tells them the' must work on this new eature. This is disrupti1e to the team and introduces instabilit'. The team has spent time planning the sprint> the team is mentall' ocused on reaching their goal and more importantl' the team is alread' working on deli1ering sotware. The product owner should communicate this to the customer to tr' and get them to understand how this will disrupt the team. The best outcome is to prioritise it as high 1alue on the product backlog to be worked on in the ne/t sprint. .ommon sense needs to be applied to this guideline. & or e/ample or a critical bug was ound that that had ma-or conse#uences or the organisation> lets sa' @credit card pa'ments were been duplicated.A then it would be understandable to immediatel' include it in the current sprint and return something else back to the product backlog. & or some reason the situation is a total shambles then it is best to dissol1e the sprint and start again with a sprint planning meeting. "nsure that a sprint retrospecti1e is held i termination does occur 'ou want to be able to ind out the real causes or this e1ent happening. <emember this is a last resort. & this occurs :it shouldn?t; then a multitude o actors ma' be causing it> here are a ew or consideration= poor planning prioritisation is not correct lack o understanding and support o agile practices business en1ironment has had massi1e change product owner is a cowbo' or scrum2master is too sot customer is not spending enough eort on the product corporate politics %sing a !*ite3(oard for t*e Sprint Backlog &t is highl' recommended that a white2board or wall be used or the sprint backlog. This pro1ides a 1isual medium or the team to see what is going on and who is working on what. &t also assists with the dail' stand2up meeting and progress reporting. The la'out below shows how the medium can be structured> the 'ellow cards are the tasks= Hot 0one _ Shows us the work that has not 'et been started &n Progress _ Shows us what the team is currentl' working on <ead' or Testing _ Heeds testing b' testers or customer 0one _ Task has been ull' tested and is complete When a de1eloper selects a card to work on the' mo1e it into the @&H P<O8<"SSA column> when the' ha1e completed it the' mo1e it into the @<",0O )O< T"ST&H8A column. When the testers ha1e completed testing and it has passed the' mo1e it to the @0OH"A column. ,t the end o each da' the team member will write down the estimated time remaining on the task card not in the @Hot 0oneA and @0oneA columns> this eeds the sprint burn2down chart. Dail' Estiation of Tie $eaining ,t the end o each da' each team member updates how much time is remaining or their task the' are currentl' working on. & the' do inish something then the' will set the number o hours remaining to +. This is a 1er' #uick and simple mechanism 'et it pro1ides so much 1alue. T*e Sprint Burn3down C*art The sprint burn2down chart pro1ides us with a dail' snapshot on the teams 1elocit' i.e. Their producti1it'. &t allows us to track the teams progress through the sprint and i the team is going to meet their goal that the' ha1e committed to. We simpl' plot the work remaining :O ,/is; 1s time :N ,/is.; and add an ideal 1elocit' line. The chart aids us in decision2making such as= &s the team heading towards their goal 0o we need to pull more work into the sprint i.e. We are churning through the work> ha1e not committed enough work 0o we need to pull work rom the sprint i.e. We ha1e committed to to much work 3ets look at some e/amples= Things are looking good> the team is progressing nicel'. Things are not good> we need to remo1e some work. Things are too good> we need to pull in some more work We are in a lot o trouble here !*at do we do wit* )roduct Backlog #tes not Copleted& &tems that are not completed are not done. These items are returned to the product backlog. Oou ma' ha1e completed 8+\> but & repeat> it is not done. The amount o time to complete it in the ne/t sprint will be #uicker as it is 8+\ done> think o it as credits in the ne/t sprint. T*e Sprint $etrospective ,t the end o each sprint a retrospecti1e is held. &t is attended b' the product owner> scrum2master and all team members. The retrospecti1e allows us to continuousl' impro1e. 6ere are some e/amples on what can be co1ered= What did we do well during this sprint? What did we do badl' and what can we do to i/ it? 6ow is the team?s morale is e1er'one happ'? 6ows our communication? $e3planning After or During a Sprint ,t the start o our pro-ect our product backlog has a total siBe o 1++ stor' points. We determine that our initial 1elocit' or sprint 1 :4+ 0a's; will be *+. 0uration M 1++C*+> so we estimate that it will take us ! sprints to complete the current backlog> i.e. end o Ma'. ,t a high le1el we know that our team burns L*+>+++ per month> so the initial estimated cost is= &nitial .ost o Pro-ect M Mone' Spent G :Sprints <emaining N Sprint .ost; M L+ G :! N L*+>+++; M L1++>+++ Fan 8eb Mar *pr May *+ *+ *+ *+ *+ We ha1e a rough estimate o how much the current items on the backlog will cost to deli1er and ha1e determined that we anticipate inishing these items around the end o Ma'. ,ter iteration one our current 1elocit' is actuall' 4+ :i.e. completed 4+ points;> so siBe remaining is $+ :Total _ Work .ompleted to 0ate.; 0uration M $+C4+> So at our current rate we anticipate that it will take us another *.4 iterations> i.e. Mid ,pril and the pro-ected cost is L77>+++ :L*+>+++ G :*.4 N L*+>+++;.; Fan 8eb Mar *pr 4+ 4+ 4+ 1+ ,t the end o iteration * our 1elocit' was 1!> the work in1ol1ed was comple/ and we had problems with accessing some o the business resources to obtain certain inormation> we took this up with scrum2master during the iteration as it came out during our dail' meeting> heCshe indicated the cost o this problem to the product owner and it was resol1ed within * da's. 0uration M !!C1!> So at our current rate we anticipate that it will take us 4.7 iterations> i.e. 4 rd week o Eune and the pro-ected cost is L11*>+++ :L4+>+++ G :4.7 N L*+>+++;.; Fan 8eb Mar *pr May Fun 4+ 1! 1! 1! 1! 1+ ,t the end o iteration 4 our 1elocit' was 4+. Work remaining M *! :!! _ 4+; 0uration M *!C4+> So at our current rate we anticipate that it will take us +.8 i.e. around 1 more iteration. The pro-ected cost is L$7>+++ :L7+>+++ G :+.8 N L*+>+++;.; Fan 8eb Mar *pr 4+ 1! 4+ 4+ ,t the end o iteration 4 our 1elocit' was 4+. The cost is L8+>+++ Fan 8eb Mar *pr 4+ 1! 4+ *! T*e )roduct Burn3Down C*art The product burn2down chart pro1ides pro1ides us with a 1iew o how the team are progressing in deli1ering the product. &t works in the same wa' as the sprint burn2down chart. There are man' 1ariants o the chart> the e/ample below shows a simple 1ersion. "1er'thing is answerable on the product burndown chart> or e/ample= Stakeholder= @Whats going on 'ou gu's are not doing to well> & dont understand wh' 'ou are lagging behind> this is costing me an arm and a leg `A Scrum2master= @Well its not bad> the product owner actuall' added *+ more eatures which 'ou appro1ed thats wh' it has spikedA Stakeholder= @Oh> sorr' ...A )arking Lot $eport The parking lot report is a great wa' to show o1erall progress in a pro-ect 1ia a dashboard. We use the 8roup :or )eature Set; rom the product backlog. There are a number o wa's to create parking lot reports> an e/ample is shown below= 3ets look at ,ccount Management= ,ccount Management comprises o 1+ items on the product backlog The total estimate or account management is 1!+ stor' points ,ccount Management makes up 44.1*\ o the total product eort Defect $eport )OST,AME )"ASE A))END#4 )lanning )oker Cards Simpl' cut along the outline o card> old it and co1er it with contact ilm or wide clear tape. Cards 5 and 6 Cards 7 and 8 Cards 9 and 57 Cards 65 and 7: Fre0uentl' Asked ;uestions