What are Scrum Tasks and who is involved in Estimating Scrum Tasks? The Development Team play an important role within the estimation of Scrum tasks within an Agile project.
Estimating Scrum Tasks
A 59 Seconds Agile Video Animation
Estimating Scrum Tasks for Developers
A 59 Seconds Agile Article
One of the biggest goals in Agile software development is minimizing extra work and documentation. Scrum teams reduce the paperwork around tasks and go for the most direct approach possible. One might think that task estimation would be something that Agile would cut out. After all, why would a Scrum team waste time estimating tasks when the developers can just begin working on them? On the contrary, estimating tasks is still a valuable part of Agile software development. There are a number of benefits to task estimation that outweigh the time it takes.
Estimating Scrum Tasks: How Estimations Help Developers
So how exactly does task estimating help the developer role of Scrum teams? Most notably, it gives developers a consistent pace. Any developer can complete a task given the specification. However, completing a task without estimates is unpredictable. Time to complete any given task can vary wildly. Small tasks take almost no time, while larger and more complex tasks could take upwards of weeks. Without estimating, though, there is no way to know which tasks will be large and which will be small. By estimating tasks, developers have a general idea of how long a task will take. There will certainly be exceptions, and bad estimations at times, but a Scrum team’s estimates improve with time.
Estimating Scrum Tasks: A Consistent Pace
With a more consistent pace, missed deadlines and wasted time are reduced. This yields a more efficient development team. If developers take on tasks that are larger than expected, they may not be able to finish development by the deadline. In the case of Agile, deadlines usually cannot be pushed back. The next release simply will not have the feature that is still in development. This may not be an issue in some instances, but stakeholders often expect to receive features that they have been promised.
If a large feature is pushed back to the next service pack, stakeholders can be disappointed. On the other hand, developers may work on tasks that are smaller than average. If developers finish their work far earlier than expected, it may be difficult to reallocate work. Instead of continuing to work on new software through the duration of a sprint, they may have to look around for more work. In either of these cases, the development team efficiency suffers. Estimates minimize the risk of inefficiency.
Estimating Scrum Tasks: Development Team Efficiency
In addition to improving the efficiency of the development team, estimation gives developers a fair amount of time to complete tasks. This results in less stress for the developers. Knowing how much time a task should take from the beginning, allows developers to approach a task more confidently. Also, it allows developers to make informed decisions based on their own abilities. A more senior developer knows that he or she may be able to complete a task faster than a less experienced developer. Likewise, a new team member should realize that they may take longer than the estimated average.
From a more general perspective, estimates improve progress tracking. Tools like kanban boards are useful for showing how much work has been finished, how much is currently in development, and how much remains to be started. Task estimation gives weight to the tasks on a kanban board. Instead of just a number of tasks, the Scrum team sees how large or small each of these tasks is. Having five finished tasks, and five tasks to go doesn’t represent the halfway point if the five finished tasks were large and the five remaining are small.
Estimating Scrum Tasks: How Estimations Benefit from Developers
The role best equipped to make these estimations are developers themselves. In addition to benefiting from estimating tasks, developers can help to create more accurate estimations. One reason for this is because developers are familiar with development. From problems that might come up, to the necessary amount of detail in specifications, developers have more of an intuition for estimation.
What sounds small to other roles may be a red flag for a large task to a developer. Take the example of a checkbox in an interface. To those unfamiliar with development, it may sound simple and easy. However, this could be much more complicated, depending on the environment. A developer who has worked on the interface before may know that there are many steps to add a new checkbox. Furthermore, it may require resizing and shifting around of other elements in the interface. What sounds like a few minutes of work to most people, maybe closer to a day or more for developers.
User Stories Applied
A 59 Seconds Agile Book Review
User Stories Applied by Mike Cohn is one of our favourite books on Agile User Stories. The book starts with an overview into user stories, and details what a user story is and the different aspects of them. He then discusses how to go about writing a user story, and provides details of the INVEST criteria that can be used to determine if the story is meeting all of its objectives. Next Mike gives an in depth discussion of who user stories are written for and where to begin when gathering the details for them. The book then discusses acceptance testing user stories, including how to go about specifying these criteria and the responsibilities of the development team and customers during this process.
Estimating Scrum Tasks
A 59 Seconds Agile Infographic
Our Favourite Agile Books
We found these books great for finding out more information on Agile Scrum: