Imagine walking into a car dealership and asking the sales person, “How much will a red vehicle cost?” This seemingly simple question will result in an endless amount of questions in response: do you want a car, truck, or SUV? What about four-wheel drive? What kind of horsepower are you looking for? Do you want the latest technology? The questions go on and on, with each answer affecting the price tag.
Now, imagine meeting with an eCommerce development team and asking them, “How long will it take to build an eCommerce site?” Just like with the red car, a whole host of information is needed before an accurate estimation can be delivered.
Estimation is an important part of project planning, especially for the client. An accurate estimation helps illustrate the project process to the client, and helps to keep the development team on track.
What Exactly is Being Estimated?
Initial software development was implemented like any other feat of engineering: through a waterfall method. Over the last few decades of modern software, however, it has been determined that the waterfall method is not a reliable way to build software in the constantly-changing tech landscape that we have today. Thus, the Agile method was born.
With the advent of the Agile method came a change to the way that work items are evaluated and scoped. Instead of assigning tasks an estimated amount of time to completion, the unit of measure has been changed to effort instead of hours. This accounts for the fact that each member of a development team is going to take a different amount of time to complete a task.
Every team uses a different method when it comes to estimating their level of effort for a project, but here is a look at how the Briteskies team estimates effort.
How We Estimate
Effective estimation begins with the list of requirements for the project. Using the information gathered there, the development team determines what tasks need to be completed throughout the project.
When determining each task’s impact on the overall project, the level of effort is measured by points instead of hours. Our team tries to equate the task at hand to the approximate amount of work it will take for the person completing it. Often times, the developer will then compare the task to a similar, completed ticket and then determine how difficult it will be based on prior experience.
While some teams use points systems that run from one to one hundred, our team works with the Fibonacci sequence, using the numbers 1, 2, 3, 5, 8, and 13 to calibrate a task and assign it an estimated level of effort.
After going through the five requirement categories of the project and assigning values to each task, an overall estimated level of effort for the project can be determined.
Of course, it is important to keep in mind that when it comes to Agile, an estimate is just that: an estimate. It is not a deadline and is certainly not set in stone, as the Agile method gives allowances for changes or hiccups throughout the development process.