Project Estimation in Agile (Scrum)
How to estimate project timelines in Scrum.
Join the DZone community and get the full member experience.Join For Free
Shortly About Scrum
Scrum is a project delivery methodology. The basic idea of Scrum is to split complex project into tasks that can be delivered within one iteration. (Often it's about 2 weeks). But this article is not about Scrum. It is about estimating timelines in Scrum.
To simplify the understanding of project estimation, I'll use couple of comics. Let me introduce experienced Morty, intern Rick, and middle-experienced Summer.
Estimation of One Dramatically Simple Project Together
Let's assume that business requires us to write 3 characters: A, B, C. Yes, a very simple task. But even simple tasks might be understood by each team member differently.
For example - font, size, color, style, etc. All these characteristics are not defined. For more complex problems, the difference in understanding would be much greater.
So, before starting to sort this issue, business, with all project participants, has to sit together and define a set of subtasks (e.g. split issues into stories, like A character, B character, C character, along with style, size, etc.).
So, after a Sprint planning session, we might have more or less clear requirements:
Different Performance of Each Team Member
We now have to think about the individual abilities of each team member. In order to make fair estimations for each task, we decide what would be the minimal task that can be used as a related measure for any other task. So, for our problem, we will use one story point as the amount of work require to draw 1 point:
The last, and possibly the most important step, is grooming. Each epic task is split into smaller tasks that can be delivered within 1 Sprint. Even with a single understanding of the requirements, implementation can be done differently (or some participants might miss some parts). During a grooming session, teams discuss and lay out implementation details of each task, and estimate it in story points.
Vision Before a Grooming Session
Morty sees that A/B/C tasks requires 8,11,7 story points.
Rick finds that there are more subtasks inside each task and estimates: 10,12,11 points.
Summer also has a bit of a different picture: 10,12, 8 points.
After the grooming session, the team decides that there are 12 story points for A, 12 points for B, and 10 for C.
Now, when all epic tasks are split into subtasks, each of them can be taken in a Sprint. Some subtasks can't be done separately, so teams created 11 smaller tasks that can be taken. Considering each team member's performance, we can create timelines. As you can see, 3 days of the Sprint would be enough.
Instead of Conclusion
In practice, grooming sessions are the most important part of Spring planning. More detailed grooming makes much more proper predictions. Also, with each iteration, the performance of each team is increases. After many sprints, you can evaluate the average team velocity and make predictions even for big projects.
Opinions expressed by DZone contributors are their own.