Project estimation is crucial to successfully plan and manage a project and deliver a desirable product. Inaccurate estimates may lead to a jumbled schedule, leave the developing team dissatisfied, and drive costumers away.
Project estimation in software developments usually happens on two levels:
1. A high-level estimation
The available information is rather general and limited in the initial stages, however project estimation starts with specifying epics and user stories.
2. A more concentrated and precise estimation
After specifying user stories, the team members use the agile estimation techniques below and assign story points to backlog items to relatively determine their size and required effort.
5 agile estimation techniques (to determine story points):
1. Planning Poker
Planning poker is an estimation technique that involves all team members in the process of decision making and makes sure everyone participates and is on the same page. It usually works within smaller teams (10 members at most).
There are many variations to this technique. The most basic kind starts by distributing a set of cards with numbers on them between team members. The numbers are usually in the Fibonacci sequence: 0, 1, 2, 3, 5, 8, 13, and 21. These numbers roughly represent story values. Then, the product owner describes and explains the story. Afterward, team members select a specific card which they think represents the value of the story and the amount of effort it takes. If everyone gives the same value, that number will be the estimate. If not, the members who chose the highest and the lowest numbers explain their opinion; the team members participate in the discussion until everyone decides on the final value.
2. T-Shirt Sizes
This technique works for estimating a large backlog of relatively large items and quickly gives members a rough estimate.
Estimations are in the forms of t-shirt sizes: XS, S, M, L, XL, etc. Team members determine the backlog’s effort and size relatively during a mutual collaborative discussion.
3. Dot Voting
Dot voting is usually considered a decision-making tool, not an agile estimation technique. However, it’s a simple and effective way to prioritize or indicate the value of several small items quickly.
You don’t want a complicated technique when there are a few, relatively small items. And dot voting is easy; each team member gets a small number of dots in the form of stickers and uses them as votes to indicate the size and importance of an item. The more votes an item gets, the bigger its size, and the higher its priority.
4. The Bucket System
This technique is similar to planning poker, but it’s useful for estimating a large number of items amongst a large number of participants.
Team members put each item or story in a bucket with a specific value (preferably similar to the Fibonacci numbers on the cards in planning poker). These “buckets” can be different sheets of paper where you can place sticky notes on or actual baskets.
5. Large/Uncertain/Small
This method is a quick technique to estimate the size and time of comparable items in a small group. It’s derived from the bucket system and is a simplified version of it.
The team starts by choosing items and appointing them in the extreme categories and further discusses the more complex ones. The team then can assign a size to these categories after distributing the items.
What do you need to know before estimating your project?
Previous software development projects’ data
You don’t need to reinvent the wheel if you’ve carried out similar software development projects before. Create a baseline of historical data from previous projects and try reconstructing the estimates for your new project while considering them.
Even if you haven’t completed a software project with a similar scope and outcome, you still won’t be the first person to do that type of project. So use other IT companies’ experience.
Project’s goals and objectives
Fully understand your project and what you need to achieve. Determine the deliverables and break them into smaller and more manageable components.
If you’re not entirely aware of all the tasks and activities during your project and its outcome, chances are you won’t be able to make accurate estimates either.
Possible pitfalls
A software development project is not always a smooth-sailing process. Predict and allow some unexpected or expected but inevitable obstacles, such as bugs, low quality work, unavailable team members, etc.
A research conducted by McKinsey and the University of Oxford shows that, on average, large IT projects run 7% over time and 45% over budget while delivering 56% less value than predicted. Although most companies survive the downsides of cost and schedule overruns, almost 17% of the projects go so bad they can threaten the existence of the company.
No business owner likes spending extra money and time on developing a software project. But let’s be realistic here; you cannot possibly predict everything super accurately. Things will go sideways sometimes. But you can train yourself and your team about project estimation thoroughly (whether with an in-house team or an outsourced one).
How does WINaTALENt estimate your idea?
We offer estimation services that help you have a clearer understanding of the outlook of your project, its requirements, and its outcome.
First, we start by estimating the scope and in short the effort esstimation of your software development project after assessing your idea and its technical requirements.
Then, we discuss your project amongst our team members and estimate its backlog tasks.
And finally, our product manager uses all this data and roughly estimates the timeline of your software project.
In short, our report will consist of several relative time estimates based on different circumstances, such as your in-house or outsourced team’s experience, your budget, etc.
By using this data, you will confidently know what to expect from your team and your final deliverable product.
Find out more about our estimation services at WinATalent.