ANINTRODUCTIONTOSCRUMSchoolofSoftwareEngineering,TongjiUniversityAgendaIntroductionScrumframeworkScrumMasterandproductownerScrumteamEstimatingandplanningIntroduction•Agileisawayofthinkingandasystematicapproachfortherapiddeliveryofcomplexproductsandservices.Agileminimizesriskbyincrementaldelivery,emphasizesrealtimecollaboration,andusesbusinessvalueastheprimarymeasureofprogress.Agile•ScrumisastyleofAgilethatprovidesaprojectmanagementwrapperforincrementaldeliveryofprojects,independentoftechnologyused.Scrumcanbeusedwithnon-ITprojectsaswell.ScrumScrumhasbeenused:CommercialsoftwareIn-housedevelopmentContractdevelopmentFixed-priceprojectsFinancialapplicationsISO9001-certifiedapplicationsEmbeddedsystems24x7systemswith99.999%uptimerequirementstheJointStrikeFighter(F-35)VideogamedevelopmentFDA-approved,life-criticalsystemsSatellite-controlsoftwareWebsitesHandheldsoftwareMobilephonesNetworkswitchingapplicationsISVapplicationsSomeofthelargestapplicationsinuseKeyAgilePrinciples:Satisfythecustomerthroughearlyandcontinuousdeliveryofvaluablesoftware.Welcomechangingrequirements,evenlateindevelopment.Businesspeopleanddevelopersmustworktogetherconstantly.Workingsoftwareistheprimarymeasureofprogress.LessonlearnedScrumcharacteristics:Self-organizingteamsProductprogressesinaseriesofmonth-long“sprints”Requirementsarecapturedasitemsinalistof“productbacklog”NospecificengineeringpracticesprescribedOneofthe“agileprocesses”WhyAgile?ProcessandtoolsIndividualsandinteractionsoverFollowingaplanRespondingtochangeoverComprehensivedocumentationWorkingsoftwareoverContractnegotiationCustomercollaborationoverAgileManifestoScrumFrameworkOurwishes:ThecustomerknowswhathewantsThedevelopersknowhowtobuilditNothingwillchangealongthewayRealitytolivewith:ThecustomerdiscoverswhathewantsThedevelopersdiscoverhowtobuilditManythingschangealongthewayFeasibilityAnalyzeDesignCodingTest/ReleaseWaterfallmodelAgile(Scrum)modelPrioritizeFeasibilityAnalysisDesignCodingTest/releaseAgileWaterfallModelScrumstartswithto-dolistwithpriorities:Productbacklog:•projectartifacts(outcomes)Sprint:•iterativeprocessoftheprojectSprintbacklog:•artifacts(outcomes)forasprintDefinitionsPutitalltogether:Scrumboard:Sprintindetail:Scrumprojectsmakeprogressinaseriesof“sprints”Typicaldurationis2–4weeksoracalendarmonthatmostAconstantdurationleadstoabetterrhythmProductisdesigned,coded,andtestedduringthesprintSequentialvs.OverlappingDevelopmentRatherthandoingallofonethingatatime......ScrumteamsdoalittleofeverythingallthetimeAnalysisDesignCodeTestIterativeandIncrementalDevelopmentMoreimportantlyChangeFrameworkoverview•Productowner•ScrumMaster•TeamRoles•Sprintplanning•Sprintreview•Sprintretrospective•DailyscrummeetingCeremonies•Productbacklog•Sprintbacklog•BurndownchartsArtifactsProductOwner&ScrumMasterProductownerroleDefinethefeaturesoftheproductDecideonreleasedateandcontentBeresponsiblefortheprofitabilityoftheproduct(ROI)PrioritizefeaturesaccordingtomarketvalueAdjustfeaturesandpriorityeveryiteration,asneededAcceptorrejectworkresultsProductownerresponsibilitiesindetailsManageprofitabilityandreturnoninvestment(ROI)EstablishesbaselinetargetROIPrioritizesproductbacklogtomaximizeROIMeasuresBusinessvaluedeliveredProductownerresponsibilitiesindetails(cont.)CallforreleasesDecideswhentocallforanofficialreleaseofapotentiallyshippableproductorupdateCanshiftareleasedateforwardorbackwardtomaximizeROIbasedonnewknowledgeProductownerresponsibilitiesindetails(cont.)GuidesproductdevelopmentEstablishes,communicatesandenrichesthevisionKnowswhattobuildandinwhatsequenceTunesthevisionwiththeteamastheylearnhowtobuildtheproductEnsuringwhatgetdeliversvalues!FocusingonfastfeedbackDiscussion:Whoistheproductownerforthefollowingproducts:iPhoneCustomizedapplicationsystemAsystemhostedinacloudenvironmentScrumMasterroleRepresentsmanagementtotheprojectResponsibleforenactingScrumvaluesandpracticesRemovesimpediments(obstacles)EnsurethattheteamisfullyfunctionalandproductiveEnableclosecooperationacrossallrolesandfunctionsShieldtheteamfromexternalinterferencesScrumMasterresponsibilitiesindetailsProtectingtheTeamOvercommittingUndercommittingSustainablepaceOutsideinterferenceMultitaskingAllowfailureandselforganizationScrumMasterresponsibilitiesindetailsResponsibleforScrumProcessRemoveImpediments(VisibleandNon-visible)QualityTeamHealthContinuousImprovement(Team/ImmediateEnvironment)OrganizationalChangeScrumTeamTeamScrumTeamTypically5-9people(7plus/minus2)Cross-functional:Programmers,testers,userexperiencedesigners,etc.Membersshouldbefull-timeMayhaveexceptions(e.g.,databaseadministrator)ScrumTeamAttributesSelf-organizingCross-functionalwithnorolesResponsibleforcommittingtoworkAuthoritytodowhateverisneededtomeetcommitmentOpen,collocatedspaceResolutionofconflictsAnAgileEco-systemScrumTeamBillofRightsYouhavetherightto:Knowwhatisneeded,withcleardeclarationsofpriority.Producequalityworkatalltimes.Askforandreceivehelpfrompeers,supervisors,andcustomers.Make,an