Updated: Apr 22
You cannot avoid the need to provide time estimations for different aspects of the project. This is not something that will just disappear. Determining an accurate estimation of a project is essential. This is because it has a direct impact on factors such as delivery time, planning, quality and the value the team will be able to deliver.
Inaccurate estimations can have a catastrophic impact on the project, including delays in delivery time or destroying trust between the client and the organization, as well as profitability.
Providing time estimations for a project is hard enough, but in the software industry, it can be even harder. This is mainly because of environmental factors that can influence estimations such as risks, resources, technologies, and expectations. Below are some insights regarding estimations within an Agile environment:
When the team estimates stories, it's likely that there will be no consensus regarding the time required to complete a story. This is fine, as long as they come to some agreement that allows them to feel comfortable before they commit to the story.
The team will become more committed to the estimation process if they know what the story is about, its value to the user and how it contributes to the product.
The process of story estimation usually involves several team members with different expertise (testing, coding, research, analysis etc.). This is why you should always allow each team member to share their own opinion and contribute to the team discussion before determining the final estimation.
Estimating is a team activity which allows each team member to become involved. This means more opinions and interactions that can easily lead to negative discussions (especially in a new Agile team).
To provide an estimate, the team should base it on well-written stories that include acceptance criteria, Definition of Done and any technical information that can guide the delivery process.
You should expect your team to fail at providing precise estimations (and that’s just fine). They will probably start with wrong estimations that will become more precise as the team matures.
Before the start of the sprint, the team normally don’t know exactly who will be responsible for implementing specific parts and specific stories. Each member has their own capabilities, experience and skills, which affect the actual time it takes to complete the task.