succeeding with scrum
DESCRIPTION
Succeeding with Scrum presented at devLINK 2011.TRANSCRIPT
Insightful Solutions :: Innovative Technologies
Succeeding with Scrum
Esteban Garcia
Insightful Solutions :: Innovative Technologies
Insightful Solutions :: Innovative Technologies
Insightful Solutions :: Innovative Technologies
What is Scrum?
• Agile development• Iterative• High-quality code• Shippable product with every iteration • High-priority features first
Insightful Solutions :: Innovative Technologies
Characteristics
• Self-organizing teams
• Sprints
• Product Backlog
• User Stories
Insightful Solutions :: Innovative Technologies
Goals
• Team environment • Communication• Quality product• Transparency• Agility
Insightful Solutions :: Innovative Technologies
Traditional Approach
Analyze Design Code Test Release
Insightful Solutions :: Innovative Technologies
The Problem
Insightful Solutions :: Innovative Technologies
Scrum Process
Insightful Solutions :: Innovative Technologies
Scrum Process
• Release Planning Meeting• Sprint• Sprint Planning Meeting• Sprint Review• Sprint Retrospective• Daily Scrum
Insightful Solutions :: Innovative Technologies
Team dynamics
Insightful Solutions :: Innovative Technologies
Backlogs
• Product Backlog• Sprint Backlog
Insightful Solutions :: Innovative Technologies
Burn-down chart
0 1 2 3 4 5 6 7 8 9 100
20
40
60
80
100
120
Daily ProgressIdeal
Insightful Solutions :: Innovative Technologies
Done
Insightful Solutions :: Innovative Technologies
Let’s build a website!
An E-commerce website is needed for your sportswear company
Product Backlog:Story Points
As a user, I can view the company’s inventory 5
As a user, I can purchase items from the inventory 13
As a user, I can view my orders 8
As a user, I can cancel my unfulfilled orders 5
As a user, I can track my order 5
As a user, I can make billing inquiries 3
As a user, I can chat with a sales agent 13
Story Points
As a user, I can view the company’s inventory
As a user, I can purchase items from the inventory
As a user, I can view my orders
As a user, I can cancel my unfulfilled orders
As a user, I can track my order
As a user, I can make billing inquiries
As a user, I can chat with a sales agent
Insightful Solutions :: Innovative Technologies
Sprint backlogBreak down the tasks from the product backlog and make a commitment for the sprint: “As a user, I can view the company’s inventory”
Task HoursSetup new web project 4Create web layout 16Create inventory schema 8Populate inventory tables 4Test/verify data schema 8Create LINQ data mappings 4Populate screen with inventory data 16Test inventory site 14
Total 74
Insightful Solutions :: Innovative Technologies
Calculating VelocityTask Hours Day 1 Day 2 Day 3 Day 4 Day 5
Setup new web project 4 0 0 0 0 0Create web layout 16 12 10 2 0 0Create inventory schema 8 8 0 0 0 0Populate inventory tables 4 4 4 0 0 0Test/verify data schema 8 8 8 0 0 0Create LINQ data mappings 4 4 4 2 0 0Populate screen with inventory data 16 16 16 16 8 0Test inventory site 14 14 14 14 6 0
Total 74 66 56 34 14 0
Task Hours Day 1 Day 2 Day 3 Day 4 Day 5
Setup new web project 4 0 0 0 0Create web layout 16 12 10 2 0Create inventory schema 8 8 0 0 0Populate inventory tables 4 4 4 0 0Test/verify data schema 8 8 8 0 0Create LINQ data mappings 4 4 4 2 0Populate screen with inventory data 16 16 16 16 8Test inventory site 14 14 14 14 6
Total 74 66 56 34 14
Task Hours Day 1 Day 2 Day 3 Day 4 Day 5
Setup new web project 4 0 0 0Create web layout 16 12 10 2Create inventory schema 8 8 0 0Populate inventory tables 4 4 4 0Test/verify data schema 8 8 8 0Create LINQ data mappings 4 4 4 2Populate screen with inventory data 16 16 16 16Test inventory site 14 14 14 14
Total 74 66 56 34
Task Hours Day 1 Day 2 Day 3 Day 4 Day 5
Setup new web project 4 0 0Create web layout 16 12 10Create inventory schema 8 8 0Populate inventory tables 4 4 4Test/verify data schema 8 8 8Create LINQ data mappings 4 4 4Populate screen with inventory data 16 16 16Test inventory site 14 14 14
Total 74 66 56
Task Hours Day 1 Day 2 Day 3 Day 4 Day 5
Setup new web project 4 0Create web layout 16 12Create inventory schema 8 8Populate inventory tables 4 4Test/verify data schema 8 8Create LINQ data mappings 4 4Populate screen with inventory data 16 16Test inventory site 14 14
Total 74 66
Insightful Solutions :: Innovative Technologies
Burndown Chart
Start 1 2 3 4 5
0
10
20
30
40
50
60
70
80Sprint Burndown
Insightful Solutions :: Innovative Technologies
Velocity Chart
1 2 3 4 50
5
10
15
20
25
Insightful Solutions :: Innovative Technologies
Quality
• “Production Ready” after every sprint• Never sacrifice quality• Run sprints through completion• Re-assess often
Insightful Solutions :: Innovative Technologies
Communication
• Sprint planning meetings• Sprint goal• Sprint back-log• Sprint burn-down chart• Daily scrum meetings
Insightful Solutions :: Innovative Technologies
Tools – Planning Poker
Insightful Solutions :: Innovative Technologies
Tools – Task Board
Source: http://www.mountaingoatsoftware.com/system/hidden_asset/file/29/MockedTaskBoard.jpg
Insightful Solutions :: Innovative Technologies
Software Tools
• Whiteboard• Excel• TFS (Scrum Templates)• TeamPulse• ScrumWorks• Rally Software
Insightful Solutions :: Innovative Technologies
Common pitfalls
• Mini-waterfalls in each sprint• Making changes to the process before trying it
out• ScrumMaster behaving as a team lead• Allowing sprints to go on longer than planned• Bug-creep• Developer-level burn-downs• QA not part of the process
Insightful Solutions :: Innovative Technologies
Conclusion
• Scrum allows for better communication• Scrum helps with transparency• Scrum exposes existing problems and
surfaces new problems as soon as they come up
• Scrum helps you learn from the past
Insightful Solutions :: Innovative Technologies
Thank You!www.agilethought.com
[email protected]://estebanfg.blogspot.com
@EstebanFGarcia