1. Scrum Workshop Alex Rosales September 7th, 2012
2. Switch off your phone at all times or
3. Introduction toAgile
4. 1 What is Agile?2 Why Agile?3 How Long to Learn?
5. ―To be competitive,organizations need to driveinnovation in every part of their business‖
6. What isAgile?
7. It is a mindset foreffectively completing projects.
8. DUH !
9. Common Sense YesCommon Practice No
10. Agile MethodsXP SCRUM CrystalFDD Lean DSDM
11. Common CharacteristicsIterative DevelopmentCross-Functional & Self-Organized TeamFace-to-Face Communication vs. DocumentsOpen Office vs. Cubicles
12. Why Agile?
13. Traditional Approach to managing SoftwareDevelopment Projects failing far too often
14. Why it Fails?
15. Traditional Methodology istoo heavy and bureaucratic
16. Difficult to remain competitive
17. Example of Failures
18. Cloud Notes Inc.Anytime, Anywhere, post it!
19. Two major reasons for failure: Disappointing features Poor Interfaces cause failure
20. What are we learning here?
21. Success is not justfunctionality anymore
22. Example of Success
23. How many features?
25. What are we learning?Features are not that important
26. What’s more important? Usability User Experience
27. Why use Agile Methods?
28. Incremental Approachbreaks complex projects down into simple mini-projects
29. AccommodatesChange Easily
30. Improve ROI
31. Able to deliver quicklyChange oftenMitigate riskInvolve customerUltimate freedomUltimate responsibility
32. Increase Business ValueLower Development RiskHigher QualityLess DefectsEmployee EngagementTrust in People…
33. How Longto Learn?
34. Few hours to learn,Life time to master
36. Agile ApproachAdaptive, empirical process• Small repeating cycles• Short-term planning with constant feedback, inspection and adaptation Scope Evaluate Define Develop
37. Agile ManifestoDriven by technical forces, the Agile Manifesto wascreated on February 2001
38. Do you know the most common Agile Method?
39. Team that get it right, 1 Extra Bonus Point
40. Agile is NOT a magic bulletEach situation its approach Master by practice
42. What is Scrum?• Scrum is an agile process that allows us to focus on delivering the highest business value in the shortest time.
43. What is Scrum?• It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month).
44. What is Scrum?• The business sets the priorities. Teams self-organize to determine the best way to deliver the highest priority features.
45. What is Scrum?• Every two weeks to a month anyone can see real working software and decide to release it as is or continue to enhance it for another sprint.
46. Scrum Characteristics• Self-organizing teams• Product progresses in a series of month-long ―sprints‖• Requirements are captured as items in a list of ―product backlog‖
47. Scrum Characteristics• No specific engineering practices prescribed• Uses generative rules to create an agile environment for delivering projects• One of the ―agile processes‖
48. The Agile Manifesto–a statement of values Individuals and over Process and tools interactions ComprehensiveWorking software over documentation Customer over Contract negotiation collaboration Responding to over Following a plan change Source: www.agilemanifesto.org
49. Putting it all together
50. 5 Minutes Break
51. Sprints• Scrum projects make progress in a series of ―sprints‖• Analogous to Extreme Programming iterations• Typical duration is 2–4 weeks or a calendar month at most
52. Sprints• A constant duration leads to a better rhythm• Product is designed, coded, and tested during the sprint• Rather than doing all of one thing at a time... ...Scrum teams do a little of everything all the time
53. Sprints• During the Sprint, NO CHANGES• Plan sprint durations around how long you can commit to keeping change out of the sprint
56. Product Owner• The product owner is responsible for bridging the gaps between the customer, business stakeholders, and the development team.• The Product Owner is typically a projects key stakeholder with a vision for what is to be built.
57. Product Owner• Define the features of the product• Decide on release date and content• Be responsible for the profitability of the product (ROI)• Prioritize features according to market value
58. Product Owner• Adjust features and priority every iteration, as needed• Accept or reject work results• Closely collaborates with the team on an ongoing basis and guides and direct the team (e.g. managing product backlog, feedback, signing off work results)
60. ScrumMaster• Represents management to the project• Responsible for enacting Scrum values and practices• Removes impediments
61. ScrumMaster• Ensure that the team is fully functional and productive• Enable close cooperation across all roles and functions• Shield the team from external interferences
62. ScrumMaster• The ScrumMaster is often considered a coach for the team, helping the team do the best work it possibly can.• The ScrumMaster is also often viewed as a protector of the team.• Protects the team from complacency – knows when is the time to push for more
64. Team• Typically 5-9 people• Cross-functional:• Programmers, testers, user experience designers, etc.• Members should be full-time• May be exceptions (e.g., database administrator)
65. Team• Teams are self-organizing• Ideally, no titles but rarely a possibility• Membership should change only between sprints
67. Sprint Planning• Is the planning session before each sprint, where the scope of work for an iteration is determined.• The purpose of the Sprint Planning is to decide on the sprint commitments, and ensure their content is clearly communicated across the board
68. Sprint Planning Team Meeting capacity Sprint prioritization Product • Analyze and evaluate product Sprint backlog backlog goal • Select sprint goalBusinessconditions Sprint planning • Decide how to achieve sprint Current goal (design) Sprint product • Create sprint backlog (tasks) backlog from product backlog items (user stories / features)Technology • Estimate sprint backlog in hours
69. Sprint Planning• Team selects items from the product backlog they can commit to completing• Sprint backlog is created• Tasks are identified and each is estimated (ideally 1-8 hours MAX)
70. Sprint Planning • Collaboratively, not done alone by the ScrumMaster • High-level design is consideredAs a vacation planner, I want tosee photos of the hotels. Code the middle tier (8 hours) Code the user interface (4) Write test fixtures (4) Code the foo class (6) Update performance tests (4)
72. Sprint Review• At the end of each sprint a sprint review meeting is held. During this meeting the Scrum team shows what they accomplished during the sprint. Typically this takes the form of a demo of the new features – no slides• No more than two hours of preparation time for the meeting - is intentionally kept very informal
73. Sprint Review• Participants in the sprint review typically include the Product Owner, the Scrum Team, the ScrumMaster, management, customers, and developers from other projects if apply• Project is assessed against the Sprint Goal• Important to achieve the overall goal of the sprint
75. Sprint Retrospective• It is a brief, dedicated period at the end of each sprint to deliberately reflect on how the team are doing and to find ways to improve• Done after every Sprint• Less than 1 hour preferable
76. Sprint Retrospective• The entire team, including both the ScrumMaster and the Product Owner should participate, possibly customers and others• Recommended to do it outside the office• The next retrospective is often begun by reviewing the list of things selected for attention in the prior retrospective.
77. Sprint RetrospectiveWhole team gathers and discusses what they’d like to: Start doing Stop doing This is just one of many ways to Continue doing do a sprint retrospective.
80. Daily Scrum Meeting• It is NOT for problem solving• Whole world is invited• Only team members, ScrumMaster, product owner, can talk• Helps avoid other unnecessary meetings
81. Daily Scrum Meeting • Everyone answers 3 questions: 1. What did you yesterday? 2. What will you do today? 3. Is anything in your way?These are NOT status for the ScrumMasterThey are commitments in front of colleagues
83. Product backlog• The requirements• A list of all desired work on the project• Ideally expressed such that each item has value to the users or customers of the product
84. Product backlog• Prioritized by the product owner• Reprioritized at the start of each sprint
85. Sample Product backlog Backlog item EstimateAllow a guest to make a reservation 3As a guest, I want to cancel a 5reservation.As a guest, I want to change the dates 3of a reservation.As a hotel employee, I can run RevPAR 8reports (revenue-per-available-room)Improve exception handling 8... 30... 50
86. The Sprint Goal• is a short, one - or two-sentence, description of what the team plans to achieve during the sprint.• It is written collaboratively by the Team and the Product Owner.
87. Sprint Goals Sample Ecommerce App• Implement basic shopping cart functionality including add, remove, and update quantities.• The checkout process—pay for an order, pick shipping, order gift wrapping, etc.
89. Sprint backlog• Individuals sign up for work of their own choosing• Work is never assigned• Estimated work remaining is updated daily
90. Sprint backlog• Any team member can add, delete or change the sprint backlog• If work is unclear, define a sprint backlog item with a larger amount of time and break it down later
91. Sprint backlog• The Product Owner does not get to say, "We have four sprints left so you need to do one- fourth of everything I need.
92. Sprint backlog• It is up to the Team to determine how much they can do in the sprint• Work for the sprint emerges• Update work remaining as more becomes known
93. Sample Sprint backlogTasks Mon Tues Wed Thur FriCode the user interface 8 4 8Code the middle tier 16 12 10 4Test the middle tier 8 16 16 11 8Write online help 12Write the foo class 8 8 8 8 8Add error logging 8 4
94. Sprint backlog• During the sprint, team members are expected to update the sprint backlog as new information is available, but minimally once per day. Many teams will do this during the daily scrum.
95. Sprint backlog• Once each day, the estimated work remaining in the sprint is calculated and graphed by the ScrumMaster, resulting in a Sprint Burndown chart
98. Tasks Mon Tues Wed Thur Fri Sprint Burndown ChartCode the user interface 8 4 8Code the middle tier 16 12 10 7Test the middle tier 8 16 16 11 8Write online help 12 50 40 30 20 10 Hours 0 Mon Tue Wed Thu Fri
99. Sprint backlog• The team does its best to pull the right amount of work into the sprint but sometimes too much or too little work is pulled in during the Sprint Planning meeting• In this case the team needs to add or remove tasks and the Product Owner consulted
100. 10 Minutes Break
101. Estimation - Planning Poker
102. Portions of this Presentation are from the following sources:• Mike Cohn, Mountain Goat Software, LLC• Scrum.org• Scrum Alliance, scrumalliance.org