We as human beings are prone to errors, especially when it comes to estimation. Talking of human estimation, it can either be under-confident, meaning underestimation or overconfidence meaning overestimation. For this reason, more software product development projects end up failing, or poor quality of products are delivered.
When it comes to agile projects, estimations can be a bit difficult to manage. Questions such as how much will the cost be? And the duration the project will take to be complete is hard to answer. A software developer can estimate either low or high costs, and estimate a wrong delivery time; either the delivery period can happen faster than expected, or at times it may take longer than expected. Such are the problems associated with wrong estimations that most IT companies fail to measure.
However, you may wonder if the project estimations are difficult, why strain? One thing for sure is that things change. Be it, people, be it technology, project requirements, and even Agile frameworks. A change will always be there. The primary purpose of Agile estimation is that it helps in coming up with decisions, making new changes, getting solutions to different arising issues and even answering questions relating to the product development in question. Below are ways in which agile estimation is helpful.
- Improved Strategy to Manages Risks
Any business-minded person must know and understand the circle of risks. One of the benefits of agile estimation is that it helps eliminate chances of product failure by highlighting dangers that might be associated with the product development process. When the risks are identified at an earlier stage, they are dealt with accordingly at the very beginning to minimize extra costs and resources later on.
Also, at the stage of asking and answering questions, a developer can identify a possible risk and take the required steps immediately.
- Good Coordination
In real life, combined efforts always bring positive impact as compared to a single effort.
In the field of product development, there are teams which are independent of the other — for example, team A and team Y. Assuming team A need to include another feature on the app yet they can’t go ahead until team Y creates a new feature to give useful information for team A, both teams will estimate the time required to accomplish the tasks giving other teams a room to work on other useful features.
- Agile Estimation gives Room to make an Appropriate Decision
Good preparation and proper decisions should be a priority for any business to succeed.
When decisions are made in a timely manner, you can always weigh possible opportunities or even challenges and how to go about them. Software products need proper planning and the necessary decisions made before the onset of the entire process.
4 Main Constraints of Agile Estimation
Cost, Scope, Schedule, and Quality are the significant controls of estimation. To understand better these controls, schedule & cost should be put on one side while quality and scope on the other side. Balancing the four controls involves the following limitations:
- Measuring the scope is hard
- Schedule and cost can easily be estimated
- You can’t measure quality
Stages involved in Agile Project Estimation
What is more important is embracing changes and managing the scope.
The agile transformation has played a significant role in businesses. However, as human beings, we have that internal push of budgeting for everything especially cutting unnecessary costs. In simple terms, we need an ever-growing business but within our planned budget. Below are the stages used in project estimation.
- Interviews with Investors
At this stage, a business expert is attached to the development team. At this point, the main purpose of the business specialist is to analyze deeply the documents shared. It is from the documents where the specialist identifies missing information and some questions and answers are conducted. From there, regular meetings are held between the investors and business specialists to clear all the pending issues and to make changes where necessary before anything else. The following documents are used at this stage;
FRD- Functional Requirement Document- This document contains all the requirements needed to accomplish the objective of the business.
RRB- Business Requirement Document- It is a document showing the purpose of the business.
1. Define High-Level Product Backlog
The second stage of agile estimation is when the business expert and the technical team set what the investors want with solutions. At this stage, the roots of the product are established, then authentication of the scope of the business is one for the client.
2. Knowing the Client and the Targeted Audience
A user experience expert is introduced at this stage to collaborate with the business specialist. The main purpose of a user experience expert is not only understanding the requirements of the client but focus more on the needs of the targeted audience.
After the stakeholders approve the previous stages, the entire team starts focusing on the agile cost estimation project. The strategy used here is the prioritization method. The team selects more urgent requirements to be accomplished first and those that aren’t urgent to be worked upon later on. The prioritization method is classified into must-haves, should-haves, could-haves, and won’t haves. (MoSCooW,) as discussed below:
As their names suggest,
- Must-haves include important features which play a vital role in the business.
- Should-haves are high-priority requirements and require a lot of effort.
- Could-haves are the backlog items but do not have a vital role in the objective of the business.
- Won’t have are the items selected to be released later on.
4. MVP – Minimum Viable Product Backlog
After the prioritizing stage, the business expert groups the must-haves to the backlog and name it MVP development requirement. However, some features from should-have also are available to the MVP section to ensure the end-product sustains the competitive market. However, this stage is usually ignored at times due to the time available and finances.
5. Project Estimation
Project estimation is the final stage where the entire team approximates the MVP backlog to highlight the projected time and costs involved for the first release.
The entire process involves building, rinsing, and repeating the same procedure until a viable estimate that fits the business is achieved. It is at this stage where some features are added while others are eliminated as the process of product development begins.
Techniques for Agile Estimation used in Software Product Development
It is vital for stake investors to use agile estimation techniques to keep moving on the safe track during the process of software product development. The purpose of agile estimation techniques is to ensure the final product is delivered within the expected time frame. Some of the techniques used include the following:
- Dot Voting
In Dot Voting, a ranking method is applied whereby the user stories in the product backlog is classified, starting with high to low priority stories. This is done so to ensure critical elements are considered first.
The voting process happens when all written user stories are placed on the wall so that shareholders can vote. There are usually given around five dotes which are used to select the stories they like. After voting, the owner of the product selects the winning user stories to be used.
- Planning Poker
Planning Poker is only applicable to estimating a limited number of things within a small group. He team involved usually make a circle to plan the poker activity. Poker cards ranging from 0-100 are then given to each member to estimate.
During the session, all team players take part in the session where questions and answers are asked and answered from both parties until the solution is arrived at.
- The Bucket System
The bucket system is applicable when dealing with large number estimations. The technique involves distinct buckets arranged consecutively with values from 0-200 or even more. After that, the items are then placed in the bucket in relation to the estimators’ preference.
One random item is then selected and placed on a different bucket, then another item is selected and a discussion concerning requirements are discussed then placed on the right bucket. The trend continues until a solution is found.
- T-shirt Sizes
Tshirt size technique is used when dealing with a massive backlog of items where the items are projected in terms of the sizes of the t-shirts, i.e. XS to XL.
The technique involves giving each item a size. Supposed all estimators offer the same size, then that is taken to be the ideal size. But then, when there is a difference in the sizes offered, both teams debates and arrive at a final estimate.
- Affinity Mapping
Affinity Mapping strategy of project estimation is applicable for a small team and in a situation with few backlog items. The following stages take place for this technique to be effective:
Silent Relative Sizing– Involves two cards placed contrary to the other and labelled larger and smaller. Team players are given items to size them individually.
Wall Editing– Here, team players talk about implementing the design and making the required changes.
Allocation of items to respective areas– In the 3rd stage, items are placed in the required positions.
Observation of the owner of the product rights- Here, the product owner highlights their views on estimations in general. A constructive discussion involved questions and answers are conducted to make the final estimation.
Export to Project Backlog Management Tool- This is the final step which involves exporting final estimation to the product management tool.
Looking for more info? Contact Aalpha today