2. What is Estimation in Agile?
Estimation in Agile is a method of measuring
ï± How much Efforts will require complete a user story
ï± How much Time will require to complete a Task
3. Benefits of Estimation
ï± Estimation allows us to make decision effectively
ï± Estimation allows us to prioritize our features effectively based
on cost and benefits
ï± Estimation helps us to make our best plan
4. Problems of Time Based Estimation
Estimation:
Guess for the Amount of time the
development team will require
to complete a task
Target:
Target is the end result of a sprint or a
release of a product.
Commitment:
An agreement to complete certain
amount of work within a particular time
frame
5. Relative Estimation
ï± Eiffel Tower is 2.31 Times Larger
than Pyramid
ï± CN Tower is 3.96 Times Larger
than Pyramid
ï± Petronas Towers are 3.24 Times Larger
than Pyramid
ï± Burj Khalifa is 5.93 Times Larger
than Pyramid
6. Measure Complexity Relatively
Story Points Amount of Effort require to Complete a Story
âą Select a Story from backlog which is easy
to estimate i.e. select baseline story
âą Set a number to define the required effort
to complete the story i.e. set baseline
point
âą Then set same numbers to all others story
of the Product backlog those will require
similar effort as baseline
âą Set double point of baseline who will
require double effort
âą Similarly follow the process for triple and
furtherEffort = Amount of Work + Uncertainty + Risk + Complexity
*. Story of Same complexity can require different amount of work e.g.- Saving data from single field and 100 fields will require different amount of times to
design, coding etc.
*. At the beginning of a project stories are not clear so uncertainty takes place
*. Risk of using new technologies, changing of existing unmanaged code etc.
*. Business complexity.
7. Agile Estimation Technique
Planning Poker Technique of Estimating the Required Effort to Complete A User Story
1. All team member will involve in Planning Poker Game
02. Each member will have a set of card with containing numbers
1,2,3,5,8,13,21,40,100 etc.
03. Product owner will select a story from Backlog and describe itâs
details.
04. Development Team will gain crystal clear understating about the
story by asking questions like-
âą What should happen in a given scenario?
âą What should happen in some negative scenario
âą Who will use this? Any particular type of user or all?
05. After discussion Product owner will ask team to assign a number for this story
06. Each member will select a card and put it on the table with face down.
07. Once everyone selected their card the product owner will say Now Show
08. Everyone will turn over their card so that everyone present their can see the estimated number
09. If there any mismatch found then members with highest and lowest numbers will explain the reason of assigning point
10 . Then After explanation follow step 05-09
11. If after 5â6 rounds of playing the game estimation fail meet all members agreement then put it aside for revisit later
8. Velocity Estimation
Velocity No. of Story Points A Team can Complete within A Sprint
ï± At the beginning of the project if the team members have prior
work experience of similar project then can estimate the
velocity otherwise not.
ï± After first sprint we can measure the velocity of the team by
calculating how much story points completed by the team in
that sprint e.g.- in first sprint team completed 32 story points
ï± After third sprint we will average the story points that
completed by the team within past 03 sprints and that will be
the average velocity of the team e.g.- in first sprint team
completed 32 story points, second sprint 35 story points and
third sprint 38 story points. So average velocity = (34+36+38)/3
= 108 /3 = 36. So the average velocity of the team is 36.
âą No Incomplete stories /partially completed stories will accountable during calculating the velocity of the team.
âą Only consider those user stories who met the definition of âDONEâ
9. Definition of DONE
Potentially releasable product that will meet following conditions-
ï± All designâs of the Story must be completed (Conceptual design, Technical design, User Interface design etc.)
ï± Required code to complete the user story must be done
ï± All automated Tests (Unit Tests, Integration Tests etc.) must be completed
ï± QA tests completed and found no defects
ï± QA team verified that all acceptance tests has passed
ï± Successfully code reviewed
ï± Product manager will test the functionality story and is satisfied
ï± Code met the quality threshold set by the team
ï± No security issues has been found
ï± All documentation has been updated accordingly
10. Agile Planning
Plans are nothing; planning is everything.
Dwight D. Eisenhower
Focus more on the planning than on the plan
Mike Cohn
12. Agile Planning
Release
Sprint
ï± A release is a set of features of actual product and therefore visible to real customers.
ï± A release is the collection of results of multiple Sprints
ï± Sprint is a feature or set of features within an product release
Example-
ï± Every two months we have a Release
ï± Every two weeks we have a Sprint
So, a Release contain 04 Sprints in a Release (02 weeks = 1 Sprint; 1 month = 04 weeks = 2 sprints; so 2 months = 04 sprints)
13. Agile Planning
Release Planning
ï± Select a set of user stories for release
ï± Measure required effort to complete each stories i.e. estimate them
ï± Based on the velocity of the team identify how many sprints will require to complete those stories
ï± Based on the identified result set the Release
Sprint Planning
ï± Set a Goal of the Sprint i.e. What can delivered in upcoming Sprint
ï± Discuss about how to achieve the Goal
ï± Breakdown each story into several Tasks
ï± Set required work hour to complete each Task
ï± Based on the Task Time calculate how many stories can be deliver within this Sprint
ï± Only Team can how many items to chosen for a Sprint
14. Agile Planning
Daily Planning
Each Team member will answer following three questions
ï± What he did Yesterday
ï± What he/she will do today
ï± Is there any blocks or impediments
15. Agile Planning
Risk Planning
Beyond Release Planning, Sprint Planning & Daily Planning team also need to concentrate to address some
risks that can cost a huge if we ignore them. Some common risks are given below-
Analysis Paralysis
âą Team gets stuck in some phase specially in Requirement Engineering phase.
âą Run project with incremental releases i.e. Scrum itself is good enough to address this issue
Cart Before the Horse
âą Putting too much emphasis on a part of the project that should be done later
âą Following MoSCoW *Must Have, Should Have, Could Have, Wonât have (this time)+ method to prioritize
User Stories is good enough to address this issue
Over Engineering
âą Adding extra or needless features are added to a product and finally the product become confusing to
its users
âą Determine what are clients need and what are clients want and among them eliminate all unnecessary
requirements.
âą Follow KISS (Keep it Simple, Stupid) principle during design and develop the software
16. Agile Planning
Micro Management
âą Manager wants to involve in every details of a project and interfere in developers work
âą Manager need to focus on âBeing Agileâ instead of âDoing Agileâ is the only solution for this issue
Intellectual Violence
âą Particular person who
ï¶ Asserts his/her opinion on every topic
ï¶ Impedes progress by questioning every decision and action
âą Project manager will talk him/her personally and suggest any appropriate changes
Adapting New Shiny Technologies
âą Team often try to adapt new shiny technologies without knowing about its pros and cons.
âą Chances to stuck in middle of the project due to less flexibility of the technology or having lack of
feature to cover what is needed etc.
âą Research before committing to a technology. Understand itâs pros and cons and become an expert.