Making projections is something we all do all...
April 11th, 2022
Making projections is something we all do all...
Making projections is something we all do all the time, from projecting what the weather will be in a few hours to who will win the Super Bowl. In our work as software engineers, though, we are also making a lot of projections for all of our work. " "" "Estimating the time to write code is itself more an art than a science, and getting good at creating these projections is essential to success as a software engineer. There are several elements that I tend to think about when I make estimates:" "What's the best case and worst case amount of time this could take?" "How likely is the best case? Similarly, how likely is the worst case?" "How much time do I think it'll take me to code" "How much time will this take to release and be in production so that I can quote an estimate for time to production?" "How busy am I over the next 3 months, should this land on my plate?" "" "These considerations help form a number of days/weeks, which is typically considerably more than just the raw time to code. Working in a big company with large codebases, this is somewhat expected. It takes more time to figure out where to make a change and plan it out than actually to execute that change. " "" "Estimates like these are all about setting expectations at the end of the day. If you can consistently underpromise and over-deliver, that's the goal. And as was said in Superforcasting, it takes practice in a field of projection to get better. So continuously tune your estimates as you go, review how close you were, and continuously try taking a slightly more aggressive approach until you fail, then start overestimating again and start the cycle over! #bendevtip
Original post on LinkedIn