PMI Bangalore Chapter

PM Guest Article August 2021

Estimation – 7 step process

N Raghavendra Prasad 

Raghavendra Prasad is PMP & ACP certified project manager with 30 plus years’ industry experience. He has experience in implementing Supply chain solutions, SAP implementations & Project management. Reading books, cricket and solving puzzles are his hobbies. He can be contacted at prasad_rags@hotmail. com

“Give me your accurate estimate” is one of the common oxymorons (conjunction of contradictory terms) heard in the industry. Estimation is an important subject in both waterfall and agile forms of PM methodology.

Estimating stories is the most difficult and time- consuming process for the team. This should be done with participation from the entire team and be detailed enough to avoid rework in the end. It is hard since there will be unknowns at the start and it is difficult to comprehend the project in one go. Moreover, estimates become commits that are binding on the team to deliver. Time taken to understand requirements, conceptualize the design, write the code, unit testing, refactoring, integrated end-to-end testing, build and deploy are some of the common themes to consider when estimating software projects.

The estimation process which I am proposing here is 7 step process to estimate features or stories for any agile method of project implementation.

7 step process is summarized below

1. Identify the requirements – Normally requirements or scope can be categorized as initiative, epics, features, themes, stories, or deliverables.

One or more of the above can be used for the estimation process depending on the project requirements and future tracking and monitoring.

2. Size each item

a. Planning poker or Fibonacci series- The scrum master distributes set of cards (containing high and low estimate numbers based on Fibonacci series) to team members and for each story, requests to show card estimate. Ensure the discussion and consensus is reached in the team on the final number. Repeat this for every story for the release.

b. Affinity estimates or T-shirt sizing – This is basically sizing every story on size – Small, Medium, and Large, the team can use more options like

Extra-large, Extra small, etc., discussion and consensus is required to finalize the size estimate.

3. Assign the owner – Each feature or deliverable should be assigned an owner who will execute and complete the task. The team members and their availability for the time the estimation is carried out is a useful reference here. The skill sets, experience, and domain expertise of each team member are important items to consider.

4. Schedule/Sequence – Once we have the owner assigned to each feature then the next thing to do is to sequence the deliverables. Commonly called release planning in Scrum methodology or Project schedule chart aka GANTT chart in waterfall projects. This will identify/incorporate the bottlenecks, critical path, and constraints.

5. Capacity planning – This step is to ensure that the capacity constraints of the team is addressed and the allocation of resources as per schedule is determined. This will also result in 2 scenarios

a. Team can deliver all features required by the customer for the release – Ideal scenario

b. If the capacity of the team is short, then a decision is either to reduce scope or increase resources that need to be taken. Re assignment of resources or scope adjustment will lead to a reworked schedule.

6. Identify Risk and dependency – This is the key step to close out any ambiguities in the plan, so the risks are well mitigated, and enough time is included for the dependencies to be completed.

7. Finalize plan – This plan is to be reviewed with the team and all the relevant stakeholders to get agreement and concurrence. A vote of confidence is a common method to get agreement.

Estimation and Planning is not rocket science but Plan well done helps the team to deliver quality and on-time service to customers.

The steps which are highlighted above are not standard frameworks or recommendations. It is purely based on my experience and standard agile and scrum concepts have been kept as the guiding principle. With minor tweaks and changes, you can tune this to suit your project and industry. Further, this does not need any tools except Microsoft EXCEL.