spring of scrum
DESCRIPTION
A description of the Scrum process for newbie teams.TRANSCRIPT
In today's session
● We'll look at Scrum● How we're going to adopt it?
History Philosophy & Geography● We've been building software like
submarines
– Design, Prototype, Develop and Ship it out!
● But software speaks for itself that it is “soft”
● Heavy Weight Processes (RUP)
● Heavyweight tools (Rational Rose)
● We've been imitating construction industry!
● Draw, Map, Build, Inspect!
History Philosophy & Geography
● In reaction to all this, a new tide towards lightweight methods.
● The era was around 1990.● Since then, many variants and flavors are out
there– Extreme Programing– Scrum– Getting Real (My favorite)– Agile Unified Process
The Agile
● All these processes are termed in broad as “Agile”
● My first mental image of the word “Agile” is on right.
● And its not as wrong!● Both are flexible.
The Scrum
● Out of many (a)jellies, we're with Scrum now.● I'll introduce you to:
– The concepts– The processes– And our adaptation
● Fasten your seatbelts!● A little disclaimer: I'm too in learning process!● And a little on how I've addressed the problem.
Scrum: Know the Land● People
– Product Owner
– Scrum Master
– Team
● Tools
– Product Backlog
– Sprint Backlog
– Burndown Chart
● Processes
– Sprint Planning
– Daily Scrum
– Sprint retrospective
Product Owner
● Pretty obvious!● Direct beneficiary of the business value arising
from the product being built.● Describes what functionality needed.● And in what order? What is important?● Scrum Role: Decides features and importance
Scrum Master
● The coordinator of the whole Scrum Process● Keeps an eye any obstacles along the way● Facilitator● A bridge between product owner and the team.● Scrum Role: Manages the whole Scrum
process including any housekeeping like notifying all stakeholders of events.
Team
● Those who are into development● Typical size between 3 to 9● Develops the features in determined order● Scrum Role: Decides Time estimates for
features
The 4th Dimension: Sprint
● All those people have to perform those processes with the help of those tools in span of a sprint!
● Sprint is a short period ranging between 2 weeks to 5 weeks at max.
● It has a goal: “Make CEO impressed!”● A corporate heartbeat
Product Backlog
● Root of the whole process● Is a list of features that are to be built.
– Also known as stories or backlog items
● We record following attributes– ID
– Name
– Initial Estimate
– Importance
– How to Demo
– Notes
Product BacklogID Name Importance Estimate How to Demo Notes1 Music playlist 100 10 Hit request and get XML2 Advertisement timeline 120 10 Hit request and get XML3 Music Collection Generation 80 10 Hit request and get XML
● Must be kept at business level● Might grow/shrink over time● We'll explore it further
Sprint Backlog
● Features selected to be implemented in a single sprint.
● Team selects features based on:– Importance– And its own velocity
● Format is almost same as of product backlog● Remaining work is indicated and automatic
generation of charts
Burndown Chart
● A visual indicator of how the sprint is going?● Would we succeed?● Do we've lot of work? Or under work?● On Y axis, remaining work in man days● On X axis, days of sprint● Let's see an example
Burndown Chart
10 9 8 7 6 5 4 3 2 1 0
0
5
10
15
20
25
30
35
Ideal
Actual
Things so far
● We've covered the people and the tools of a Scrum and soon going towards processes.
● I know some of the tools are not clear to you.● Don't worry, tools will be crystal clear in context
of processes.● Phew!● Take a breath, and let's move on!
Sprint Planning Meeting
● What to do in a sprint? That's it!● Participants:
– Product Owner, Scrum Master, Team
● Outcomes:– Team– Sprint goal, Sprint backlog– Daily Scrum Meeting place and time– Demo date and place
Difficult questions
● How team decides what to include?– Pick top priority items
– That are less then their estimated velocity.
● How product owner can force team to include certain items?– Change the priority of items and team will be forced
to shuffle the sprint backlog.
The velocity
● From physics, Velocity is displacement in a direction.
● Velocity is the amount of work a team can do.– Estimated Velocity (calculated)– Actual Velocity (comes out of a sprint)
● If 4 people are available, and sprint length is 3 weeks then:
● Velocity = 4 x 15 = 60● Warning: I've used the term velocity others call it available man days
The Estimated Velocity
● That was the velocity but it cant be compared to story points which are ideal man days.
● So we need to refine it:● Estimated Velocity = Velocity x Focus Factor● Focus factor for new teams is around 70%● Estimated Velocity = 60 x 0.7 = 42 story points
So how do you pick?
● You actually choose top priority stories that optimally add up to estimated velocity of team.
● Say 4 people 3 week sprint and 70% focus factor then estimated velocity would be 42 story points.
● Team would select top priority stories totaling less then 42
● Product owner might change importance to shuffle the order.
Actual Velocity
● Chance are that you might not be able to complete all the stories in a sprint.
● If so, then the total sum of story points of the stories completed in a sprint is the actual velocity.
● If all the stories are completed, then estimated velocity is the actual velocity.
Focus Factor
● But how to calculate focus factor of last sprint?● Focus factor = Actual Velocity / Velocity● Say in the previous given example, we only
completed 35 story points then:● Focus factor = 35 / 60 = 58%● So the focus factor has been 58% for that sprint
Visually Speaking
How to estimate items?
● But how to estimate each backlog item?● There are two ways:
– Gut feeling– Planning Poker (http://www.planningpoker.com/)
● Gut feeling is just an intuitive estimate● Planning poker is card game, for each item,
each team member throws a hidden card indicating how much he thinks story would cost.
● Nobody affects nobody's mind this way
What else?
● What else comes out of the sprint planning meeting?
● A time and place for daily scrum meeting● A demo date and place● Also, we divide the stories into technical tasks.
This helps in uncovering any hidden challenges.● That's all for sprint planning meeting.
Daily Scrum● All team members meet daily and
discuss following:
– What we did last day?
– What we're going to do next?
– Are their any hurdles in progressing?
● Its not a report. Neither a monitoring tool.
● Its just keeping each other aligned with the line.
● And identifying the problems if any.
Sprint Retrospective
● We review the whole sprint after its finished● Learning from mistakes● If I would have to start over, I'd like to do it this
way.● Sprint Regretospective!● Its not very formal, just turn by turn, review what
you liked, what you'd like to avoid.
How big is each?
● Spring planning is a 4 hour meeting.– Can be extended onto next day if fails in its goals
● Sprint is about 3 weeks in length● Daily Scrum Meeting is 15 minutes in length● Sprint Retrospective is about 30 minutes or
more.● That's the whole process reviewed!
A Backlog Example
Benefit / Penalty Scale 1 (low) 9 (high)
PRODUCT BACKLOG
ID STORY / FEATURE / REQUEST CATEGORY TYPE Tota
l Val
ue
Val
ue %
Est
imat
e
Cos
t %
***
Prio
rity
1 As the system I want to be able to capture image files from disk Imaging Feature 9 9 18 22.2 10 10.4 2.13
7 As a user when I enter a non alphanumeric character when logging in an error occurs Login Bug 2 1 3 3.7 2 2.1 1.78
2 Index Feature 7 3 10 12.3 8 8.3 1.48
3 As the system when an image appears on disk I want to automatically capture it Imaging Feature 8 9 17 21.0 15 15.6 1.34
4 As a user I want to be able to login to the system Login Feature 3 5 8 9.9 8 8.3 1.19
5 Desktop Feature 9 2 11 13.6 21 21.9 0.62
6 As a user I want to be able to view a scanned document Imaging Feature 8 6 14 17.3 32 33.3 0.52
TOTALS 46 35 81 100 96 100
*** Priority is calculated using Wiegers Relative Weighting Approach
Rel
ativ
e B
enef
it
Rel
ativ
e P
enal
ty
As a user I want to be able to view the metadata for an image
As a user when I have logged in I want to view my inbox
An example Sprint Backlog
SPRINT 1GOAL
ITEM DESCRIPTION WHO?362 353 336 324 320 322 322 322 315 322 322 322 322 322 322 322 322 322 322
322
Story A
Task 1 GSM 40 40 32 20 10 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Lorem ipsum tibique patrioque disputationi at nec, ei eam semper gubergren. Ne duo atqui dictas feugiat, ea mea suscipit sententiae complectitur. Nusquam contentiones ut cum, offendit invenire et quo. His cu dicam labores quaestio.At vix sale prompta, ullum honestatis cotidieque et usu. No quodsi impedit nam. Eam at virtute assentior temporibus, ad pri fuisset apeirian atomorum. Mei ea tollit suscipiantur. Mel no possim postulant aliquando, facer choro ne ius.
Hours of Effort Remaining >
Day
1D
ay 2
Day
3D
ay 4
Day
5D
ay 6
Day
7D
ay 8
Day
9D
ay 1
0D
ay 1
1D
ay 1
2D
ay 1
3D
ay 1
4D
ay 1
5D
ay 1
6D
ay 1
7D
ay 1
8D
ay 1
9D
ay 2
0D
ay 2
1
Day 1Day 3
Day 5Day 7
Day 9Day 11
Day 13Day 15
Day 17Day 19
Day 21Day 23
Day 25Day 27
Day 29
0
50
100
150
200
250
300
350
400
SPRINT BURNDOWN CHART
Hou
rs
Connecting the dots● Let's review the whole thing
● Product owner owns the backlog and prioritizes the items
● Scrum master manages everything
● Sprint meeting chooses some stories to be done
● Daily Scrum allows you to be in sync with whole team
● Burndown charts give visual indicators.
● Scrum Retrospectives keep refining the process.
● Life gets going!
Our adoption
● We'll use OpenOffice spreadsheets for Product backlogs controlled under git.
● Same for sprint backlogs● Each of us would keep updating those sheets
which would autogenerate the burndown charts.● We'll adopt it to our environment.● My lifestyle wont fit yours! ● So is for the adoption of methodologies.
Closing Remarks
● I've tried to summarize the Scrum and how it would be adopted by us in a nutshell.
● Left out many aspects that I think are not of immediate importance to us for now.
● We all will learn in the process● This presentation is just a 2 D figure.● Actual execution would reveal more dark
corners!
Thanks & Credits● Qaiser and Fahad! Hats off for your on spot help in
aesthetic matters!
● Tim for the material.
● Bart of the critical questions, Jelle for encouragement.
● Spreadsheet templates are from http://agilesoftwaredevelopment.com
● And all of you, you owe credit for listening!
● Any questions?
● Thank you very much!