“Our goals can only be reached through a vehicle of a plan, in which we must fervently believe, and upon which we must vigorously act. There is no other route to success.” – Pablo Picasso.
As Pablo Picasso says, planning is essential to win in any aspect of the business, especially in software projects.
As a software project manager or a leader, planning the time and budget of the project is vital and challenging.
Agile estimation helps companies determine the amount of time required to build a product and address the backlogs and other undetermined issues that arise.
Without proper estimation of both the time and budget, you may end up in prolonged delays of the project completion and the budget going over the head without control.
In this blog, we have listed the 10 most popular agile estimation techniques, which will help project managers or business owners like you estimate time and budget for your project beforehand.
Table of Contents
Agile estimation is a technique used to determine the effort required to complete a project.
Unlike the traditional method of time calculation, the agile methodology uses story points to determine the effort required. Story points in agile methodology are units of measure to determine the overall effort needed to complete a product backlog item or any other task.
The task which needs minimal effort in the project gets low story points. According to the story points, teams can understand how much work can be accomplished in a period of time and the effort required to complete a task.
Take a look at the benefits of agile methodology for software development projects.
Why Run Agile Estimation for Your Project?
By using the agile estimation in your project, you can leverage the benefits like:
There are many different agile estimation techniques; each has its own features. One approach is not suitable for all projects; you should be aware of your project requirements to choose the best estimation technique for your project.
So, we have listed and detailed the 10 most popular and widely used agile estimation techniques to select for your project.
Let’s dive in.
Number cards are used in the poker technique. All the team members involved in the project will be involved here.
In this method, all the team members are requested to select a number card according to the difficulty of completing a specified task. Then they reveal the number when asked. The number can be 1, 2, 3 ....10...50..100.
The number which gets the majority will determine the story point of the task. If there is no majority or too many different numbers are selected from individual team members. Then a meeting will be conducted regarding the task.
After the meeting, the voting task will be repeated to determine the number for the tasks with the most acceptance from the team members.
This technique is suitable for smaller teams with a small number of tasks.
The standard T-shirt sizing XS, S, M, L, XL are used to estimate the task. The team members will categorise the stories according to the difficulty of completion.
All the team members will be involved, and it is a collaborative and informal method. After completing the categorisation, the sizes can be replaced with numbers.
The task in the XS category will require minimum effort and resources compared to the task in the XL category.
If you find T-shirt a little boring, then you can use the sports balls in different sizes like a golf ball to basketball in exchange for S, M, XL etc., and make it a sports ball method.
The T-shirt sizing is just a metaphor; the basic idea is to categorise the tasks according to the difficulty of completion from small to large.
This technique is suitable for projects with more number of tasks.
In analogy estimation, the story point from the other tasks is compared to estimate a story point for a specific task.
Let's say task X has 4 story points, and task Y has 8 story points. If you have a task that needs more effort than task X and less effort than task Y, then you give a story point 6 to the specified task.
If you already have task 1, which takes 3 days to complete, and task 2, which is three times larger than task 1, you allocate 9 days to task 2.
The analogy method usually takes data-driven decisions to estimate the resources for the specified tasks.
This method is adopted mainly by teams who are experienced in agile estimations.
4. Dot Voting
In this technique, your team member will use dots to reveal the difficulty of a story.
Here the team members will give dots, 1 to 5; each member will provide some dots to specified tasks. Try to keep the maximum dots to 5; otherwise, in the end, counting the job will become another challenging task.
The tasks that get a maximum number of dots are difficult and need more resources. The tasks with minimum dots are easy and simple tasks that need minimum resources.
Dot voting is a simple and effective technique for small and early-stage projects.
Affinity mapping is used for projects with many backlogs. Team members will group the tasks that take the same effort to complete.
At first, a project manager will write down or stick a task and pick the next task and ask the team members whether the task is large or small to the already taken task. If it is small, then the manager will stick to the left of the first task.
The same fashion is used until the list of tasks gets completed. Then the team will give story points according to the difficulty.
This method operates with worst case, best case and most liked scenarios.
The team needs to find the time/effort by the OPM method.
- Optimistic (O): How much effort will it take if everything is on track?
- Pessimist (P): How much effort will it take if things fall apart?
- Most Likely (M): What is the most likely and realistic estimate to finish the task? According to the scenarios mentioned above.
After your team figures out the above three estimates, you can use any of the two methods mentioned below.
Triangular averages weigh each value equally.
Estimate = (O+P+M)/3
Beta distributions weigh the most likely value.
Estimate = (O+P+4M)/6
This method is best for the teams that are new to the agile estimation method.
This agile estimation is best for projects with many backlogs. Also, this is similar to the poker planning technique.
In this, the bucket or a whiteboard is used. Buckets will have numbers ranging from 1 to 100 or maybe 200 and more. Then there will be task cards; team members will place the cards according to the difficulty in different numbered buckets.
The bucket system is used by teams that are new to agile estimation and have many tasks in a project.
This method is one of the fast, simple methods for a rough estimation. This method has only three categories Big, small and large.
Team members will take a task and place it under any one of the three categories. If you feel the task needs minimal effort, it goes under small categories, and tasks that require significant effort come under the big category.
Suppose the team is uncertain about a task, whether it is big or small. Then the task will be taken under discussion to understand the difficulties. Sometimes the task may end up in the uncertain category.
After the categorisation, all the categories will be provided with story points.
This method is used for projects with a small number of tasks.
Random distribution method is also known as the ordering protocol. In this method, one team member places the stories based on low to high scale. After placing all the stories, another team member will come and change the order according to the difficulty of the new member.
Some stories will move to the lower, and some will move to higher positions. Once all the members complete the cycle, the tasks will be given story points.
Before starting this method, the team will decide the maximum allowable size of the stories. An example of maximum allowable size is the story that the person can complete in a day.
So if any story exceeds the effort needed for the maximum allowable size, the story will be split into two or more sub-stories.
This process will be continued until the list of stories gets completed.
So, which Agile Estimation Technique will be suitable for You?
Software projects with agile estimation methods are focused on the faster release of the projects. Proper planning will always end in less trouble, especially in software projects.
You can use a software development plan for this.
Agile estimation will give you the ease of adding customer feedback at any stage of development.
Before you choose the estimation method, try to understand your project requirements. Especially tools that help manage the software project, time management tools, and those which are required for the design and development phase.
The best rule to follow is not to have more large stories which take a lot of effort to complete. Try to make small stories, and take actionable steps to reach the results faster.
Choose the best estimation method for your next project and estimate better. Good luck!