About Me
 Amaad Qureshi
 Business Development Manager – Learning Connexions
 Certified ScrumMaster, Certified Scrum Product Owner
 Organiser – Agile Connexions Meet-up Group
 Co-organiser – Agile 101, AppsJuction Meet-up Groups
 Member: Agile Alliance, Scrum Alliance, BCS The Chartered Institute
for IT
 Finalist Agile Awards – ‘Person Who has done most to promote Agile in
2015’
About Learning Connexions
 We are a high-end training company
based in the UK
 We deliver certified agile and technical
training with world-class trainers to
Bucharest & Cluj
 We run community workshops through
Agile Connexions Romania Meet-up
group
 All our courses are dedicated to the
learning experience and making training
interactive and engaging
What is Agile
Estimating &
Planning?
What is Agile Estimating?
Agile Estimating is a method to measure how long it will take to complete a
task
This is done By
Using a teams experience and productivity to derive length and cost
How
By utilising Story Points to work out a teams velocity
Story Points
Lets Start with User Stories
User Stories are a way of breaking down a project into measurable tasks
that allow you to effectively plan the length of the project and deliver
value to the product/client.
User stories are usually written on post it’s and ask 3 things.
User Stories …
Acceptance Criteria (tests) are written on the back of user stories, usually
as 3 or 4 bullet points.
These form the Definition of Done (the tests need to be satisfied for the
task to be completed.
Story Points on a Kanban Board
Story Points
Story Points tell you how long a user story will take:
 Story points are assigned to user stories by the team carrying out the
task
 Story Points are usually assigned using Fibonacci Numbers: 0, 1, 2, 3, 5,
8, 13, 20, 40 and 100
 The value story points represent are ‘effort’
For example:
 A login screen is a 2.
 A search feature is an 8.
Story Points
3
4
12
© Mike Cohn, 2015
How it works
How to Estimate
© Mike Cohn, 2015
How to Estimate
We know…
 That three islands are about the same distance (12) away
 That another island is about twice as far away
We don’t know…
 How long it will take to sail a distance of 12
But we do know…
 That we can sail to all the islands 12 away in about the same time
 That it will take twice as long to the farther island
How to Estimate
© Mike Cohn, 2015
How to Estimate
© Mike Cohn, 2015
No reliance on actual distances
 We can now reliably estimate how long it will take to get to each of
the four islands.
 Even though we still don’t know how far away each island is.
How to Estimate
Relating This Back to Software
The right tools for
the job
Planning Poker®
An iterative approach to estimating
Steps:
 Each estimator is given a deck of cards, each
card has a valid estimate written on it
 Product owner reads a story and it’s discussed
briefly
 Each estimator selects a card that’s his or her
estimate
 Cards are turned at the same time
 Discuss differences (especially outliers)
 Re-estimate until estimates converge
© Mike Cohn, 2015
Planning Poker Example
© Mike Cohn, 2015
Benefits of Planning Poker
 Those who will do the work, estimate the work
 Estimators are required to justify estimates
 Focuses most estimates within an approximate one order of
magnitude
 Combining of individual estimates through group discussion leads to
better estimates
 Emphasizes relative rather than absolute estimating
 Estimates are constrained to a set of values so we don’t waste time in
meaningless arguments
 Everyone’s opinion is heard
 It’s quick and fun
Zoo Game
Numbers we’ll use
today:
 ?
 0
 1/2
 1
 2
 3
 5
 8
 13
 40
 100
 ∞
© Mike Cohn, 2015
 Lion
 Kangaroo
 Rhinoceros
 Bear
 Giraffe
 Gorilla
 Hippopotamus
 Tiger
Zoo Game
1. Arrange yourselves in groups
2. Your task is to put the animals in
order of size
3. Assign Zoo Points to estimate
4. Estimate as a group and decide how
many Zoo points each animal should
be assigned
5. If group estimates are different,
discuss then re- estimate
6. Put animals in order of size highest to
lowest
Zoo Game
Think about:
1. The discussions you just had in
your groups?
2. Was there high estimates and low
estimates?
3. How did you
decide/compromise?
4. Did your estimates synch up?
(was a 3 zoo point animal the
same size as 1+2 zoo point
animal?)
Zoo Game
Estimating Tips
Gut Feeling: use your instinct
Estimate by Analogy: estimating
by comparing
Triangulate: Estimating by
verifying
(is a 3 point story the same as a
1 and a 2 point story)
Disaggregation: If you cant
agree on an estimate try
breaking the user story down
into a smaller story
Velocity & Project
duration
Duration of Project
1. Work out estimates (story
points) for all user story's in a
project
2. Add up all story points to work
out project length
Duration of Project
3. After first few iterations
(development stages)
work out how many
story points are
completed per
hour/day to work out
length of task.
e.g. If a team on avg. completes
2 story points per day:
Velocity is = story points / time
taken
If there are 80 story points in a
project than you can estimate
that it will take 40 days to
complete the project.
Duration of Project
Every time you start new projects, use the average velocity of past projects as
a estimate for projected length of new projects.
Past Projects Total Story Points for project
(x)
Team average
Story Points
per/day (y)
Length of
project (x/y)
a 80 4 20 days
b 70 5 14 days
c 85 5 17 days
The more you estimate, the more accurate you will get!
Resources
 Slides: http://www.slideshare.net/AmaadQureshi
 Mike Cohn:
 Book(s): Estimating & Planning
 www.mountaingoatsoftware.com
 Roman Pichler
 www.romanpichler.com
 www.planningpoker.com
 www.trello.com
Clean Code Workshop – Cluj Sat 7th Nov
What you will learn:
 The impact of bad code
 How to make your code
consistent
 How to communicate within
your development team
 Naming, comments and
function best practices
 Why the aesthetics of your code
matters!
 The workshop will be a mix of
theoretical explanations and
practical code examples written
in Java and/or Ruby.
Thank You
Questions?
Email: Amaad@learningconnexions.com
Twitter: @AmaadQ
Agile Connexions Romania: http://www.meetup.com/Agile-Connexions-Romania/

Agile Estimating & Planning by Amaad Qureshi

  • 2.
    About Me  AmaadQureshi  Business Development Manager – Learning Connexions  Certified ScrumMaster, Certified Scrum Product Owner  Organiser – Agile Connexions Meet-up Group  Co-organiser – Agile 101, AppsJuction Meet-up Groups  Member: Agile Alliance, Scrum Alliance, BCS The Chartered Institute for IT  Finalist Agile Awards – ‘Person Who has done most to promote Agile in 2015’
  • 3.
    About Learning Connexions We are a high-end training company based in the UK  We deliver certified agile and technical training with world-class trainers to Bucharest & Cluj  We run community workshops through Agile Connexions Romania Meet-up group  All our courses are dedicated to the learning experience and making training interactive and engaging
  • 4.
  • 5.
    What is AgileEstimating? Agile Estimating is a method to measure how long it will take to complete a task This is done By Using a teams experience and productivity to derive length and cost How By utilising Story Points to work out a teams velocity
  • 6.
  • 7.
    Lets Start withUser Stories User Stories are a way of breaking down a project into measurable tasks that allow you to effectively plan the length of the project and deliver value to the product/client. User stories are usually written on post it’s and ask 3 things.
  • 8.
    User Stories … AcceptanceCriteria (tests) are written on the back of user stories, usually as 3 or 4 bullet points. These form the Definition of Done (the tests need to be satisfied for the task to be completed.
  • 9.
    Story Points ona Kanban Board
  • 10.
    Story Points Story Pointstell you how long a user story will take:  Story points are assigned to user stories by the team carrying out the task  Story Points are usually assigned using Fibonacci Numbers: 0, 1, 2, 3, 5, 8, 13, 20, 40 and 100  The value story points represent are ‘effort’ For example:  A login screen is a 2.  A search feature is an 8.
  • 11.
  • 12.
  • 13.
    How to Estimate ©Mike Cohn, 2015
  • 14.
    How to Estimate Weknow…  That three islands are about the same distance (12) away  That another island is about twice as far away We don’t know…  How long it will take to sail a distance of 12 But we do know…  That we can sail to all the islands 12 away in about the same time  That it will take twice as long to the farther island
  • 15.
    How to Estimate ©Mike Cohn, 2015
  • 16.
    How to Estimate ©Mike Cohn, 2015
  • 17.
    No reliance onactual distances  We can now reliably estimate how long it will take to get to each of the four islands.  Even though we still don’t know how far away each island is. How to Estimate
  • 18.
    Relating This Backto Software
  • 19.
    The right toolsfor the job
  • 20.
    Planning Poker® An iterativeapproach to estimating Steps:  Each estimator is given a deck of cards, each card has a valid estimate written on it  Product owner reads a story and it’s discussed briefly  Each estimator selects a card that’s his or her estimate  Cards are turned at the same time  Discuss differences (especially outliers)  Re-estimate until estimates converge © Mike Cohn, 2015
  • 21.
  • 22.
    Benefits of PlanningPoker  Those who will do the work, estimate the work  Estimators are required to justify estimates  Focuses most estimates within an approximate one order of magnitude  Combining of individual estimates through group discussion leads to better estimates  Emphasizes relative rather than absolute estimating  Estimates are constrained to a set of values so we don’t waste time in meaningless arguments  Everyone’s opinion is heard  It’s quick and fun
  • 23.
    Zoo Game Numbers we’lluse today:  ?  0  1/2  1  2  3  5  8  13  40  100  ∞ © Mike Cohn, 2015
  • 24.
     Lion  Kangaroo Rhinoceros  Bear  Giraffe  Gorilla  Hippopotamus  Tiger Zoo Game
  • 25.
    1. Arrange yourselvesin groups 2. Your task is to put the animals in order of size 3. Assign Zoo Points to estimate 4. Estimate as a group and decide how many Zoo points each animal should be assigned 5. If group estimates are different, discuss then re- estimate 6. Put animals in order of size highest to lowest Zoo Game
  • 26.
    Think about: 1. Thediscussions you just had in your groups? 2. Was there high estimates and low estimates? 3. How did you decide/compromise? 4. Did your estimates synch up? (was a 3 zoo point animal the same size as 1+2 zoo point animal?) Zoo Game
  • 27.
    Estimating Tips Gut Feeling:use your instinct Estimate by Analogy: estimating by comparing Triangulate: Estimating by verifying (is a 3 point story the same as a 1 and a 2 point story) Disaggregation: If you cant agree on an estimate try breaking the user story down into a smaller story
  • 28.
  • 29.
    Duration of Project 1.Work out estimates (story points) for all user story's in a project 2. Add up all story points to work out project length
  • 30.
    Duration of Project 3.After first few iterations (development stages) work out how many story points are completed per hour/day to work out length of task. e.g. If a team on avg. completes 2 story points per day: Velocity is = story points / time taken If there are 80 story points in a project than you can estimate that it will take 40 days to complete the project.
  • 31.
    Duration of Project Everytime you start new projects, use the average velocity of past projects as a estimate for projected length of new projects. Past Projects Total Story Points for project (x) Team average Story Points per/day (y) Length of project (x/y) a 80 4 20 days b 70 5 14 days c 85 5 17 days The more you estimate, the more accurate you will get!
  • 32.
    Resources  Slides: http://www.slideshare.net/AmaadQureshi Mike Cohn:  Book(s): Estimating & Planning  www.mountaingoatsoftware.com  Roman Pichler  www.romanpichler.com  www.planningpoker.com  www.trello.com
  • 33.
    Clean Code Workshop– Cluj Sat 7th Nov What you will learn:  The impact of bad code  How to make your code consistent  How to communicate within your development team  Naming, comments and function best practices  Why the aesthetics of your code matters!  The workshop will be a mix of theoretical explanations and practical code examples written in Java and/or Ruby.
  • 34.
    Thank You Questions? Email: Amaad@learningconnexions.com Twitter:@AmaadQ Agile Connexions Romania: http://www.meetup.com/Agile-Connexions-Romania/