Updated: Mar 2
You cannot avoid the need to provide time estimations for different aspects of the project. This is not something that will disappear. Determining an accurate estimate of a project is essential. This is because it directly impacts delivery time, planning, quality, and the value the team will 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 and profitability.
Providing time estimations for a project is hard enough, but it can be even more complicated in the software industry. This is mainly because environmental factors can influence estimations, such as risks, resources, technologies, and expectations. Below are some insights regarding estimates within an Agile environment:
When the team estimates stories, there will likely 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 committing to the story.
The team will become more committed to the estimation process if they know the story, its value to the user, and its contribution to the product.
The story estimation process 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 that allows each team member to become involved. This means more opinions and interactions 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 estimates that will become more precise as the team matures.
Before the start of the sprint, the team usually doesn’t know exactly who will be responsible for implementing specific parts and specific stories. Each member has their capabilities, experience and skills, which affect the time it takes to complete the task.