SOFTWARE ENGNEERING

Cost estimation

Vijay k

Need for cost estimation?

Cost estimation may be needed to establish a budget for the project or to set the price for the software for a customer If the Organization is unsure of its cost estimation, it may increase the price by some contingency over & above its normal profit. Actual cost must not exceed the estimate.

Estimating the cost of a software product is one of the most difficult and error-prone tasks in SE. It is difficult to make an accurate cost estimate during the planning phase of software development, since so many unknown factors will be there. Estimation should be updated regularly.

Cost estimation

It can be either,
 

Top–down estimation. Bottom-up estimation.

Top-down estimation

It first focuses on system level costs, such as the computing resources and personnel requirements, as well as the cost of configuration managements, quality assurances, system integration, training etc.

Bottom-up estimation

It first estimates the cost to develop each module or subsystem. Those cost are combined to arrive at overall estimate.

Top-down vs. Bottom-up

Top-down estimation has an advantage of focusing on the system level costs, but may overlook at some of the various modules to be developed. Bottom-up estimation emphasizes the cost associated with developing the individual system components, but may fail to account for system-level costs, such as configuring systems and quality control.

Top-down estimation under-estimate the cost of solving difficult technical problem associated with specific component. Bottom-up estimation is comparatively more expensive.

Types of cost estimations
   

Expert Judgment Delphi Cost Estimation Work Breakdown Structure Algorithmic Cost Models

Constructive cost model (COCOMO )

Expert judgment

The mostly widely used cost estimation technique. It is an inherently top-down estimation technique. It relies on the experience, background, and business sense of one or many key people in the organization.

The system to be developed is a process control system that may be similar to that of previous ones. Will have similar controlling function but may have to control more activates.

It cost less and saves time.  May use same devices( computer, controlling device, same experts…)  Can reuse much of the low-level codes.

Marketing opportunity

To get more contracts the organizations may quote a lower price targeting high profits later.

Requirement volatility

Organizations charges less to win a contract and after winning, charges high for the charges.

Advantage

Advantage of expert judgment, namely , experience, also be a obligation… The expert may be confident that the previous projects was the similar one.

Disadvantage

Overlook at some of the various modules to be developed or some factors that make the new projects significantly different. Experts making estimate may not have the experience in similar projects.

In order to compensate for the factors , group of experts prepare a consensus estimate. This minimizes the individual oversight and lack of familiarity with particular projects. Come with more optimistic estimation.

Group members may be less than candid due to some pressures.

Dominance of an assertive group member.

THANK YOU!

Sign up to vote on this title
UsefulNot useful