“How long will this take?” If you’ve ever worked in an IT team responsible for building software, you must have heard that question.
Estimation has a way of sparking debates about the best way to approach it. Should we use story points? Should we stick to hours? Or maybe skip estimation altogether? Everyone seems to have an opinion, but the truth is, there’s no single “right” answer.
Some teams find story points really helpful for thinking about complexity and comparing work. Others feel they create confusion. Finally, some teams decide that estimating isn’t worth the effort.
To make it more interesting, many Agile teams don’t operate in a vacuum. They work inside organizations that still run on a waterfall mindset, where a fixed forecast and upfront project plan are treated as sacred. Here, estimating gets harder – Agile teams adapt as they go, but the organization may expect strict deadlines and forecasts.
In this article, we’ll explore how Agile teams approach estimation. We’ll look at what helps, what often goes wrong, and share practical tips your team can try out.
Why Agile teams estimate
Estimating is not about guessing or trying to predict the future. Its goal is to help teams plan their work in a realistic way, have an understanding of the work ahead, and to see and discuss complexity and potential risks before they become problems.
- Spotting complexity
Not all work is equal. Estimating helps the team see which items are simple, which are more complex, and which might carry risks or uncertainties. - Speaking a common language
People work at different speeds. A senior developer may finish a task in half a day, while a junior might need three days. Estimation in story points gives the team an abstract scale that won’t change depending on who performs the task. - Encouraging discussion
When one person sees an item as “small” and another as “big,” it sparks a conversation. These discussions can uncover hidden details, different perspectives, and potential risks nobody had thought of yet. In the end, the team understands the work ahead better, and so planning should be a shared responsibility, delegated to the entire team. - Forecasting and planning
Estimates help teams get a rough picture of how much they can take on in a sprint or over the next few weeks. This way, they can plan better and give stakeholders a more realistic idea of progress.
Teams have different approaches when it comes to estimation. Some use story points, others use time. Both have their consequences for how planning and delivery can play out.
The pitfalls of time-based estimation
If you’ve ever thought that fixing a bug or implementing a new feature would take two days, only to get stuck in spaghetti code or delayed by another team’s deliverable, you already know the problem with time-based estimates. Estimating in hours or days often backfires because:
- We’re bad at guessing time. We underestimate past work and ignore the surprises that slow us down. Humans are simply not wired to predict time accurately. Optimism bias tricks us into thinking tasks will take less effort than they do, and in software development, unexpected challenges are everywhere.
- Uncertainty doesn’t fit into absolutes. An hour is always an hour, but a lot of our work starts with unknowns. Sometimes a task that looks like a quick 2-day job can end up taking 4 days if you’re waiting on another team. Dependencies like this can easily slow things down and make estimates tricky. Attaching rigid numbers to uncertain tasks creates a false sense of precision.
- Estimates become commitments. What begins as “roughly 40 hours” quickly turns into “it must be done in a week.” This sets teams up for blame when reality turns out different than the guess. As a result, teams may start adding extra time to their estimates just to be safe.
- It stifles growth. Focusing only on speed discourages teams from investing in learning, mentoring, or improving. Short-term delivery wins, long-term value suffers. When teams feel the pressure to hit a deadline, they might cut corners or compromise on technical quality.
Story points estimation
This is where story points and relative estimation come in. Instead of relying on hours, teams estimate complexity, uncertainty, and effort. Story points give a shared, abstract scale so all team members (regardless of skill) can agree on size. What should be remembered is that they are not exact and should not be treated as a fixed duration or a guarantee of delivery. Sometimes the team can look back at something they estimated as, say, 5 story points and use that as a reference in future estimations. This creates a kind of adaptation, which over time also helps the team pick up speed.
For the team, story point estimates make it easier to see how much work they can handle in a sprint, start good conversations during planning, and agree on the effort and risks involved. Most importantly, they give everyone a simple way to show how they see a task. Each team member can explain why they think something is more or less complex, often bringing in perspectives others hadn’t considered. This discussion helps the whole team build the same understanding of the requirement and what the work really involves. It’s not about how fast someone can deliver or judging individual skills. Instead, it shifts the conversation toward the technical aspects
For stakeholders, looking at velocity over time gives just enough predictability to plan ahead, manage resources, and think about releases, without turning estimates into fixed deadlines. By focusing on complexity and delivering efficiently, teams gradually find a rhythm, and velocity can be used for delivery forecasts.
Organizations naturally want to translate everything into timelines, budgets, and KPIs. This creates tension. Story points help bridge the gap: instead of debating exact hours or dates, teams can talk about the level of difficulty, technical challenges, and uncertainty of the work. It prevents the unhealthy game of “let’s double the estimate just in case so management won’t chase us”.
What (and how) to estimate?
A big question many teams face is: what should we actually estimate? Stories are the obvious choice, but what about the rest?
Bugs
Some teams don’t estimate bugs because they worry it will make velocity look higher than the real delivery of new features. Others say that bugs are still unfinished work, and if they’re not estimated, the backlog hides how much effort really remains. A useful rule of thumb: if a bug is real undone work that blocks progress, treat it like any other backlog item and estimate it.
Tasks
If a task is just a step inside a story (like “set up a database” or “do a security update”), it usually makes sense to roll it into the story’s estimate. But if tasks take up noticeable time on their own and affect how much the team can deliver in a sprint, giving them estimates can make planning more accurate.
Labels don’t matter
Scrum doesn’t really distinguish between stories, bugs, or tasks – they’re all just Product Backlog Items. What matters is that the backlog tells the truth about the work ahead.
Ultimately, estimation should serve the team, not the other way around. If developers feel it helps them to estimate bugs or tasks, that’s a good enough reason to do it. If they’re unsure, they can always experiment: try estimating everything for a couple of sprints, see if it helps planning, and then decide. The simple answer to the “what should we actually estimate?” question is: estimate the things that help you plan better. What’s worth keeping in mind is that sometimes estimating a small fix takes more time and team effort than actually doing the fix. So, balance and common sense when it comes to estimation should always be in the picture.
Practical rules you can try when estimating
Estimating can feel tricky, but the good news is there’s no single “right” way. Here are a few practical rules you can try out. Pick the ones that fit your context, stick with them for a while, and see what works.
- Define what counts as a Product Backlog Item and agree on a Definition of Done (DoD). Decide as a team what “done” means – released, tested, or approved – because this affects how you estimate the work.
- If a task is part of a story, roll it into the story’s estimate unless it consistently blocks capacity. A good practice is to break tasks down so that each one is small enough to be picked up, developed, and implemented within a single sprint or iteration.
- Estimate bugs when they represent undone work or have a real impact on sprint planning.
- Don’t estimate purely non-product work (like lunch, training, or general admin).
- Keep velocity internal: use it for team forecasting, not to compare people or teams. Each team can have its own way of interpreting story points. What one team sees as 3, 5, or 13 points may differ from another. Teams often work on different products, so velocity should only be used to estimate their own pace, not as a KPI for measuring team performance.
Experiment for 2–3 sprints, then check: Has planning improved? Did the backlog reflect real work? Did the team feel clearer or more burdened? Then, adapt based on what you learn.
Estimation risks and traps
Estimations can be super helpful, but they also come with pitfalls. Here are some of the most common traps to watch out for and avoid.
- Equating story points with hours (1 SP = 4 hours).
Story points are about complexity, not exact time. Turning them into hours defeats the purpose and brings back the same old time-estimation problems. - No baseline for relative estimation (numbers are random).
If the team hasn’t agreed on what a “1” or a “5” means, estimates lose consistency and can’t be compared usefully. - Using story points as a productivity metric for individuals.
Story points are a team tool. Tracking them per person creates pressure, competition, and takes focus away from collaboration. - Relabeling points as “effort” rather than complexity.
Points should capture both size and uncertainty. If they only reflect effort, you miss out on risks and unknowns. - Story points treated as deadlines.
Estimates aren’t promises. When treated as deadlines, they add stress and discourage honest conversations. - Converting points into hours/man-days.
This makes story points just another way of saying “time,” which removes flexibility and puts the team back into rigid planning. - Organizational risk.
It happens when a team estimates in story points, but later on the organization expects forecasts in hours or person-days anyway. To work effectively in a truly Agile way, teams need the right environment.
Summary
Estimation is an important practice in agile teams, not because it predicts exact deadlines, but because it helps create shared understanding, plan realistically, and give stakeholders a sense of what’s possible. At the team level, estimation sparks conversations, improves planning, and supports learning. At the organizational level, velocity trends provide just enough predictability for roadmaps and resource planning, without locking teams into rigid commitments. But estimations can easily be misused. Common traps include equating story points with hours, treating them as deadlines, using them to measure individual productivity, or comparing velocities across teams. The key is to keep estimates simple, relative, and team-focused. Choose practical rules, stay consistent for a few sprints, and adapt based on what works. Estimates should serve the team first, while giving stakeholders the transparency they need, not the other way around.













