agile estimation techniques

Agile Estimation Techniques: What Are They?

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.

scope quality

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 journey 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.

3. Prioritization

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.

Agile Estimation Techniques

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.

dot voting

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.

poker-discussion

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.

bucket system

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.

tshirt size agile

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:

affinity mapping

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

IMG_3401

Written by:

Stuti Dhruv

Stuti Dhruv is a Senior Consultant at Aalpha Information Systems, specializing in pre-sales and advising clients on the latest technology trends. With years of experience in the IT industry, she helps businesses harness the power of technology for growth and success.

Stuti Dhruv is a Senior Consultant at Aalpha Information Systems, specializing in pre-sales and advising clients on the latest technology trends. With years of experience in the IT industry, she helps businesses harness the power of technology for growth and success.