Estimating Duration and Cost

"Software Size and Reuse Estimating" explained methods for estimating the size of a software project, usually in thousands of software lines of code (KSLOC or KLOC). After the size has been established, the answers to other questions that are important to all stakeholders may also be estimated. The majority of customers and sponsors are less interested in how big the product will be than in how long it will take to produce it and how much it will cost. When a project manager has an idea of the total number of staff-months that will be required, he can begin to plan for recruiting, training, rotating, and other staffing management concerns. This section explains how to build upon the estimate of size, whether it is in KLOC, object points, function points, feature points, or another unit of measure.

Where We Are in the Product Development Life Cycle

Estimating the effort, duration, and cost of software takes place during the early stages of project planning, just after estimating the size. In terms of our generic life cycle model, planning takes place during the concept exploration, system exploration, and requirements phases (see Figure (a)). Estimating size and effort will take place many times during the life cycle, increasing confidence with each occurrence - after initial customer requirements, after analysis, after design, and so on. Our process model describing the phases of the life cycle serves us well in indicating where estimates and re-estimates should take place. A good practice for project managers is to require size estimates and re-estimates as exit criteria from each phase.

Please note that the life cycle shown here is not the entire picture. It shows only some of the phases and activities that are associated with the sizing and estimation process.

"Estimating Duration and Cost" Relation to the 34 Competencies

The process of estimating effort, schedule, and cost falls under the project competencies umbrella (see Figure (b)). These estimates are recorded in the project plan; therefore, a third project competency, documenting plans, is a skill that comes into play. The estimates are also metrics that should be maintained as the project progresses.

8. Selecting methods and tools - Estimating is a method with a series of process steps; there are many tools available to support the process, both manual and automated.

9. Tailoring processes - All estimating models may be calibrated to reflect an organization's environment.

Project Management Skills

13. Documenting plans - Decomposed product and project tasks lead to size, effort, and cost estimation, and then ultimately to the project schedule. All are represented in the software project management plan (SPMP). Estimation risks are documented in a separate risk plan or as a segment in the SPMP.

14. Estimating cost and 15. Estimating effort - Predictions of size lead to predictions of effort.

19. Selecting metrics - Units of size are a metric. Once chosen (size, estimated effort months [hours, days, weeks], estimated schedule duration, estimated cost), they will be referred to consistently throughout the project. They will be used in comparing estimates to actual results.

People Management Skills

It is difficult to list separate people competencies because almost all of them are necessary in almost every activity of software development. With estimating effort, schedule and cost, the following people skills are particularly helpful:

24. Handling intellectual property

25. Holding effective meetings

26. Interaction and communication

27. Leadership

28. Managing change

29. Negotiating successfully

31. Presenting effectively

Learning Objectives for "Estimating Duration and Cost"

By the end of this section, the reader should be able to:

● List the major steps in software size, effort, duration and cost estimating;● Name two models frequently used in the software industry to estimate effort and schedule;● Distinguish among regression, mathematical, and empirical estimating models;● Explain the basic concepts of the COCOMO estimating model;● Explain the basic concepts of the SLIM estimating model;● Summarize the advantages and disadvantages of each of the models;● Apply the use of an estimating model to an actual software development project.

The contents available on this website are copyrighted by TechPlus unless otherwise indicated. All rights are reserved by TechPlus, and content may not be reproduced, published, or transferred in any form or by any means, except with the prior written permission of TechPlus.