‘Weeks of coding can save you hours of planning.’ – Old software engineering proverb.
There’s a stereotype of how communication goes when engineers are planning projects:
Manager: Go build this thing.
Engineer: That’ll take two months to build.
Manager: Can you do it in one?
Engineer: I’ll try.
Three months pass. Nothing ships.
Manager: Wow, engineers suck at estimating.
Engineer: Wow, estimating is a waste of time.
It turns out that engineers are pretty lousy at predicting the future. (If we weren’t, we’d all be off buying lottery tickets instead of writing scripts to parse log files.) That said, estimating projects has value for engineering teams far beyond setting timeline expectations with non-engineers, and improving your ability to estimate can greatly increase the chance of success for your projects.