Worked estimation examples
Real stories run through the estimation conversation end to end — login, payments, migrations, spikes — and the questions to land before anyone votes a number.
How to estimate a login feature: the hidden scope — password reset, 2FA, federation, rate limiting, sessions — and the questions to land before anyone votes.
How to estimate an SSO integration: the work lives outside your codebase, in the identity provider's quirks. The questions to answer before you vote a number.
How to estimate a payment integration: sandbox vs live, refunds, webhooks, idempotency, PCI scope. The conversation that has to happen before any number lands.
How to estimate a search feature: relevance, ranking, faceting and who owns the index. The questions that turn 'add a search bar' into a real estimate.
How to estimate a notifications system: channels, preferences, deduplication and delivery guarantees. Why 'send an email' quietly becomes a six-week project.
How to estimate a file upload: size limits, virus scanning, resumability, storage and retention. The drag-and-drop is the easy part; underneath is the ticket.
How to estimate a dashboard: data sources, refresh cadence, time zones, drill-down, permissions. The chart is easy; the data pipeline behind it is the work.
How to estimate a flaky test: why it's two estimates, not one, and why a time-box beats arguing about points when the answer depends on what you find.
How to estimate a bug with no repro: you can't size the fix, only the search. How to time-box the investigation instead of voting on a story nobody can see.
How to estimate a performance regression: the work is mostly diagnosis, not the fix. How to size it when the cause is unknown and an SLO is on the line.
How to estimate a customer-reported bug: the account on the ticket decides the size. How to separate the one-line fix from the response that eats the sprint.
How to estimate a database migration: backfill, lock duration, rollout and rollback. 'Add a column' is one line of SQL; the estimate is about the second clock.
How to estimate a data migration: moving data between systems, reconciliation and cutover. The transform runs in an hour; the cleanup runs for a quarter.
How to estimate a framework upgrade: why a major version bump is a project, not a ticket, and how to break it into stories you can actually size.
How to estimate a dependency upgrade: the long-tail bump that hides N spikes in one ticket. Read the changelogs first, then estimate what you found.
How to estimate a CI/CD overhaul: pipeline work has no demo, so slice by what can be deleted. The quarter-long story that hides on the backlog as a refactor.
How to estimate a third-party API swap: semantic gaps, dual-running and the assumptions baked into the old vendor's quirks. The new API only looks identical.
How to estimate a rate-limit rollout: thresholds, dry-run periods, customer comms. The code is half a day; picking limits nobody complains about is the work.
How to estimate a design-system change: token rollouts, deprecation paths, codemod coverage and the 200 call-sites that use the old component. Size the downstream.
How to estimate an accessibility fix: a11y issues are features you didn't ship the first time. Why to size the class of problem, not the single instance.
How to estimate a feature-flag rollout: staged percentages, kill-switches, gating metrics and the cleanup nobody schedules. A flag is a small product, not a deploy.
How to estimate a research spike: a spike is a time-box with a deliverable, not a story. How to keep it from quietly becoming the work it was meant to scope.
How to estimate a prototype: it's a deliverable sized for learning, not for use. How to keep the throwaway from becoming the production code nobody planned for.
How to estimate an ML experiment: it's research with engineering attached — the model is easy, the data is the work. How to size a budget, not a forecast.