14
Agile Software Development Stefan Balbo Stefan Balbo

Agile Software Development - Esri · • Agile Software Development with Scrum – bKby Ken Sh bSchwaberer an andMikd Mike BdlBeedle [Th fi t S b k][The first Scrum book] • Scrum

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Agile Software Development - Esri · • Agile Software Development with Scrum – bKby Ken Sh bSchwaberer an andMikd Mike BdlBeedle [Th fi t S b k][The first Scrum book] • Scrum

Agile Software Development g

Stefan BalboStefan Balbo

Page 2: Agile Software Development - Esri · • Agile Software Development with Scrum – bKby Ken Sh bSchwaberer an andMikd Mike BdlBeedle [Th fi t S b k][The first Scrum book] • Scrum

MotivationMotivationMotivation Motivation

•• Development projects have progressed over the yearsDevelopment projects have progressed over the years–– More complexMore complex–– More scope changesMore scope changesp gp g

•• Development process has stayed the sameDevelopment process has stayed the same–– Inadequate process results in projects thatInadequate process results in projects that

F ilF il•• FailFail•• Have poor qualityHave poor quality•• Are frustrating to work onAre frustrating to work on•• Take longer than expectedTake longer than expected

Page 3: Agile Software Development - Esri · • Agile Software Development with Scrum – bKby Ken Sh bSchwaberer an andMikd Mike BdlBeedle [Th fi t S b k][The first Scrum book] • Scrum

Th W f ll M d lThe Waterfall Model

Requirements

D iDesign

Implementationp

Test

Page 4: Agile Software Development - Esri · • Agile Software Development with Scrum – bKby Ken Sh bSchwaberer an andMikd Mike BdlBeedle [Th fi t S b k][The first Scrum book] • Scrum

What is Agile Software Development?What is Agile Software Development?What is Agile Software Development?What is Agile Software Development?

The Agile Manifesto (2001):The Agile Manifesto (2001):

Individuals and interactionsIndividuals and interactions over processes and toolsover processes and toolsIndividuals and interactions Individuals and interactions over processes and toolsover processes and toolsWorking software Working software over comprehensive documentationover comprehensive documentation

Customer collaboration Customer collaboration over contract negotiationover contract negotiationResponding to change Responding to change over following a planover following a plan

Page 5: Agile Software Development - Esri · • Agile Software Development with Scrum – bKby Ken Sh bSchwaberer an andMikd Mike BdlBeedle [Th fi t S b k][The first Scrum book] • Scrum

What is Scrum?What is Scrum?What is Scrum?What is Scrum?

•• Framework for agile software developmentFramework for agile software development

•• Key concepts:Key concepts:•• Key concepts:Key concepts:–– Iterative and incrementalIterative and incremental–– Small selfSmall self--organizing teamsorganizing teams–– Short feedback loopsShort feedback loops–– Priority by business valuePriority by business value

Page 6: Agile Software Development - Esri · • Agile Software Development with Scrum – bKby Ken Sh bSchwaberer an andMikd Mike BdlBeedle [Th fi t S b k][The first Scrum book] • Scrum

Starting a Scrum ProjectStarting a Scrum ProjectStarting a Scrum ProjectStarting a Scrum Project

•• EnvisioningEnvisioning–– Articulate the project visionArticulate the project vision–– Determine and prioritize goals and objectivesDetermine and prioritize goals and objectivesp g jp g j–– Vision is accepted by all stakeholdersVision is accepted by all stakeholders

R l Pl iR l Pl i•• Release PlanningRelease Planning–– Product owner creates a prioritized backlog of itemsProduct owner creates a prioritized backlog of items

•• List of all desired work on the project (user stories)List of all desired work on the project (user stories)–– Team estimates the user storiesTeam estimates the user stories–– Team estimates velocityTeam estimates velocity–– Preliminary date based on estimated velocityPreliminary date based on estimated velocity–– Preliminary date based on estimated velocityPreliminary date based on estimated velocity–– Stakeholder consensus and commitment to proceedStakeholder consensus and commitment to proceed

Page 7: Agile Software Development - Esri · • Agile Software Development with Scrum – bKby Ken Sh bSchwaberer an andMikd Mike BdlBeedle [Th fi t S b k][The first Scrum book] • Scrum

Scrum FrameworkScrum FrameworkScrum FrameworkScrum Framework

S Q ti

Product Backlog

Scrum Questions:Done?Do?Impediments?

DailyScrumScrum

IterationPlanning

Iteration3 weeks

Iteration

PotentiallyShippableProduct

“Done”

Planning

Backlog

IterationIterationReviewReview

IterationIterationRetrospectiveRetrospective

Page 8: Agile Software Development - Esri · • Agile Software Development with Scrum – bKby Ken Sh bSchwaberer an andMikd Mike BdlBeedle [Th fi t S b k][The first Scrum book] • Scrum

Product Owner ResponsibilitiesProduct Owner ResponsibilitiesProduct Owner ResponsibilitiesProduct Owner Responsibilities

•• Defines the features of the productDefines the features of the product•• Prioritizes product backlogPrioritizes product backlog•• Establishes communicates and nurtures the visionEstablishes communicates and nurtures the vision•• Establishes, communicates and nurtures the visionEstablishes, communicates and nurtures the vision•• Accepts or rejects work resultsAccepts or rejects work results•• Can change the product backlog every iterationCan change the product backlog every iteration

•• Product Owner is the vision keeper, the daily decision Product Owner is the vision keeper, the daily decision maker and the singlemaker and the single wringablewringable neckneckmaker and the single maker and the single wringablewringable neck.neck.

Page 9: Agile Software Development - Esri · • Agile Software Development with Scrum – bKby Ken Sh bSchwaberer an andMikd Mike BdlBeedle [Th fi t S b k][The first Scrum book] • Scrum

Scrum Master (Agile Coach) ResponsibilitiesScrum Master (Agile Coach) ResponsibilitiesScrum Master (Agile Coach) ResponsibilitiesScrum Master (Agile Coach) Responsibilities

•• Ensures team is functional and productiveEnsures team is functional and productive•• Enables close cooperation across all roles and removes Enables close cooperation across all roles and removes

barriersbarriersbarriersbarriers•• Shields team from external interferencesShields team from external interferences•• Ensures the process is followed. Invites to daily Scrum, Ensures the process is followed. Invites to daily Scrum,

planning and iteration review meetingsplanning and iteration review meetings

•• The Scrum Master is the shepherd the bulldozer and theThe Scrum Master is the shepherd the bulldozer and theThe Scrum Master is the shepherd, the bulldozer and the The Scrum Master is the shepherd, the bulldozer and the servant leader.servant leader.

Page 10: Agile Software Development - Esri · • Agile Software Development with Scrum – bKby Ken Sh bSchwaberer an andMikd Mike BdlBeedle [Th fi t S b k][The first Scrum book] • Scrum

Responsibilities of a Scrum TeamResponsibilities of a Scrum TeamResponsibilities of a Scrum TeamResponsibilities of a Scrum Team

•• CrossCross--Functional (5Functional (5--9 members)9 members)•• Agrees to iteration goal and specifies work resultsAgrees to iteration goal and specifies work results•• Empowered to do anything to reach the iteration goalsEmpowered to do anything to reach the iteration goals•• Empowered to do anything to reach the iteration goalsEmpowered to do anything to reach the iteration goals

–– within the project guideline boundarieswithin the project guideline boundaries•• Organizes itself and its workOrganizes itself and its work•• Demos work results to the stakeholdersDemos work results to the stakeholders

Page 11: Agile Software Development - Esri · • Agile Software Development with Scrum – bKby Ken Sh bSchwaberer an andMikd Mike BdlBeedle [Th fi t S b k][The first Scrum book] • Scrum

Agile estimating and planningAgile estimating and planning

How long will it take?How long will it take?

Agile estimating and planningAgile estimating and planning

•• How long will it take?How long will it take?–– Is a legitimate questionIs a legitimate question–– Based on past performance rather than guessingBased on past performance rather than guessing–– Agile estimating worksAgile estimating worksAgile estimating worksAgile estimating works

•• Relative estimating with Story pointsRelative estimating with Story points–– Items in the product backlog are estimated with story pointsItems in the product backlog are estimated with story pointsp g y pp g y p–– During a Planning Poker gameDuring a Planning Poker game

•• FunFun•• Good resultsGood results

There is an App for thatThere is an App for that•• There is an App for that…There is an App for that…•• Measure velocity after each iterationMeasure velocity after each iteration

–– Calculate remaining iterations ( = remaining story points / Calculate remaining iterations ( = remaining story points / velocity)velocity)y)y)

–– Create a Create a burndownburndown chartchart

Page 12: Agile Software Development - Esri · • Agile Software Development with Scrum – bKby Ken Sh bSchwaberer an andMikd Mike BdlBeedle [Th fi t S b k][The first Scrum book] • Scrum

Agile estimating and planningAgile estimating and planningAgile estimating and planningAgile estimating and planning

160MapX Burndown Chart

100

120

140MapX Burndown Chart

60

80

100

rt in

Poi

nts

Velocity Trend

0

20

40Effo

r

Scope change Trend

-40

-20

00 23-Mar

110-Apr

21-May

322-May

412-Jun

53-Jul

624-Jul

714-Aug

8

IterationIteration

Page 13: Agile Software Development - Esri · • Agile Software Development with Scrum – bKby Ken Sh bSchwaberer an andMikd Mike BdlBeedle [Th fi t S b k][The first Scrum book] • Scrum

Pitfalls when using ScrumPitfalls when using ScrumPitfalls when using ScrumPitfalls when using Scrum

•• Backlog Items are too bigBacklog Items are too big•• Team overTeam over--commitscommits•• Unclear definition of “Done”Unclear definition of “Done”•• Unclear definition of DoneUnclear definition of Done•• Team is too largeTeam is too large•• Distributed TeamsDistributed Teams•• FacilitiesFacilities•• Product owner proxiesProduct owner proxies

T b i d l i l ST b i d l i l S•• Team members assigned to multiple Scrum teamsTeam members assigned to multiple Scrum teams•• Too many hats (e.g. Product Owner = Scrum Master )Too many hats (e.g. Product Owner = Scrum Master )•• Defects are counted toward velocityDefects are counted toward velocityDefects are counted toward velocityDefects are counted toward velocity•• Little or no Release PlanningLittle or no Release Planning

Page 14: Agile Software Development - Esri · • Agile Software Development with Scrum – bKby Ken Sh bSchwaberer an andMikd Mike BdlBeedle [Th fi t S b k][The first Scrum book] • Scrum

Links Tools and LiteratureLinks Tools and LiteratureLinks, Tools and LiteratureLinks, Tools and Literature

•• www.scrumalliance.orgwww.scrumalliance.org

•• ScrumworksScrumworks byby CollabNetCollabNet [easy to use focused Scrum Tool][easy to use focused Scrum Tool]ScrumworksScrumworks by by CollabNetCollabNet [easy to use, focused Scrum Tool][easy to use, focused Scrum Tool]

•• Agile Software Development with ScrumAgile Software Development with Scrumb Kb K S h bS h b d Mikd Mik B dlB dl [Th fi t S b k][Th fi t S b k]–– by Ken by Ken SchwaberSchwaber and Mike and Mike BeedleBeedle [The first Scrum book][The first Scrum book]

•• Scrum and XP from the Trenches Scrum and XP from the Trenches –– by by HenrikHenrik KnibergKniberg [very practical how[very practical how--toto--guide]guide]

•• Succeeding with Agile | Software Development Using ScrumSucceeding with Agile | Software Development Using Scrum–– by Mike Cohn (2010) [Helpful for larger scrum implementations]by Mike Cohn (2010) [Helpful for larger scrum implementations]

•• Lean Software DevelopmentLean Software Developmentpp–– by Mary by Mary PoppendieckPoppendieck and Tom and Tom PoppendieckPoppendieck [A good intro to Lean][A good intro to Lean]