2025-07-09T12:48:28Z

Accurately estimating the effort it takes to deliver a unit of software is notoriously difficult.

Begin by modeling the final handoff of the deliverable from the point of view of the client, and work backward to the present.

Dorian Taylor

Estimate the effort it will take to deliver a unit of work product before committing to a budget and/or schedule.

Exhaustively work out the behaviour the software must and must not exhibit.

How long is the estimate itself going to take? Who is willing to wait for it? Do you need to do an estimate for the estimate (for the estimate…)?

It is much, much easier (and thus much quicker) to estimate the value of a completed project than the cost of completing it.

Process Model Issues

The general strategy of adding estimates up from zero means you will always underestimate, and that deficit will grow with the size of the thing you are estimating.

Thoroughly test all third-party functionalities before making any commitments that depend on them.

Two inevitable questions of key stakeholders on prospective projects are "How long will it take?" and "How much will it cost?"

Who is going to pay for the work of performing the estimate?