Spring of Scrum

10,167 views

Published on

A description of the Scrum process for newbie teams.

Published in: Technology

Spring of Scrum

  1. 1. Spring of Scrum Mohsin Hijazee mohsinhijazee@zeropoint.it MohsinHijazee@gmail.com    
  2. 2. In today's session We'll look at Scrum ● How we're going to adopt it? ●    
  3. 3. History Philosophy & Geography We've been building software like  ● submarines Design, Prototype, Develop  – and Ship it out! But software speaks for itself that it  ● is “soft” Heavy Weight Processes (RUP) ● Heavyweight tools (Rational Rose) ● We've been imitating construction  ● industry! Draw, Map, Build, Inspect! ●    
  4. 4. History Philosophy & Geography In reaction to all this, a new tide towards  ● lightweight methods. The era was around 1990. ● Since then, many variants and flavors are out  ● there Extreme Programing – Scrum – Getting Real (My favorite) – Agile Unified Process –    
  5. 5. The Agile All these processes  ● are termed in broad  as “Agile” My first mental image  ● of the word “Agile” is  on right. And its not as wrong! ● Both are flexible. ●    
  6. 6. The Scrum Out of many (a)jellies, we're with Scrum now. ● I'll introduce you to: ● The concepts – The processes – And our adaptation – Fasten your seat­belts! ● A little disclaimer: I'm too in learning process! ● And a little on how I've addressed the problem. ●    
  7. 7. Scrum: Know the Land People ● Product Owner – Scrum Master – Team – Tools ● Product Backlog – Sprint Backlog – Burndown Chart – Processes ● Sprint Planning – Daily Scrum –     Sprint retrospective –
  8. 8. Product Owner Pretty obvious! ● Direct beneficiary of the business value arising  ● from the product being built. Describes what functionality needed. ● And in what order? What is important? ● Scrum Role: Decides features and importance  ●    
  9. 9. Scrum Master The coordinator of the whole Scrum Process ● Keeps an eye any obstacles along the way ● Facilitator ● A bridge between product owner and the team. ● Scrum Role: Manages the whole Scrum  ● process including any housekeeping like  notifying all stakeholders of events.    
  10. 10. Team Those who are into development ● Typical size between 3 to 9 ● Develops the features in determined order ● Scrum Role: Decides Time estimates for  ● features    
  11. 11. th The 4  Dimension: Sprint All those people have to perform those  ● processes with the help of those tools in span  of a sprint! Sprint is a short period ranging between 2  ● weeks to 5 weeks at max. It has a goal: “Make CEO impressed!” ● A corporate heartbeat ●    
  12. 12. Product Backlog Root of the whole process ● Is a list of features that are to be built. ● Also known as stories or backlog items – We record following attributes ● ID – Name – Initial Estimate – Importance – How to Demo – Notes –    
  13. 13. Product Backlog ID Name Importance Estimate How to Demo Notes Music playlist Hit request and get XML 1 100 10 Advertisement timeline Hit request and get XML 2 120 10 Music Collection Generation Hit request and get XML 3 80 10 Must be kept at business level ● Might grow/shrink over time ● We'll explore it further ●    
  14. 14. Sprint Backlog Features selected to be implemented in a single  ● sprint. Team selects features based on: ● Importance – And its own velocity – Format is almost same as of product backlog ● Remaining work is indicated and automatic  ● generation of charts    
  15. 15. Burndown Chart A visual indicator of how the sprint is going? ● Would we succeed? ● Do we've lot of work? Or under work? ● On Y axis, remaining work in man days ● On X axis, days of sprint ● Let's see an example ●    
  16. 16. Burndown Chart 35 30 25 20 Ideal Actual 15 10 5 0 10 9 8 7 6 5 4 3 2 1 0    
  17. 17. Things so far We've covered the people and the tools of a  ● Scrum and soon going towards processes. I know some of the tools are not clear to you. ● Don't worry, tools will be crystal clear in context  ● of processes. Phew! ● Take a breath, and let's move on!  ●    
  18. 18. Sprint Planning Meeting What to do in a sprint? That's it! ● Participants: ● Product Owner, Scrum Master, Team – Outcomes: ● Team – Sprint goal, Sprint backlog – Daily Scrum Meeting place and time – Demo date and place –    
  19. 19. Difficult questions How team decides what to include? ● Pick top priority items – That are less then their estimated velocity. – How product owner can force team to include  ● certain items? Change the priority of items and team will be forced  – to shuffle the sprint backlog.    
  20. 20. The velocity From physics, Velocity is displacement in a  ● direction. Velocity is the amount of work a team can do. ● Estimated Velocity (calculated) – Actual Velocity (comes out of a sprint) – If 4 people are available, and sprint length is 3  ● weeks then: Velocity = 4 x 15 = 60 ● Warning: I've used the term velocity others call it available man days ●    
  21. 21. The Estimated Velocity That was the velocity but it cant be compared to  ● story points which are ideal man days. So we need to refine it: ● Estimated Velocity = Velocity x Focus Factor ● Focus factor for new teams is around 70% ● Estimated Velocity = 60 x 0.7 = 42 story points ●    
  22. 22. So how do you pick? You actually choose top priority stories that  ● optimally add up to estimated velocity of team. Say 4 people 3 week sprint and 70% focus  ● factor then estimated velocity would be 42 story  points. Team would select top priority stories totaling  ● less then 42 Product owner might change importance to  ● shuffle the order.    
  23. 23. Actual Velocity Chance are that you might not be able to  ● complete all the stories in a sprint. If so, then the total sum of story points of the  ● stories completed in a sprint is the actual  velocity. If all the stories are completed, then estimated  ● velocity is the actual velocity.    
  24. 24. Focus Factor But how to calculate focus factor of last sprint? ● Focus factor = Actual Velocity / Velocity ● Say in the previous given example, we only  ● completed 35 story points then: Focus factor = 35 / 60 = 58% ● So the focus factor has been 58% for that sprint ●    
  25. 25. Visually Speaking    
  26. 26. How to estimate items? But how to estimate each backlog item? ● There are two ways: ● Gut feeling – Planning Poker (http://www.planningpoker.com/) – Gut feeling is just an intuitive estimate ● Planning poker is card game, for each item,  ● each team member throws a hidden card  indicating how much he thinks story would cost. Nobody affects nobody's mind this way  ●  
  27. 27. What else? What else comes out of the sprint planning  ● meeting? A time and place for daily scrum meeting ● A demo date and place ● Also, we divide the stories into technical tasks.  ● This helps in uncovering any hidden challenges. That's all for sprint planning meeting. ●    
  28. 28. Daily Scrum All team members meet daily and  ● discuss following: What we did last day? – What we're going to do next? – Are their any hurdles in  – progressing? Its not a report. Neither a  ● monitoring tool. Its just keeping each other aligned  ● with the line. And identifying the problems if any. ●    
  29. 29. Sprint Retrospective We review the whole sprint after its finished ● Learning from mistakes ● If I would have to start over, I'd like to do it this  ● way. Sprint Regretospective! ● Its not very formal, just turn by turn, review what  ● you liked, what you'd like to avoid.    
  30. 30. How big is each? Spring planning is a 4 hour meeting. ● Can be extended onto next day if fails in its goals – Sprint is about 3 weeks in length ● Daily Scrum Meeting is 15 minutes in length ● Sprint Retrospective is about 30 minutes or  ● more. That's the whole process reviewed! ●    
  31. 31. A Backlog Example *** Priority is calculated using Wiegers Relative Weighting Approach Benefit  / Penalty Scale 1 (low) ­ 9 (high) PRODUCT BACKLOG Total Value *** Priority Estimate Relative  Relative  Value % Penalty Cost % Benefit ID STORY / FEATURE / REQUEST CATEGORY TYPE 1 As the system I want to be able to capture image files from disk Imaging Feature 9 9 18 22.2 10 10.4 2.13 7 As a user when I enter a non alphanumeric character when logging in an error occurs Login Bug 2 1 3 3.7 2 2.1 1.78 2 As a user I want to be able to view the metadata for an image Index Feature 7 3 10 12.3 8 8.3 1.48 3 As the system when an image appears on disk I want to automatically capture it Imaging Feature 8 9 17 21.0 15 15.6 1.34 4 As a user I want to be able to login to the system Login Feature 3 5 8 9.9 8 8.3 1.19 5 As a user when I have logged in I want to view my inbox Desktop Feature 9 2 11 13.6 21 21.9 0.62 6 As a user I want to be able to view a scanned document Imaging Feature 8 6 14 17.3 32 33.3 0.52   TOTALS 46 35 81 100 96 100      
  32. 32. An example Sprint Backlog SPRINT 1 GOAL SPRINT BURNDOWN CHART Lorem ipsum tibique patrioque disputationi at nec, ei eam semper  gubergren. Ne duo atqui dictas feugiat, ea mea suscipit sententiae  400 complectitur. Nusquam contentiones ut cum, offendit invenire et quo.  His cu dicam labores quaestio.At vix sale prompta, ullum honestatis  350 cotidieque et usu. No quodsi impedit nam. Eam at virtute assentior  temporibus, ad pri fuisset apeirian atomorum. Mei ea tollit  300 suscipiantur. Mel no possim postulant aliquando, facer choro ne ius. 250 200 Hours 150 100 50 0 Day 3 Day 7 Day 11 Day 15 Day 19 Day 23 Day 27 Day 1 Day 5 Day 9 Day 13 Day 17 Day 21 Day 25 Da 0 1 2 3 4 5 6 7 8 9 0 y  1 y  2 y  3 y  4 y  5 y  6 y  7 y  8 y  9 y  1 y  1 y  1 y  1 y  1 y  1 y  1 y  1 y  1 y  1 y  2   y   Da Da Da Da Da Da Da Da Da Da Da Da Da Da Da Da Da Da Da Da Da   ITEM DESCRIPTION WHO? Hours of Effort  Remaining ­­­> 362 353 336 324 320 322 322 322 315 322 322 322 322 322 322 322 322 322 322   322           Story A GSM Task 1 40 40 32 20 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0    
  33. 33. Connecting the dots Let's review the whole thing ● Product owner owns the backlog and prioritizes the items ● Scrum master manages everything ● Sprint meeting chooses some stories to be done ● Daily Scrum allows you to be in sync with whole team ● Burndown charts give visual indicators. ● Scrum Retrospectives keep refining the process. ● Life gets going! ●    
  34. 34. Our adoption We'll use OpenOffice spreadsheets for Product  ● backlogs controlled under git. Same for sprint backlogs ● Each of us would keep updating those sheets  ● which would autogenerate the burndown charts. We'll adopt it to our environment. ● My lifestyle wont fit yours!  ● So is for the adoption of methodologies. ●    
  35. 35. Closing Remarks I've tried to summarize the Scrum and how it  ● would be adopted by us in a nutshell.  Left out many aspects that I think are not of  ● immediate importance to us for now. We all will learn in the process ● This presentation is just a 2 D figure. ● Actual execution would reveal more dark  ● corners!    
  36. 36. Thanks & Credits Qaiser and Fahad! Hats off for your on spot help in  ● aesthetic matters! Tim for the material. ● Bart of the critical questions, Jelle for encouragement. ● Spreadsheet templates are from http://agilesoftwaredevelopment.com ● And all of you, you owe credit for listening! ● Any questions? ● Thank you very much! ●    

×