48
Scrum Arian Treffer [email protected] Prof. Plattner, Dr. Uflacker Enterprise Platform and Integration Concepts group Software Engineering II WS 2015/16

Scrum - Hasso Plattner Institute · Product Owner (and Scrum Master) are not playing PrecondiZons Product backlog is complete and prioriZzed Backlog items are known by the team The

Embed Size (px)

Citation preview

Scrum

Arian Treffer [email protected]

Prof. Plattner, Dr. Uflacker Enterprise Platform and Integration Concepts group

Software Engineering II WS 2015/16

Scrum

1.   TheCaseforAgile2.  TheScrumProcess3.  ScalingScrum

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 4

■  Peopleareafraidofmakingchanges■  Unofficialchangesarecarriedout■  Documentsgetoutofsync■  ...

Why Traditional Projects Fail

Scrum — Software Engineering II — WS 2015/16 5 October 28, 2016

■  Deliveringlate■  Deliveringoverbudget■  Deliveringthewrongthing■  UnstableinproducZon■  Costlytomaintain

How Traditional Projects Fail

Scrum — Software Engineering II — WS 2015/16 6 October 28, 2016

■  Smartpeopletryingtodogoodwork■  Stakeholdersarewellintended

ProcessintradiZonalprojects

■ Mucheffortfor□  Documentsforformalizedhand-offs□  Templates□  Reviewcommi?ees

Why Traditional Projects Fail

Scrum — Software Engineering II — WS 2015/16 7

Planning Analysis Design Code Test Deploy

October 28, 2016

Thelaterwefindadefect,themoreexpensiveitistofixit!Doesfront-loadingaso`waredevelopmentprocessmakesense?Realityshows:■  Projectplansarewonderful■  Adjustments&assumpZonsaremadeduringanalysis,design,code■  Replanningtakesplace■  Example:TesZngphaseattheend□  Testerraisesadefect□  ProgrammerclaimshefollowedthespecificaZon□  Architectblamesbusinessanalystetc.□  ExponenZalcost

Why Traditional Projects Fail

Scrum — Software Engineering II — WS 2015/16 8 October 28, 2016

“ ”

■ Weconductthefront-loadedprocesstominimizeexponenZalcostsofchange□  Projectplan□  RequirementsspecificaZon□  High-leveldesigndocuments□  Low-leveldesigndocuments

■  ThisprocesscausestheexponenZalcostsofchange!èAself-fulfillingprophecy

Thismakessenseforabridge,ship,orabuildingbutso>ware(andLego)areeasytochange!

A Self-Fulfilling Prophecy

Scrum — Software Engineering II — WS 2015/16 9 October 28, 2016

Weareuncoveringbe?erwaysofdevelopingso`warebydoingitandhelpingothersdoit.

Throughthisworkwehavecometovalue:

IndividualsandinteracDonsoverprocessesandtoolsWorkingso>wareovercomprehensivedocumentaDonCustomercollaboraDonovercontractnegoDaDon

Respondingtochangeoverfollowingaplan

Thatis,whilethereisvalueintheitemsontheright,wevaluetheitemsonthele`more.

The Agile Manifesto

Scrum — Software Engineering II — WS 2015/16 10 h?p://agilemanifesto.org/

October 28, 2016

Nolongerlateoroverbudget■  TinyiteraZons■  Easytocalculatebudget■  High-priorityrequirementsfirstNolongerdeliveringthewrongthing■  StrongstakeholdercommunicaZon■  Shortfeedbackcycles

How Agile Methods Address Project Risks

Scrum — Software Engineering II — WS 2015/16 11 October 28, 2016

Nolongerunstableinproduc>on■  DeliveringeachiteraZon■  HighdegreeofautomaZonNolongercostlytomaintain■ MaintenancemodestarZngwithSprint2■ MaintenanceofmulZpleversionsduringdevelopment

How Agile Methods Address Project Risks

Scrum — Software Engineering II — WS 2015/16 12 October 28, 2016

Outcome-basedplanning■  Nocompletedetailedprojectplan

Streamingrequirements■  Anewrequirementsprocess

Evolvingdesign■  Nocompleteupfrontdesignàflexible

Changingexis>ngcode■  Needforrefactoring

The Cost of Going Agile

Scrum — Software Engineering II — WS 2015/16 13 October 28, 2016

Frequentcodeintegra>on■  ConZnuousintegraZon

Con>nualregressiontes>ng■  Addnthfeature;testn-1features

Frequentproduc>onreleases■  OrganizaZonalchallenges

Co-locatedteam■  Keepmomentum

The Cost of Going Agile

Scrum — Software Engineering II — WS 2015/16 14 October 28, 2016

ProsandCons■  Shortplanninghorizon■  Noup-frontdesign■  Storiesinsteadofrequirementdocuments■  Extremeideology

Discuss!

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 15

Scrum

1.  TheCaseforAgile2.   TheScrumProcess3.  ScalingScrum

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 16

Scrum

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 17

ProductBacklog SprintBacklogSprint

Workingincrementoftheso`ware

2weeks–1month

ProductOwnerTeam

24hScrumMaster

Planning

DailyScrum

Review/RetrospecZve

The Team

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 18

ProductOwner

Developers

ScrumMaster

Customer Management

ResponsibiliZes■  CustomercommunicaZon□  Contactpersonforteam

■  ProductBacklog□  UserStories□  PrioriZes

■  AcceptanceCriteria&Tests

Product Owner

Scrum — Software Engineering II — WS 2015/16 19

ResponsibiliZes■  Processmanager□ ModeratorinmeeZngs

■ ManagementcommunicaZon□  Removeimpediments

■  Enabler,notboss

Scrum Master

Scrum — Software Engineering II — WS 2015/16 20

ResponsibiliZes■  CommunicaZon□  CriZcallydiscussallinputs□  HonestlyshareimportantinformaZon□  Representteamasexpert

■  SprintBacklog■  Developing;-)

Developers

Scrum — Software Engineering II — WS 2015/16 21

Listofworkitems■  Requirements(modificaZonrequests)□  Features□  Bugfixes

■  Ordered/prioriZzed

Product Backlog

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 22

InScrum,requirementsareo`endefinedasuserstories:“As<role>,Iwant<feature>to<reason>”

RequirementsneedtofulfillINVESTproperZes:■  I –Independent■  N–NegoZable■  V –Valuable■  E –EsZmable■  S –Small■  T –Testable

Requirements

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 23

h?p://xp123.com/arZcles/invest-in-good-stories-and-smart-tasks/

Ensurethebacklogisreadyforthenextsprint■  Aka“BacklogGrooming”■  TeamandPOdiscusstopProductBacklogitems□  ClarifyquesZons□  E.g.“Whocanaccessthis?”“whathappensif…?”

■ MakesureProductBacklogItemsconformtoteam’s“DefiniZonofReady”

■  Readyiswhentheteamsays:“Ah,wegetit”–JeffSutherland

Product Backlog Refinement Meeting

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 24

Fillingthesprint■  EsZmateBacklogitems■ MoveitemsfromProducttoSprintBacklog

Definingthework■  BreakdownBacklogitemsintotasks■  POnotrequired

TotalZme:2hoursperweekofsprint

Planning Meeting

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 25

Forbe?erplanning,storiesarebrokendownintotasksTasksshouldbeSMART:■  S –Specific■ M–Measurable■  A –Achievable■  R –Relevant■  T –Time-boxed

Tasks

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 26

h?p://xp123.com/arZcles/invest-in-good-stories-and-smart-tasks/

Listoftasksforasprint■  Tasksaresigned-upfor,notassigned■  Duringthesprint□  Nonewfeatures□  Teammaychange/addtasks

Sprint Backlog

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 27

Statusupdate■  Lastachievements■  Nextsteps■  Problems

Max.2minperpersonStand-upmeeZng?Discussions?■  Schedulesubsequentexpert’smeeZng

Daily Scrum Meeting

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 28

AcceptanceofFeatures■  DemotoPO□  POshouldbeprepared□  OpZonal:inviteotherstakeholders

■  Commentsbydevelopers

Review Meeting

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 29

InternalteamevaluaZon■  POnotrequired■  Discussprocessandproblems■ Measureimprovements

Retrospective Meeting

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 30

PotenZallyshippableincrement■  CompleteaccordingtoDefiniZonofDone□  Evenifnotactuallyreleased

■  Noregretsifprojectendednow

Product Increment

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 31

Scrum

Team■  ProductOwner■  ScrumMaster■  Developers

ArZfacts■  ProductBacklog■  SprintBacklog■  UserStories■  So`wareIncrement

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 32

MeeZngs■ Planning■ DailyScrum■ Review■ RetrospecZve

■ Dependsonso`wareengineeringprocess■ Highlyuncertain,mustbenegoZatedandrevisedwithstakeholders

■ WaterfalleffortesZmaZon□ Methods:calibratedesZmaZonmodelbasedonhistoricalsize(FuncZonPoints,LOC,…);expertjudgment;…

□ Output:Xman-months■ AgileeffortesZmaZon□ IteraZvemethods,shorterplanninghorizon□ Output:funcZonalitytobeimplementedinthenextiteraZon

Effort, Schedule, and Cost Estimation

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 33

ParZcipants■  EveryoneoperaZonallyinvolvedincreaZngtheso`wareproduct

■  ProductOwner(andScrumMaster)arenotplayingPrecondiZons■  ProductbacklogiscompleteandprioriZzed■  Backlogitemsareknownbytheteam■  Theeffortforasmallbacklogitemwasdeterminedasareference■  EveryparZcipanthasasetwithsizingcards

Effort Estimation in Scrum with “Planning Poker”

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 34

■ Productownerexplainsabacklogitem■ ProductowneranswersquesZonsofteammembers■ EveryparZcipantevaluatesthecomplexityofthebacklogitemandchoosesacard(hidden)

■ Allcardsareshownsimultaneously■ ParZcipantswithhighestandlowestnumberexplainchoices■ Theargumentsarediscussedinthegroup

Planning Poker 1/2

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 35

■ Anewvoteisconducted■ Teamagreesonitemsize□ Mostoccurringoraveragevalueisacceptable□ Ifnot,anotherroundisplayed

■ Themoderatornotessizeofbacklogitemintheproductbacklog■ ThegameendsifallbacklogitemsaresizedorZmeisover

Planning Poker 2/2

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 36

Beginthesprint■  SelectstoriesunZlsprintisfull■  BreakdownstoriesintotasksandfillyourScrumBoard(e.g.ToDo–InProgress–Verify-Done)

■  Assignstoriestodeveloper(s)■  Implementthestoriestaskbytask

After Planning Poker

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 37

Projekt Workflow: Product Owner

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 38

TalktoUser/ReviewExisZngSystem

•  InformalListofDesiredFuncZonality

CreateandPrioriZzeUserStories

• GithubTickets

• AcceptanceTests

PresentUserStoriestoTeam

•  ListofUserStoriesthattheTeamwilltackle

ReiterateeverySprint

Project Workflow: Developers

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 39

EsZmateUserStoryEffort

(PlanningPoker)

CreateandEsZmateTasksperUserStory

CreateUnitTest&ImplementTask

PushFeature

UpdateTickets,Create

DocumentaZon

RepeatunZlFeatureisfinished,Runtestsfrequently

Doneandsprintisnotover,yet?■  Helpyourteammates■  Refactor,writetests,document■  AsktheProductOwnerformorework

Scaling Scrum

Recap: High-level Overview of SWT2

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 41

What’sneededinsuchanenvironment?■  Developmentprocess■  CommunicaZononmulZplelevels■  InfrastructureforcollaboraZon

Implications of the Setup

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 42

Startsmallandgroworganically■  SingleScrumteamforpreparaZon■ WorkoutfoundaZonforthefirstsprints■  ScalewhenitbecomesnecessaryWearenowatthefirstscalingpoint!■  Rudimentaryarchitectureispresent■  Infrastructureispreparedandreadytogo

Scaling Scrum: Project Start

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 43

Architecture Overview

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 44

HPI-Monstar!Plugins

Webserver (Lokal: WEBRick, Deployment: Heroku)

Controller Layer View LayerModel Layer

JobOffer

Attachments

User

JobOfferController

Attachments Controller

Users Controller

ERB Engine

Layouts,Templates

View Helper

simple-navigation devise

● ● ● ●

bootstrap ...

Product Owner / Backlog Hierarchy

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 45 [ChristophMathis,ScrumCenter]

MainProductBacklog

ChiefProductOwner

POTeamA

POTeamB

POTeamC

Updateattheendofeachsprinttoconsolidateteamresults

TeamProductBacklogs

Just-in-Zmeupdatebeforethe

synchronizedplanning

■ PreparaZon□ IndividualreviewandretrospecZonmeeZngs□ MeeZngofallteamswith1-2memberseach:

– Reviewofthelastsprint–  Inputdependencies(Whatisneeded)– Outputdependencies(Whatneedstobedelivered)

■ ExecuZon□ Individualplannings(strictZmeboxing)□ DiscussionofidenZfiedaddiZonalinputoroutputdependencies□ Finalsprintplanning

■ Problem:Timeconsuming&highdegreeofcoordinaZonneeded!

Scaling Scrum: Sprint Planning

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 46

AnotherOpZon:Co-locatedplanning

Scaling Scrum: Sprint Planning

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 47

One Room

Team 1

Team 2 Team 3

Team 4

POs

Team 6

Team 5

Team 7

Team 8

Goal:SynchronizeteameffortwithminimalcoordinaZonoverhead■  RegularmeeZngofallScrummasters.□  Developersjoinifnecessary(ambassadorprinciple)

■  Scrummasters□  Sharetheirlearnings□  ReportcompleZons&nextsteps□  Coordinateinter-teamdependencies□  NegoZateresponsibility

■  Developersdiscusstechnicalinterfacesacrossteams■  DistributeinformaZonbackintotheteams

Scrum of Scrums

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 48

Questions?

1.  TheCaseforAgile2.  TheScrumProcess

3.  ScalingScrum

Scrum

■  "STvsGloucester-Match-23"byPierreSelim-Ownwork.LicensedunderCreaZveCommonsA?ribuZon-ShareAlike3.0viaWikimediaCommons-h?p://commons.wikimedia.org/wiki/File:ST_vs_Gloucester_-_Match_-_23.JPG#mediaviewer/File:ST_vs_Gloucester_-_Match_-_23.JPG

■  "Scrumprocess"byLakeworks-Ownwork.LicensedunderCreaZveCommonsA?ribuZon-ShareAlike3.0-2.5-2.0-1.0viaWikimediaCommons-h?p://commons.wikimedia.org/wiki/File:Scrum_process.svg#mediaviewer/File:Scrum_process.svg

■  „Wien-Seestadt,SW-Areal2013(2)“vonBwag-EigenesWerk.LizenziertunterCreaZveCommonsA?ribuZon-ShareAlike3.0-atüberWikimediaCommons-h?p://commons.wikimedia.org/wiki/File:Wien_-_Seestadt,_SW-Areal_2013_(2).JPG#mediaviewer/File:Wien_-_Seestadt,_SW-Areal_2013_(2).JPG

Image Credits

October 28, 2016 Scrum — Software Engineering II — WS 2015/16 50