An essential practice in presenting an estimate is to document the assumptions embodied in the estimate. Assumptions fall into several familiar categories:
Which features are required
Which features are not required
How elaborate certain features need to be
Availability of key resources
Dependencies on third-party performance
Major unknowns
Major influences and sensitivities of the estimate
How good the estimate is
What the estimate can be used for
Figure 22-1 shows an example of an estimate that's presented with documented assumptions. By documenting and communicating your assumptions, you help to set the expectation that your software project is subject to variability.
Figure 22-1: Example of documenting estimate assumptions.
This approach can also be useful when you're forced to base an estimate on assumptions that you think are unrealistic (such as assumptions 7 through 9 in Figure 22-1). You can go ahead and make the estimate, but you should also document the assumptions. Then, if the project unfolds in a way that invalidates the assumptions, you can point back to the estimate assumptions as a basis for revising the estimate.
Tip #104 | Document and communicate the assumptions embedded in your estimate. |