scrum - hasso plattner institute · product owner (and scrum master) are not playing precondizons...

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

Upload: truongtu

Post on 20-Jul-2018

235 views

Category:

Documents


0 download

TRANSCRIPT

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