Every day we work with a codebase we get smarter, we learn more, we have more context, we refactor, we compromise and we understand.
Every day we work with a codebase, our estimates improve.
But some days we get asked to estimate “everything on the backlog”, with a large dose of yesterdays weather, and a divination ceremony that uses numbers and maybe spreadsheets to make it look like engineering.
And the tasks we tackle the following day or the next sprint, or the sprint thereafter are mostly going to match the estimates, except for the knotty ones that don’t. And the ones further away will match less because by then we’ll know more. And we know we’ll no more, and we chose, or are advised, not to do them yet.
Those are the indistinct shapes in the fog. The ones that look bigger than what you’re doing now but definitely a lot smaller than those big problems we’ve tackled in the past.
Or are you fooling yourself? Do they only look small because they’re far away?
When you get close, will you find that even your best tools aren’t up to tackling this monster, and you’ll need to invent some new ones? And that will take time, and rework.
How far ahead are you estimating, how soon will you get there, and how confident are you that size isn’t an illusion?