From two-hour task to multi-sprint saga: the banner of broken estimates
Description
The image shows a large red fabric banner hanging inside what looks like an industrial warehouse or garage with corrugated metal walls and ceiling panels. In bold white uppercase letters it reads: "WE DO THIS NOT BECAUSE IT IS EASY, BUT BECAUSE WE THOUGHT IT WOULD BE EASY" - the last clause humorously undercutting the inspirational tone. The scene evokes every software team that green-lights a feature thinking it’s a quick win only to discover hidden complexity, unknown dependencies, and cascading scope creep. For seasoned engineers, the banner is a tongue-in-cheek nod to chronic under-estimation, mythical man-month miscalculations, and the perpetual gap between planning spreadsheets and production reality
Comments
6Comment deleted
It started as a ‘small refactor’ - now the Jira ticket has more descendants than a Git rebase gone rogue
The same confidence that made us estimate "just a simple REST API" at 2 sprints is what convinced us Kubernetes would simplify our deployment pipeline
This banner perfectly captures that magical moment in sprint planning when you confidently estimate 3 story points for what will inevitably become a 6-month architectural refactor involving three legacy systems, two deprecated APIs, and a database migration that nobody documented. The real kicker? You'll still defend that original estimate in the retrospective because 'how were we supposed to know the authentication service was written in COBOL and maintained by a contractor who retired in 2003?'
PM: 'Just swap the DB driver', and six weeks later we're running dual-write CDC, backfilled 2TB, and learned what write skew means
In planning it was a one-line change; in production it required a schema migration, nine service contracts, a backfill job, and a postmortem on why “easy” remains our most fragile dependency
Architects pitch 'simple refactor' at kickoff; ops sighs 'monolith migration incoming' 18 months later