The year 2005. "How soon can you fix this bug ?" my manager asked.
"5 minutes," I quipped, "It's just a typo".
My manager laughed and gave me three valuable lessons that day which have been my lifeline throughout my professional journey - as a developer and now, as a manager.
- Nothing gets done in 5 minutes - A bug fix isn't just limited to fixing the problem. There has to be time set aside for unit testing and making sure this same bug isn't found anywhere else. Followed by a code review. Followed by build and deployment. Followed by QA. No matter how small the fix is, there are always overheads attached to it before it finally makes it to a release.
- By giving low estimates, I was holding myself hostage unnecessarily - As a young and energetic developer, I was eager to prove myself. I would often give low estimates to impress my managers and perhaps to test my own limits. When I would make the deadline, I would be proud of my 'accomplishment'. Sometimes, I would end up putting a night out to keep my commitments. Sometimes, a series of night-outs for a more complex item. All this, because I estimated aggressively. I did not raise risks when I realized the estimate was low. I tried to absorb it by putting in long hours. Not only was this was exhausting, It did not bring me any laurels. The urgency impacted the attention to detail and degraded code quality. And this was all totally unnecessary since this wasn't a genuine emergency.
- An estimate gone wrong is not the end of the world - This is not to be taken personally. There is no shame in it. We make mistakes, that's how we learn. There is no heroism in killing yourself to meet a deadline you brought upon yourself. The real learning is owning up to the mistake, informing your manager, course-correct and estimate better next time.
My personal tip - Over time, I started using a PERT sheet to estimate. It forced me to think through best case and worst case scenarios and use a realistic number that can be used for planning. I realized my managers relied on me a lot more, my code delivery was better, I developed an attention to detail and I did not have to sleep on bean bags in my office anymore :).
Managing Director, Kickdrum India
2 年Poor estimation also has downstream impacts where commitments get made based on the estimates. I'd also suggest an "estimation review" similar to "code review".