Estimation … Useful Tips

Definition

To start with, let’s agree that estimation is by definition a judgement, guess or opinion about something. Hence, it it by no mean accurate, yet useful in setting the expectations and helps derive decisions. The estimate can be more accurate primarily if the uncertainties in the business requirements are narrowed down and technical constraints in the environment are identified.

Dealing with Un-Certainties

In Agile projects, no matter how good are the product owner in explaining the product’s vision, or the business analysts in detailing or eliciting the business requirements, there will still be some questions unanswered at the time of estimation. It is only possible to have all the questions answered and reach eventually to zero uncertainties is at the end of the project.

Estimation Team

It is very important to highlight that it is not the sole responsibility of the Software Architects and Developers to provide the estimates. Product Owner, Test Engineers, Business Analysts are all required to participate in the estimation workshops — and all are members of the estimation team.

Estimation Methods

The estimation team has to start by defining the estimate method they would like to follow based on factors such as, the business complexity, urgency of the estimation request or availability of the product owners and relevant SMEs.

Team Velocity

The velocity of the estimation team should always be readily available as it should have been calculated based on the number of story points the team is able to burn in an iteration. It will be beneficial if the velocity of the team is categorized based on factors like business domain and adopted technology. The velocity will be used as a reference to when it is needed to convert the effort estimation into Actual Man days (Elapsed Days).

Estimation as a Social Process

It is essential to know that Estimation is a negotiation process with the business owner(s), and relevant SMEs. It is perfectly fine for them to challenge and question the estimates, and the estimation team has to be ready to provide their justifications based on the assumptions they made and the constraints they could identified. If the business owner is not happy with the overall ‘estimated’ duration, she can simplify some of the requirements, remove some of the identified constraints, work on the assumptions to make a call on them or override them with simpler ones. The estimation team accordingly will revise the estimates and submit them again to the business owner and solicit a feedback to see if they are acceptable or not, and so on.

Conclusion

Estimation is needed to help decisions makers in taking informed decisions. Estimation team has to define a clear estimation technique to use based on factors like business complexity and availability of the product owners. The estimates should always be supported by reasons and assumptions. Business Sponsors should accept the fact that estimation is not a commitment from the estimation team, nor it is by any mean accurate.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Belal Juma

Belal Juma

Managing Software Development and Operations