An introduction to scrum 2.0


Published on

Conferencia "SCRUM para el desarrollo web" por Manuel Bernal en el SIMPOSIO de Computación y Diseño.

Published in: Education

An introduction to scrum 2.0

  1. 1. An Introduction to SCRUM<br />Manuel Bernal<br />Development Manager<br />Tiempo Development, LLC<br />Ph: +1(602)910-4647 • Cell: +1 521(662)290-0854<br />Email:<br />4/13/2011<br />1<br />© 2010- Tiempo Development, LLC. all Rights Reserved<br />
  2. 2. 4/13/2011<br />2<br />“The only constant is change”<br />Jack Welch, Former GE CEO<br />
  3. 3. Agile Manifesto<br />4/13/2011<br />3<br />Processes and tools<br />Individuals and interactions<br />Over<br />Comprehensive documentation<br />Working software <br />Over<br />Contract negotiation<br />Customer collaboration <br />Over<br />Following a plan<br />Responding to change <br />Over<br />Source: www.agilemanifesto. org<br />
  4. 4. Agile Principles<br />Welcome change<br />Our project is constantly changing<br />Optimize the project around that environment<br />Working software is the primary measure of progress<br />Nothing is complete until we have working software<br />“Just Enough” Process and Artifacts<br />Sufficient to achieve iteration goals and readily maintain the results<br />Self-Organizing Teams<br />The team actively participates in managing the iteration<br />Teams develop low level plans to achieve iteration goals<br />Knowledge transfer via conversation . . .<br />Is the most effective communication method, written words / Models leave too much open to interpretation<br />Collective Ownership<br />4/13/2011<br />4<br />Source: Scaling Software Agility – Best Practices for Large Enterprises by Dean Leffingwell<br />
  5. 5. SCRUM’s Definitions<br />Scrum is an agile Process that allows us to focus on delivering the highest business value in the shortest time. (Mike Cohn, Mountain Goat Software)<br />Scrum is an iterative, incremental framework for project management and agile software development. (Wikipedia).<br />Scrum is a Framework that let us create Software focused in both business needs and business changes in the shortest period of time. (Myself)<br />4/13/2011<br />5<br />
  6. 6. SCRUM Origins <br />Jeff Sutherland<br />The first software development Scrum was created at Easel Corporation in 1993<br />Ken Schwaber<br />Wrote the first article about SCRUM at *OOPSLA96.<br />Ken Schwaber and Mike Cohn<br />Co-founded Scrum Alliance in 2002, initially within the Agile Alliance<br />4/13/2011<br />6<br />*Object-Oriented Programming, Systems, Languages, and Applications Conference<br />
  7. 7. Scrum has been used by:<br />4/13/2011<br />7<br /><ul><li>Microsoft
  8. 8. Yahoo
  9. 9. Google
  10. 10. Electronic Arts
  11. 11. Lockheed Martin
  12. 12. Philips
  13. 13. Siemens
  14. 14. Nokia
  15. 15. IBM
  16. 16. Capital One
  17. 17. BBC
  18. 18. Intuit
  19. 19. Nielsen Media
  20. 20. First American Real Estate
  21. 21. BMC Software
  22. 22. Ipswitch
  23. 23. John Deere
  24. 24. Lexis Nexis
  25. 25. Sabre
  26. 26.
  27. 27. Time Warner
  28. 28. Turner Broadcasting
  29. 29. Oce</li></li></ul><li>Scrum has been used for:<br />4/13/2011<br />8<br /><ul><li>Commercial software
  30. 30. In-house development
  31. 31. Contract development
  32. 32. Fixed-price projects
  33. 33. Financial applications
  34. 34. ISO 9001-certified applications
  35. 35. Embedded systems
  36. 36. 24x7 systems with 99.999% uptime requirements
  37. 37. Video game development
  38. 38. FDA-approved, life-critical systems
  39. 39. Satellite-control software
  40. 40. Websites
  41. 41. Handheld software
  42. 42. Mobile phones
  43. 43. Network switching applications
  44. 44. ISV applications
  45. 45. Some of the largest applications in use</li></li></ul><li>Scrum Overview<br />Sprint goal<br />24 hours<br />Coupons<br />Gift wrap<br />Coupons<br />Cancel<br />Cancel<br />Gift wrap<br />Return<br />Sprint backlog<br />Sprint<br />2-4 weeks<br />Return<br />Potentially shippable<br />product increment<br />Product<br />backlog<br />
  46. 46. Sprints<br />The heart of Scrum is a Sprint<br />Normally contains<br />Sprint planning meeting.<br />Development work.<br />The sprint review.<br />Sprint retrospective<br />Sprints should occur one after another, without time between sprints<br />Scrum projects make progress in a series of “sprints”<br />Typical duration is 2–4 weeks or a calendar month at most<br />Product is designed, coded, and tested during the sprint<br />4/13/2011<br />10<br />SPRINT<br />Shippable<br />
  47. 47. Sequential vs. overlapping development<br />Requirements<br />Design<br />Code<br />Test<br />Rather than doing all of one thing at a time...<br /> … Scrum teams do a little of <br /> everything all the time<br />SPRINT<br />Shippable<br />Source: “The New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.<br />11<br />4/13/2010<br />
  48. 48. Changes during the Sprint<br />4/13/2011<br />12<br />SCRUM Master<br />Changes<br />SPRINT<br />Shippable<br />The Scrum Master ensures that no changes are made that would affect the sprint goal<br />
  49. 49. Scrum Framework<br />4/13/2011<br />13<br />
  50. 50. Scrum Framework<br />4/13/2011<br />14<br />
  51. 51. Product Owner<br />Define the features of the product<br />Product Backlog owner<br />Decide on release date and content<br />Be responsible for the profitability of the product (ROI)<br />Prioritize features according to market value <br />Adjust features and priority every iteration, as needed  <br />Accept or reject work results<br />He can cancel an Sprint.<br />4/13/2011<br />15<br />
  52. 52. Scrum Master<br />Represents management to the project<br />Responsible for enacting Scrum values and practices<br />Removes impediments <br />Ensure that the team is fully functional and productive<br />Enable close cooperation across all roles and functions<br />Shield the team from external interferences <br />A Scrum Master should never be the Product owner<br />4/13/2011<br />16<br />
  53. 53. Team<br />Typically 7 people (+/- 2)<br />Cross-functional team:<br />Teams are self-organizing<br />Membership should change only between sprints<br />Turns the product backlog into increments of potentially shippable functionality<br />Show the deliverables to the product owner<br />4/13/2011<br />17<br />
  54. 54. Scrum Framework<br />4/13/2011<br />18<br />
  55. 55. Product Backlog<br />Is the list of requirements per product.<br />Is dynamic and in constantly evolution. (alive document)<br />Prioritized by the product owner<br />Risk, value, and necessity. <br />Reprioritized at the start of each sprint.<br />Product Backlogs items are usually stated as user stories.<br />Should take around 10% of each sprint to review the product backlog.<br />4/13/2011<br />19<br />
  56. 56. Product Backlog Sample<br />4/13/2011<br />20<br />
  57. 57. Sprint Backlog<br />Consists of the tasks the Team performs to turn Product Backlog items into a “done” increment.<br />It is developed during the Sprint Planning Meeting.<br />It is all of the work that the Team identifies as necessary to meet the Sprint goal.<br />One day or less is a usual size for a Sprint Backlog item that is being worked on.<br />Only the Team can change its Sprint Backlog during a Sprint<br />4/13/2011<br />21<br />
  58. 58. The sprint Goal<br />A short statement of what the work will be focused on during the sprint<br />Life Sciences<br />Support features necessary <br />for population genetics studies.<br />Database Application<br />Make the application run on SQL Server in addition to Oracle.<br />Financial services<br />Support more technical indicators than company ABC with real-time, streaming data.<br />22<br />4/13/2011<br />
  59. 59. Sprint Backlog sample<br />4/13/2011<br />23<br />8<br />4<br />8<br />16<br />12<br />4<br />10<br />8<br />16<br />11<br />8<br />16<br />12<br />8<br />8<br />8<br />8<br />8<br />4<br />Add error logging<br />8<br />Tasks<br />Mon<br />Tues<br />Wed<br />Thur<br />Fri<br />Code the user interface<br />Code the middle tier<br />Test the middle tier<br />Write online help<br />Write the food class<br />
  60. 60. Sprint Burndown Chart<br />Is a graph of the amount of Sprint Backlog work remaining in a Sprint across time in the Sprint<br />4/13/2011<br />24<br />
  61. 61. 4/21/2010<br />25<br />4<br />8<br />12<br />7<br />10<br />16<br />11<br />16<br />8<br />Tasks<br />Mon<br />Tues<br />Wed<br />Thur<br />Fri<br />Code the user interface<br />8<br />Code the middle tier<br />16<br />Test the middle tier<br />8<br />Write online help<br />12<br />50<br />40<br />30<br />Hours<br />20<br />10<br />0<br />Mon<br />Tue<br />Wed<br />Thu<br />Fri<br />
  62. 62. Scrum Framework<br />4/13/2011<br />26<br />
  63. 63. 4/13/2011<br />27<br />Sprint prioritization<br />Sprint planning<br />Sprint<br />goal<br />Sprint<br />backlog<br /><ul><li>Analyze and evaluate product backlog
  64. 64. Select sprint goal
  65. 65. Decide how to achieve sprint goal (design)
  66. 66. Create sprint backlog (tasks) from product backlog items (user stories / features)
  67. 67. Estimate sprint backlog in hours</li></ul>Sprint planning meeting<br />Team capacity<br />Product backlog<br />Business conditions<br />Current product<br />Techno-logy<br />
  68. 68. Sprint Planning Meeting<br />Is when the iteration is planned.<br />It is time-boxed to eight hours for a one month Sprint.<br />“What?”<br />the Product Owner presents the top priority Product Backlog to the Team<br />“How”<br />the Team figures out how it will turn the Product Backlog selected during Sprint Planning Meeting (What) into a done increment<br />a Sprint Goal is crafted.<br />Usually, only 60-70% of the total Sprint Backlog will be devised in the Sprint Planning meeting. The rest is stubbed out for later detailing, or given large estimates that will be decomposed later in the Sprint.<br />4/13/2011<br />28<br />
  69. 69. Daily Scrum Meeting<br />4/13/2011<br />29<br />Parameters<br />Daily<br />15-minutes<br />Stand-up<br />Not for problem solving.<br /><ul><li>Only team members, Scrum Master, product owner, can talk</li></ul>Improve communications .<br />Eliminate other meetings, identify and remove impediments to development <br />
  70. 70. Daily Scrum Meeting 3 questions<br />4/13/2011<br />30<br />These are not status for the Scrum Master<br />They are commitments in front of peers<br />
  71. 71. Sprint Review<br />4/13/2011<br />31<br />This is a four hour time-boxed meeting for one month Sprints. <br />Team presents what it accomplished during the sprint<br />Typically takes the form of a demo of new features or underlying architecture<br />The Product Owner identifies what has been done and what hasn’t been done.<br />The Team discusses what went well during the Sprint and what problems it ran into, and how it solved these problems. <br />
  72. 72. Sprint Retrospective<br />4/13/2011<br />32<br />After the Sprint Review and prior to the next Sprint Planning meeting <br />This is a three hour, time-boxed meeting for monthly Sprints<br />At this meeting, the Scrum Master encourages the Scrum Team to revise, within the Scrum process framework and practices, its development process to make it more effective and enjoyable for the next Sprint<br />
  73. 73. Sprint Retrospective<br />4/13/2011<br />33<br /><ul><li>Whole team gathers and discusses what they’d like to:</li></ul>Start doing<br />Stop doing<br />Continue doing<br />
  74. 74. What we had done, so far.<br />4/13/2011<br />34<br /><ul><li>We started to implement SCRUM since May 2008.
  75. 75. We had applied to 46 project.
  76. 76. 83% Microsoft.
  77. 77. 6 % Java.
  78. 78. 5 % MS CRM
  79. 79. 5 % PHP.
  80. 80. 1 % Others
  81. 81. We had ran 265 Sprints.
  82. 82. Create Tiempo Quality System(TQS) SCRUM + CMMI</li></li></ul><li>Some portions of this presentation where taken from the distributable introduction to Scrum of Mountain Goat Software.<br />
  83. 83. SCRUM’s Reference<br /><br /><br /><br />4/13/2011<br />36<br />