Presentation on theme: "What is Scrum? Richard Fennell Engineering Director, Black Marble Ltd."— Presentation transcript:
1 What is Scrum? Richard Fennell Engineering Director, Black Marble Ltd. The source version of most of this stack is not from the Scrum Alliance site, but from a slightly modified one from Mike a Scrum Certified trainerThe cartoon characters are copyright Black Marble LtdThis Stack is based upon the Redistributable Scrum Introduction Stack from the Scrum AllianceThis work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike LicenseRichard FennellEngineering Director, Black Marble Ltd.
2 Origins of Scrum“The New New Product Development Game” in Harvard Business Review by Hirotaka Takeuchi and Ikujiro Nonaka, 1986.“The… ‘relay race’ approach to product development…may conflict with the goals of maximum speed and flexibility. Instead a holistic or ‘rugby’ approach—where a team tries to go the distance as a unit, passing the ball back and forth—may better serve today’s competitive requirements.”Wicked Problems, Righteous Solutions by DeGrace and Stahl, 1990.First mention of Scrum in a software contextThe New New Product. Development Game. by Hirotaka Takeuchi and Ikujiro NonakaDownload from
3 Origins of Scrum Jeff Sutherland Initial Scrums at Easel Corp in 1993 IDX and nearly 600 people doing ScrumNot just for trivial projectsFDA-approved, life-critical software for x-rays and MRIsKen SchwaberADMInitial definitions of Scrum at OOPSLA 96 with SutherlandMike BeedleScrum patterns in PLOPD4
4 Scrum has been used in… Independent Software Vendors (ISVs) Fortune 100 companiesSmall startupsInternal developmentContract development
5 Scrum has been used for… Commercial softwareIn-house developmentContract developmentFixed-price projectsFinancial applicationsISO 9001-certified applicationsEmbedded systems24x7 systems with % uptime requirementsThe Joint Strike FighterVideo game developmentFDA-approved, life-critical systemsSatellite-control softwareWebsitesHandheld softwareMobile phonesNetwork switching applicationsISV applicationsSome of the largest applications in useThere are no type of project Scum cannot be applied to
6 Characteristics One of the “agile processes” Self-organizing teams Product progresses in a series of 2 to 4 week long “sprints”Requirements are captured as items in a list of “product backlog”No specific engineering practices prescribedUses generative rules to create an agile environment for delivering projects
7 The Agile Manifesto a statement of values Process and toolsIndividuals and interactionsoverComprehensive documentationWorking softwareoverContract negotiationCustomer collaborationoverFollowing a planResponding to changeoverSource:
8 Project Noise Level Requirements Agreement Technology Close to SimpleComplicatedAnarchyComplexClose toCertaintyFar fromTechnologyAgreementRequirementsAims to move the project from the top right to be bottom left by taking ‘small bites’Source: Strategic Management and Organizational Dynamics by Ralph Stacey in Agile Software Development with Scrum by Ken Schwaber and Mike Beedle.
9 Scrum Process Overview 24 hoursDaily ScrumMeetingBacklog tasksexpandedby teamdaysSprint BacklogScrum in a single slidePotentially ShippableProduct IncrementProduct BacklogAs prioritized by Product OwnerSource: Adapted from Agile Software Development with Scrum by Ken Schwaber and Mike Beedle.
10 Sprints Scrum projects make progress in a series of “sprints” Analogous to Extreme Programming iterationsTypical duration is 2–4 weeks or a calendar month at mostA constant duration leads to a better rhythmProduct is designed, coded, and tested during the sprint
11 Sequential vs. overlapping development RequirementsDesignCodeTestRather than doing all of one thing at a time......Scrum teams do a little of everything all the timeSource: “The New New Product Development Game” by Takeuchi and Nonaka. Harvard Business Review, January 1986.
12 No changes during a sprint Plan sprint durations around how long you can commit to keeping change out of the sprint
15 Product owner Define the features of the product Decide on release date and contentBe responsible for the profitability of the product (ROI)Prioritize features according to market valueAdjust features and priority every iteration, as needed Accept or reject work results
16 The ScrumMaster Represents management to the project Responsible for enacting Scrum values and practicesRemoves impedimentsEnsure that the team is fully functional and productiveEnable close cooperation across all roles and functionsShield the team from external interferences
17 The team Typically 5-9 people Cross-functional: Programmers, testers, user experience designers, etc.Members should be full-timeMay be exceptions (e.g., database administrator)Teams are self-organizingIdeally, no titles but rarely a possibilityMembership should change only between sprints
18 story A chicken and a pig are.... A chicken and a pig are together when the chicken says, "Let's start a restaurant!". The pig thinks it over and says, "What would we call this restaurant?". The chicken says, "Ham n' Eggs!". The pig says, "No thanks, I'd be committed, but you'd only be involved!".This is the ethos for a Scum team, they are pigs, their neck is on the line in what they have committed to doing. Everyone else is a Chicken, they might be interested in the project but their job is not on the line
20 Sprint prioritization Sprint planning meetingTeam capacitySprint prioritizationAnalyze and evaluate product backlogSelect sprint goalSprintgoalProduct backlogBusiness conditionsSprint planningDecide how to achieve sprint goal (design)Create sprint backlog (tasks) from product backlog items (user stories / features)Estimate sprint backlog in hoursCurrent productSprintbacklogTechnology
21 Sprint planningTeam selects items from the product backlog they can commit to completingSprint backlog is createdTasks are identified and each is estimated (1-16 hours)Collaboratively, not done alone by the ScrumMasterHigh-level design is consideredAs a vacation planner, I want to see photos of the hotels so I can have a better idea of facilitiesPriority 4 [10 Story Points]Code the middle tier (8 hours)Code the user interface (4)Write test fixtures (4)Code the foo class (6)Update performance tests (4)
22 The daily scrum Parameters Not for problem solving 15-minutesStand-upNot for problem solvingWhole world is invitedOnly team members, ScrumMaster, product owner, can talkHelps avoid other unnecessary meetingsOnly pigs can speak … does get a little grey which product owner (are they part of the team?)Fines for people who are late – the fine can be money i.e. to buy cakes for end of sprint, or some penalty such as sing a song, wear a silly hat. Whatever works best for the team
23 Everyone answers 3 questions What did you do yesterday?1What will you do today?2Is anything in your way?3These are not status for the ScrumMasterThey are commitments in front of peers
24 The sprint review Team presents what it accomplished during the sprint Typically takes the form of a demo of new features or underlying architectureInformal2-hour prep time ruleNo slidesWhole team participatesInvite the world
25 Sprint retrospectivePeriodically take a look at what is and is not workingTypically 15–30 minutesDone after every sprintWhole team participatesScrumMasterProduct ownerTeamPossibly customers and others
26 Start / Stop / Continue Start doing Stop doing Continue doing Whole team gathers and discusses what they’d like to:Start doingStop doingInteresting idea to do this before the project starts as a hypothetical planning projects to see what people think could be problems.See Clarke Ching’s blog for some thought’s on thisThis is just one of many ways to do a sprint retrospective.Continue doing
28 This is the product backlog The requirementsA list of all desired work on the projectIdeally expressed such that each item has value to the users or customers of the productPrioritized by the product ownerReprioritized at the start of each sprintThis is the product backlog
29 A sample product backlog PriorityBacklog itemStory Point Estimate1Allow a guest to make a reservation32As a guest, I want to cancel a reservation.5As a guest, I want to change the dates of a reservation.4As a hotel employee, I can run RevPAR reports (revenue-per-available-room)8Improve exception handling6...30The estimates are in story points, these give a relative estimate between the items, not a fixed one in hours
30 The sprint goalA short statement of what the work will be focused on during the sprintLife SciencesSupport features necessary for population genetics studies.Database ApplicationMake the application run on SQL Server in addition to Oracle.Financial servicesSupport more technical indicators than company ABC with real-time, streaming data.
31 Managing the sprint backlog Individuals sign up for work of their own choosingWork is never assignedEstimated work remaining is updated dailyAny team member can add, delete or change the sprint backlogWork for the sprint emergesIf work is unclear, define a sprint backlog item with a larger amount of time and break it down laterUpdate work remaining as more becomes known
32 A sprint backlog Tasks Mon Tues Wed Thur Fri Code the user interface Add error logging810168161241216841188Code the middle tierTest the middle tierWrite online helpWrite the foo classWe can see how the sprint backlog goes down over the sprint
33 A sprint burndown chart HoursThe daily estimates are used to plot the sprint burndown, the work remaining
34 Tasks Mon Tues Wed Thur Fri Code the user interface 8 4 12 16 8 10 16 7118Code the middle tier16Test the middle tier8Write online help12504030Hours2010MonTueWedThuFri
35 Team VelocityOver a number of sprints you will see how many story points you can achieve – the velocityThis allows you to predict delivery times based on number of story points outstandingREMEMBER – one team’s story point is not the same as anothers
36 Scalability Typical individual team is 7 ± 2 people Factors in scaling Scalability comes from teams of teamsFactors in scalingType of applicationTeam sizeTeam dispersionProject durationScrum has been used on multiple 500+ person projects
37 Scaling through the Scrum of scrums The person sent to the scrum of scrums is the most appropriate – this is not always the scrum mastere.g. if a teams was doing DB design the DBA might be a better choice. This choice could alter over time .
38 Scrum of scrums of scrums The scrum of scrums process can be repeated to further grow a project.
39 Tools for Scrum Postcards & Post-Its Scrum board As with Extreme Programming the product backlog and sprint backlog can be managed on paper cards, most other things add complexityThese can be displayed in a notice board or whiteboard with a manual burn down chart.Image Source:
40 Tools for Scrum Often need to record the sprint progress Digital CameraExcelHowever we also want toLink to development tools such as TFSSupport remote development teamsCommonly the Scrum master will record the revised estimates at the end the daily scrum into Excel and maybe photograph the scrum board.However this alone may not provide the support needed for a distributed project where staff can be in different countries.
41 Scrum and TFSThere are at least three Scrum Process Guidance TemplatesConchango’s Scrum for Team SystemMicrosoft’s eScrumVSTS Scrum Process Template from CodePlexThey all do basically the same, customise work items to scrum names and provide reports
42 demoeScrumI like eScrum as I find the web based user interface a quick easy way to capture the sprint progress.As the sprint items are TFS work items source code can be checked in against them.
43 Screenshot from demoOn the product screen you can add the product backlog items
44 Screenshot from demoYou can enter all the product feature details
45 Screenshot from demoIn the sprint page you can add the team members and the time they have committed to the sprint
46 Screenshot from demoIn the sprint page you can add the team members and the time they have committed to the sprint
47 Screenshot from demoEvery day the team alter the hours completed and the estimate of the remaining.
48 Screenshot from demoThe daily scrum page, were tasks can be updated
49 Screenshot from demoA sprint burn down, one of many reports available
50 Scrum in 100 wordsScrum is an agile process that allows us to focus on delivering the highest business value in the shortest time.It allows us to rapidly and repeatedly inspect actual working software (every two weeks to one month).The business sets the priorities. Teams self-organize to determine the best way to deliver the highest priority features.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.
51 Where to go next www.scrumalliance.org www.controlchaos.com
52 A Scrum reading listAgile and Iterative Development: A Manager’s Guide by Craig LarmanAgile Estimating and Planning by Mike CohnAgile Project Management with Scrum by Ken SchwaberAgile Retrospectives by Esther Derby and Diana LarsenAgile Software Development Ecosystems by Jim HighsmithAgile Software Development with Scrum by Ken Schwaber and Mike BeedleScrum and The Enterprise by Ken SchwaberUser Stories Applied for Agile Software Development by Mike CohnLots of weekly articles at
53 For Further Information My random thoughts ‘But it works on my PC!’You can also get in touch via:–WebSite –
54 Copyright notice You are free: Under the following conditions to Share―to copy, distribute and transmit the workto Remix―to adapt the workUnder the following conditionsAttribution. You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work).Nothing in this license impairs or restricts the author’s moral rights.For more information seeBased on Presentation by: Mike Cohn(720) (office)Amended and the cartoon characters added by Black Marble Ltd