How long will it take to deliver this project?
How much disk space does it take to store a million customer information?
How long does it take to compress 1000MB of text?
…
In software projects, we often have to estimate what work is about to begin. There are many unknown factors, such as technology updates and requirements changes, which can make the estimate not very accurate. So why do we do agile estimates?
Video link:www.zentao.net/programmer/…
Why do Agile estimates?
- For decision makers, it is necessary to adjust requirements priorities, allocate resources, and even decide whether to cut a function based on the estimation results.
- For the customer, estimation results can give an expectation or promise of a feature coming online.
- For the team, discussing requirements in advance can achieve a consistent understanding of requirements and improve team efficiency in actual work.
The most important value of an estimate is the depth of understanding of the requirements and the thought process of how to implement the functionality.
How do Agile estimates work?
In software development, there are two common estimation methods.
Man-hour estimates
Man-hour estimation can be understood as the time required to complete the required function, and the estimation result is absolute value. Man-hour estimation is the estimation made by team members based on their own abilities, which can be estimated with the help of agile estimation cards. For details, please watch our previous videos.
Story point estimation
Story point estimation is used to estimate the total effort to implement one or more user stories. The estimate is measured in points and should take into account all factors affecting the workload, mainly including:
- The amount of work to be carried out
- Complexity of work
- Any risks or uncertainties associated with the work to be carried out
Story point estimation is carried out in the way of team estimation. We cannot make multiple developers with different abilities agree on the time consuming of the same development task, but we can achieve the same estimation of the amount of work. The unit describing the development effort is story point.
When estimating, first, select a small user story, identify its story points, and use that story as the base story. Other user stories are then compared to the base stories to get the relative points of other user stories.
The main purpose of story point estimation is to identify the tasks to be delivered. Aside from the difference in units of measure, story point estimation and man-hour estimation are similar in that they can both be performed with the aid of estimation cards. However, story point estimates are often made in the form of Fibonacci numbers to avoid getting caught up in the obsession with accuracy.
Estimate seven don’t
- Don’t strive for perfection;
- Don’t estimate to meet your budget;
- Don’t whittle away at estimates;
- Don’t use customer goals as an estimate;
- Don’t hide uncertain costs;
- Don’t cut too much;
- Don’t rely too much on past experience.
Taking the time to understand the requirements before making an estimate always leads to better results.
More wonderful video sharing: www.zentao.net/page/colleg…