Estimation Checklist

The following is a check list that should help us to understand how much we can trust to our estimation and what is the probability of having later problems.


 * Was a tool or an estimating spreadsheet used in preparing the estimates?
 * Were multiple estimators used to generate independent estimates?
 * Were the estimators experienced in preparing estimates in this kind of situation?
 * Were the estimators experienced in the technology to be used?
 * Was task-based estimating applied to generate bottom-up estimates?
 * Were the estimates compared with rules of thumb and other sanity checks? If yes were they consistent?
 * Did we review the estimation coming from independet sources and did we understand the and rationalize differences?
 * Did we checked the initial assumptions on which the estimations are based?
 * Have the assumptions been validated with the customer?
 * Were the estimates balanced through a process of understanding and rationalizing the major differences between the preliminary estimates (rather than taking the lowest estimate)?
 * Did the estimates assume average productivity rates (rather than maximum), which take into consideration the specific circumstances on this project that will impact upon productivity (e.g., working off-site versus working on our premises)?
 * Was the final estimate the result of a consensus reached on a reasonable, balanced estimate that all concerned could accept?
 * Has the final estimate been reviewed by some one external to the project, which is familiar with productivity and cost data from other similar projects (historical and/or current)?
 * Did we take in account of the activities that often are not considered in tools, as not linked to real development but linked to the project type? Following a list of such activities. Usually part of them is estimated in the project contingency, while other points are estimated specifically (for example change management or quality), however by experience often we do not consider some parts that then lead to an unplanned cost raising and/or to scheduling issues.
 * Interaction with users and customers
 * Software Demo
 * Revision of planning, estimation, code …
 * Versioning
 * Tool Installation and Maintenance
 * Preparation and Maintenance of test environment
 * Change management
 * Quality management
 * Explanation of documents
 * Support to other project/subprojects
 * Technical revision
 * Work in tiger team
 * Training on-the-job.