9 Principles of Software Estimation

Eiki Takeuchi
Beyond Agile Leadership
13 min readDec 5, 2023

--

Estimation is always a challenging task in software development since software development contains a lot of uncertainties, and no projects are the same. Although it’s very difficult (or almost impossible) to estimate perfectly, you must put effort into improving the accuracy. In this article, I will explain the principles of software estimation based on my experience and in-depth research. I guarantee that your project’s estimation will improve significantly with these actionable principles.

Why is estimation important?

I must start by asking why. Why is estimation important? Why do customers, executives, salespeople, or other stakeholders always ask, “How long does it take?” “When will you finish it?” What action do they take based on the estimation? The answer is for business decision-making. The ultimate purpose of estimation is to support business decision-making. Estimation directly impacts time and cost, which businesspeople are always concerned about in order to measure how much revenue they gain based on the investment, which is known as ROI (Return on Investment). The reason for estimation is not to reduce risks, improve velocity, or ensure quality but to assist decision-making. I’ve seen a lot of people misunderstand that they are doing software development. But, what they are doing is actually the business.

In Agile, a Product Owner, who is representative of the business and accountable for decision-making, decides based on three factors: scope, resources, and time…

--

--

Eiki Takeuchi
Beyond Agile Leadership

I'm Eiki Takeuchi. I work as a Scrum Master/Agile coach. I regularly write about Scrum, Agile, and leadership on Medium. X: https://x.com/eiki234