Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
Agile Software Development g
Stefan BalboStefan Balbo
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
Th W f ll M d lThe Waterfall Model
Requirements
D iDesign
Implementationp
Test
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
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
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
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
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.
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.
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
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
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
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
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]