Provide early estimates. The tool should be capable of generating estimates early and quickly in the life cycle process when requirements and development environments are not fully defined. The tool should also allow task detail to be added incrementally as functions, activities, and other information becomes more completely defined. Be based on software life cycle phases and activities. The tool should be capable of providing estimates for all phases and activities of the most commonly used software life cycle models.
Applicability allows for variations in both application languages and functions.
It is very important that the tool provide estimates specific to the application of the software project since the associated estimating equations, cost drivers, and life cycle phases should be unique to each application. Provide accurate size estimates. The size of a software development project is a major cost driver in most estimating tools, yet size is one of the most difficult input parameters to estimate accurately. The tool should include the capability to help estimate the size of the software development project, or at least help define a method for estimating the size. Provide accurate schedule estimates.