agile estimating & planning by amaad qureshi
TRANSCRIPT
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 technicaltraining with world-class trainers toBucharest & Cluj
We run community workshops throughAgile Connexions Romania Meet-upgroup
All our courses are dedicated to thelearning experience and making traininginteractive and engaging
What is AgileEstimating &
Planning?
What is Agile Estimating?
Agile Estimating is a method to measure how long it will take to complete atask
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 StoriesUser Stories are a way of breaking down a project into measurable tasksthat allow you to effectively plan the length of the project and delivervalue 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, usuallyas 3 or 4 bullet points.
These form the Definition of Done (the tests need to be satisfied for thetask to be completed.
Story Points on a Kanban Board
Story PointsStory 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
34
12
© Mike Cohn, 2015
How it works
How to Estimate
© Mike Cohn, 2015
How to EstimateWe 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 ofthe 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 forthe 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 GameNumbers we’ll usetoday:
? 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 groups2. Your task is to put the animals in
order of size3. Assign Zoo Points to estimate4. Estimate as a group and decide how
many Zoo points each animal shouldbe assigned
5. If group estimates are different,discuss then re- estimate
6. Put animals in order of size highest tolowest
Zoo Game
Think about:
1. The discussions you just had inyour groups?
2. Was there high estimates and lowestimates?
3. How did youdecide/compromise?
4. Did your estimates synch up?(was a 3 zoo point animal thesame size as 1+2 zoo pointanimal?)
Zoo Game
Estimating TipsGut Feeling: use your instinct
Estimate by Analogy: estimatingby comparing
Triangulate: Estimating byverifying(is a 3 point story the same as a
1 and a 2 point story)
Disaggregation: If you cantagree on an estimate trybreaking the user story downinto a smaller story
Velocity & Projectduration
Duration of Project1. Work out estimates (story
points) for all user story's in aproject
2. Add up all story points to workout project length
Duration of Project3. After first few iterations
(development stages)work out how manystory points arecompleted perhour/day to work outlength of task.
e.g. If a team on avg. completes2 story points per day:
Velocity is = story points / timetaken
If there are 80 story points in aproject than you can estimatethat it will take 40 days tocomplete the project.
Duration of ProjectEvery time you start new projects, use the average velocity of past projects asa estimate for projected length of new projects.
Past Projects Total Story Points for project(x)
Team averageStory Pointsper/day (y)
Length ofproject (x/y)
a 80 4 20 daysb 70 5 14 daysc 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 NovWhat 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 oftheoretical explanations andpractical code examples writtenin Java and/or Ruby.
Thank You
Questions?
Email: [email protected]: @AmaadQAgile Connexions Romania: http://www.meetup.com/Agile-Connexions-Romania/