How can the project be late when we never estimated it?
NoEstimates is a fantasy. Instead take Extreme Ownership of your estimates.
Welcome!
Welcome to Developing Skills - Skills for Developers looking to develop their careers.
Tip of The Week: Take Extreme Ownership of Your Estimates
The NoEstimates movement is a nice fantasy, nothing more.
The software engineers who believe they’re doing it are fooling themselves. Estimates are always going to exist for any non-trivial project. If you, or your team aren’t doing estimates, it just means someone else is.
Let me repeat that: If you, or your team aren’t doing estimates, it just means someone else is.
Someone further up the chain and further detached from the actual work.
Someone with even less information that you, who is going to do an even worse estimate than you.
And you’re going to be expected to deliver against that estimate.
It sucks, and it’s true.
How do I know this is always true? Because building software is an investment, and for every investment decision, the decision makers look at the cost and the expected return (benefit) to determine if the investment is 1) worth doing and 2) the best investment to make from those on offer. The cost is determined by an estimate (and so is the return).
In business terms this is process is known as portfolio selection and budgeting.
It doesn’t stop there. Once the investment is approved, there’s an expectation from whoever approved it that the project will be delivered against that estimate (and will provide the benefit promised).
So, you either estimate, or accept you’re working to someone else’s estimate. An estimate that you might not be aware of, but is there, and that you will be expected to deliver against.
So instead of pretending it’s possible not to estimate, I accept estimates are going to happen and focus my energy on ensuring that I and/or my team own them.
We create them.
We share them.
With our caveats.
We provide updates on them.
In short, Extreme Ownership of our estimates. Extreme Ownership means taking full responsibility for our actions and the outcomes of our decisions. It involves accountability, self-reflection, and a commitment to continuous improvement.
Check out the book Extreme Ownership to learn more about it.
For estimates, our extreme ownership means that:
We create them - we ensure we get the best information we can and we create estimates with with our caveats: “It will take 2-3 months based on these assumptions [list] and assuming these [resources] are made available to the team.
We share them - we are the ones that share them, we ensure our message is clear and we ensure we answer questions on it.
We provide updates on them - we work to keep the estimated plan up to date and we continuously over-communicate the progress against the current set of estimates and refined set of estimates based on what we have learned. We do that as often as we can, certainly at least once a week.
Three Ways I May Be Able To Help You Level Up As A Software Engineer:
I write another FREE newsletter **Coding Challenges** that helps you become a better software engineer through coding challenges that build real applications.
I am available for 121 coaching and mentoring.
I have a course Become a Better Software Developer by Building Your Own Redis Server (Python Edition) which guides you through solving the Redis Coding Challenge in Python.
Great post!