An Introduction To Scrum

Transcription

Introduction to ScrumMountain Goat Software,LLC

Scrum in 100 wordsScrum is an agile method that allows us to focuson delivering the highest business value in theshortest time.It allows us to rapidly and repeatedly inspectactual working software every two weeks to onemonth.The business sets the priorities. Teams selforganize to determine the best way to deliverthe highest priority features.Every two weeks to a month anyone can see realworking software and decide to release it as isor continue to enhance it for another sprint.Mountain Goat Software,LLC

Scrum originsJeff SutherlandInitial scrums at Easel Corp in 1993IDX and 500 people doing ScrumKen SchwaberADMScrum presented at OOPSLA 96 withSutherlandAuthor of three books on ScrumMike BeedleScrum patterns in PLOPD4Ken Schwaber and Mike CohnCo-founded Scrum Alliance in 2002,initially within the Agile AllianceMountain Goat Software,LLC

Scrum has been used by:MicrosoftYahooGoogleElectronic ArtsLockheed MartinPhilipsSiemensNokiaIBMCapital OneBBCMountain Goat Software,LLCIntuitNielsen MediaFirst American Real EstateBMC SoftwareIpswitchJohn DeereLexis NexisSabreSalesforce.comTime WarnerTurner BroadcastingOce

Scrum has been used for:Commercial softwareIn-house developmentContract developmentFixed-price projectsFinancial applicationsISO 9001-certifiedapplicationsEmbedded systems24x7 systems with99.999% uptimerequirementsthe Joint Strike FighterMountain Goat Software,LLCVideo game developmentFDA-approved, life-criticalsystemsSatellite-control softwareWebsitesHandheld softwareMobile phonesNetwork switchingapplicationsISV applicationsSome of the largestapplications in use

CharacteristicsSelf-organizing teamsProduct progresses in a series of fixed-length“sprints”Requirements are captured as items in a “productbacklog”No specific engineering practices prescribedUses generative rules to create an agileenvironment for delivering projectsMountain Goat Software,LLC

The Agile Manifestoa statement of valuesIndividualsIndividuals andandinteractionsinteractionsoverProcessProcess andand toolstoolsWorkingWorking iationRespondingResponding totochangechangeoverFollowingFollowing aa planplanMountain Goat Software,LLCSource:www.agilemanifesto.org

Project noise levelComplexComplicSimpleMountain Goat Software,LLCatedTechnologySource: Strategic Managementand Organizational Dynamics byRalph Stacey in Agile SoftwareDevelopment with Scrum by KenSchwaber and Mike Beedle.Far fromCertaintyClose toAgreementAnarchyClose toCertaintyRequirementsFar fromAgreement

Scrum24 hoursSprint2-4 weeksSprint pProductbacklogMountain Goat Software,LLCSprintbacklogCouponsPotentially shippableproduct increment

Putting it all togetherImage available atwww.mountaingoatsoftware.com/scrumMountain Goat Software,LLC

SprintsProduct is designed, coded, and testedduring a series of sprintsTypical length 2–4 weeks; a calendar monthat mostA constant duration leads to a better rhythmMountain Goat Software,LLC

Sequential vs. ther than doing all ofone thing at a time.Scrum teams do a littleof everything all the timeSource: “The New New Product Development Game” byTakeuchi and Nonaka. Harvard Business Review, January1986.Mountain Goat Software,LLC

No changes during a sprintChangePlan sprint duration around how long youcan commit to keeping change out ofthe sprintMountain Goat Software,LLC

Scrum frameworkRolesProduct ownerScrum MasterTeamCeremoniesSprint planningSprint reviewSprint retrospectiveDaily scrum meetingArtifactsProduct backlogSprint backlogBurndown chartsMountain Goat Software,LLC

Scrum frameworkRolesProduct ownerScrum MasterTeamCeremoniesSprint planningSprint reviewSprint retrospectiveDaily scrum meetingArtifactsProduct backlogSprint backlogBurndown chartsMountain Goat Software,LLC

Product ownerDefine the features of the productDecide on release date and contentBe responsible for the profitability of the product(ROI)Prioritize featuresAdjust features and priority every iteration, asneededAccept or reject work resultsMountain Goat Software,LLC

The Scrum MasterRepresents management to the projectResponsible for enacting Scrum values andpracticesRemoves impedimentsEnsure that the team is fully functional andproductiveEnable close cooperation across all roles andfunctionsShield the team from external interferenceMountain Goat Software,LLC

The teamTypically 5-9 peopleCross-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 sprintsMountain Goat Software,LLC

Scrum frameworkRolesProduct ownerScrumMasterTeamCeremoniesSprint planningSprint reviewSprint retrospectiveDaily scrum meetingArtifactsProduct backlogSprint backlogBurndown chartsMountain Goat Software,LLC

ntproductproductTechnoTechnologylogySprint planning meetingSprint prioritizationAnalyze and evaluate productbacklogSelect sprint goalSprintSprintgoalgoalSprint planningDecide how to achieve sprint goal(design)Create sprint backlog (tasks) fromproduct backlog items (userstories / features)Estimate sprint backlog in hoursMountain Goat Software,LLCSprintSprintbacklogbacklog

Sprint planningTeam selects items from the product backlog theycan 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 consideredAsAs aa vacationvacationplanner,planner, II wantwant totoseesee photosphotos ofof thethehotels.hotels.Mountain Goat Software,LLCCode the middle tier (8 hours)Code the user interface (4)Write test fixtures (4)Code the foo class (6)Update performance tests (4)

The daily scrumParametersDaily15-minutesStand-upNot for problem solvingWhole world is invitedOnly team members, ScrumMaster, product owner,can talkHelps avoid other unnecessary meetingsMountain Goat Software,LLC

Everyone answers 3 questionsWhat diddid you do yesterday?yesterday?What will youyou dodo today?today?Is anything in your way?123These are not status for the Scrum MasterThey are commitments in front of peersMountain Goat Software,LLC

The sprint reviewTeam presents what it accomplished duringthe sprintTypically a demo of new features orunderlying architectureInformal2-hour prep time ruleNo slidesWhole team participatesInvite everyoneMountain Goat Software,LLC

Sprint retrospectiveTake a look at what is and is not workingTypically 15–30 minutesDone after every sprintWhole team participatesScrum MasterProduct ownerTeamPossibly customers and othersMountain Goat Software,LLC

Start / Stop / ContinueWhole team gathers and discusses whatthey’d like to:StartStart doingStop doingThis is just oneof many ways todo a sprintretrospective.Mountain Goat Software,LLCContinue doing

Scrum frameworkRolesProduct ownerScrum MasterTeamCeremoniesSprint planningSprint reviewSprint retrospectiveDaily scrum meetingArtifactsProduct backlogSprint backlogBurndown chartsMountain Goat Software,LLC

Product backlogThe requirementsA list of all desired work onthe projectIdeally expressed such thateach item has value to theusers or customersPrioritized by the productownerThisThis isis thetheproductproduct backlogbacklogMountain Goat Software,LLCRe-prioritize at the start ofeach sprint

A sample product backlogBacklog itemEstimateAllow a guest to make a reservation3As a guest, I want to cancel a reservation.5As a guest, I want to change the dates ofa reservation.3As a hotel employee, I can run RevPARreports (revenue-per-available-room)8Improve exception handling8.Mountain Goat Software,LLC3050

The sprint goalA short statement of what the work will befocused on during the sprintLife SciencesDatabase ApplicationSupport features necessaryfor population genetics studies.Make the application run onSQL Server in addition toOracle.Financial servicesSupport more technicalindicators than company ABCwith real-time, streaming data.Mountain Goat Software,LLC

Managing the sprint backlogIndividuals sign up for work of their own choosingWork is never assignedEstimated work remaining is updated dailyAny team member can add, delete or change thesprint backlogWork for the sprint emergesIf work is unclear, define a sprint backlog item with alarger amount of time and break it down laterUpdate work remaining as more becomes knownMountain Goat Software,LLC

A sprint backlogTasksTasksCode the user interfaceCode the middle tierTest the middle tierWrite online helpWrite the foo classAdd error loggingMountain Goat Software,LLCMonMon TuesTues WedWed ThurThur FriFri848161210481616118888884128

HoursA sprint burndown chartMountain Goat Software,LLC

TasksTasksMonMon TuesTues WedWed ThurThur FriFriCode the user interfaceCode the middle tierTest the middle tierWrite online help816812412168101671150Hours403020100MonMountain Goat Software,LLCTueWedThuFri8

ScalabilityTypical individual team is 7 2 peopleScalability comes from teams of teamsFactors in scalingType of applicationTeam sizeTeam dispersionProject durationScrum has been used on multiple 500 person projectsMountain Goat Software,LLC

Scaling through the Scrumof scrumsMountain Goat Software,LLC

Scrum of scrums of scrumsMountain Goat Software,LLC

Where to go ogroups.comMountain Goat Software,LLC

A Scrum reading listAgile and Iterative Development: A Manager’s Guide byCraig 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 Schwaberand Mike BeedleScrum and The Enterprise by Ken SchwaberUser Stories Applied for Agile Software Development byMike CohnLots of weekly articles at www.scrumalliance.orgMountain Goat Software,LLC

Copyright noticeYou are free:to Share―to copy, distribute and transmit the workto Remix―to adapt the workUnder the following conditionsAttribution. You must attribute the work in the mannerspecified by the author or licensor (but not in anyway that suggests that they endorse you or your useof the work).For more information tain Goat Software,LLC

Contact informationPresentationPresentation by:by: MikeMike untaingoatsoftware.com(720)(720) 890-6110890-6110Mountain Goat Software,LLC

product backlog items (user stories / features) Estimate sprint backlog in hours Sprint goal Sprint goal Sprint backlog Sprint backlog Business condition s Business condition s Team capacity . User Stories Applied for Agile Software Development by Mike Cohn Lots of weekly articles at www.scrumallia