Beruflich Dokumente
Kultur Dokumente
Mohsin Hijazee
mohsinhijazee@zeropoint.it
MohsinHijazee@gmail.com
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
th
The 4 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 Backlog
ID Name Importance Estimate How to Demo Notes
1 Music playlist 100 10 Hit request and get XML
2 Advertisement timeline 120 10 Hit request and get XML
3 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
35
30
25
20
Ideal
Actual
15
10
0
10 9 8 7 6 5 4 3 2 1 0
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
*** Priority is calculated using Wiegers Relative Weighting Approach
Benefit / Penalty Scale 1 (low) 9 (high)
PRODUCT BACKLOG
Total Value
*** Priority
Estimate
Relative
Relative
Value %
Penalty
Cost %
Benefit
ID STORY / FEATURE / REQUEST CATEGORY TYPE
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 As a user I want to be able to view the metadata for an image 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 As a user when I have logged in I want to view my inbox 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
An example Sprint Backlog
SPRINT 1
GOAL
Lorem ipsum tibique patrioque disputationi at nec, ei eam semper SPRINT BURNDOWN CHART
gubergren. Ne duo atqui dictas feugiat, ea mea suscipit sententiae 400
complectitur. Nusquam contentiones ut cum, offendit invenire et quo.
His cu dicam labores quaestio.At vix sale prompta, ullum honestatis
350
cotidieque et usu. No quodsi impedit nam. Eam at virtute assentior
temporibus, ad pri fuisset apeirian atomorum. Mei ea tollit
300
suscipiantur. Mel no possim postulant aliquando, facer choro ne ius.
250
200
Hours
150
100
50
0
Day 3 Day 7 Day 11 Day 15 Day 19 Day 23 Day 27
Day 1 Day 5 Day 9 Day 13 Day 17 Day 21 Day 25 Da
0
y 1
y 2
y 3
y 4
y 5
y 6
y 7
y 8
y 9
y 1
y 1
y 1
y 1
y 1
y 1
y 1
y 1
y 1
y 1
y 2
y
Da
Da
Da
Da
Da
Da
Da
Da
Da
Da
Da
Da
Da
Da
Da
Da
Da
Da
Da
Da
Da
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!