Software Cost Estimation Tools1
Software Cost Estimation Tools1
SOFTWARE ENGINEERING
CS – 206
Instructor
Mr.Usman Sahab
BS – CS (4th Semester)
I tum to the problem of associating estimates of effort and time with the project activities. Estimation
involve answering the following questions:
a. How much effort is required to complete each activity?
b. How much calendar time is needed to complete each activity?
c. What is the total cost of each activity?
Software cost estimation and software scheduling are normally carried out together. The costs of
development are primarily the costs of the effort involved, so the effort computation is used in both the
cost and the schedule estimate. However, you may have to do some cost estimation before detailed
schedules are drawn up. These initial estimates may be used to establish a budget for the project or to set
a price for the software for a customer.
There are three parameters involved in computing the total cost of software development project:
a. Hardware and software costs including maintenance
b. Travel and training costs
c. Effort costs (the costs of paying software engineers).
For most projects, the dominant cost is the effort cost. Computers that are powerful enough for software
development are relatively cheap. Although extensive travel costs may be needed when a project is
developed at different sites, the travel costs are usually a small fraction of the effort costs. Furthermore,
using electronic communications systems such as e-mail, shared web sites and videoconferencing can
significantly reduce the travel required. Electronic conferencing also means that travelling time is reduced
and time can be used more productively in software development. In one project where I worked, making
every other meeting a videoconference rather than a face to face meeting reduced travel costs and time by
almost 50%.
Effort costs are not just the salaries of the software engineers who are involved in the project.
Organizations compute effort costs in terms of overhead costs where they take the total cost of running
the organization and divide this by the number of productive staff. Therefore, the following costs are all
part of the total effort cost:
1. Costs of providing, heating and lighting office space
2. Costs of support staff such as accountants, administrators, system managers, cleaners and
technicians
3. Costs of networking and communications
4. Costs of central facilities such as a library or recreational facilities
5. Costs of Social Security and employee benefits such as pensions and health insurance.
This overhead factor is usually at least twice the software engineer's salary, depending on the size of the
organization and its associated overheads. Therefore, if a company pays a software engineer $90,000 per
year, its total costs is at least $180,000 per year or $15,000 per month.
Once a project is underway, project managers should regularly update their cost and schedule estimates.
This helps with the planning process and the effective use of resources. If actual expenditure is
significantly greater than the estimates, then the project manager must take some action. This may involve
applying for additional resources for the project or modifying the work to be done.
Software costing should be carried out objectively with the aim of accurately predicting the cost of
developing the software. If the project cost has been computed as part of a project bid to a customer, a
decision then has to be made about the price quoted to the customer. Classically, price is simply cost plus
profit. However, the relationship between the project cost and the price to the customer is not usually so
simple.
Software pricing must take into account broader organizational, economic, political and business
considerations, such as those shown in Figure 26.1. Therefore, there may not be a simple relationship
between the price to the customer for the software and the development costs. Because of the
organizational considerations
Involved, project pricing should involve senior management (i.e., those who can make strategic
decisions), as well as software project managers.
For example, say a small oil services software company employs 10 engineers at the beginning of a year,
but only has contracts in place that require 5 members of the development staff. However, it is bidding for
a very large contract with a major oil company that requires 30 person years of effort over 2 years. The
project will not start up for at least 12 months but, if granted, it will transform the finances of the small
company. The oil services company gets an opportunity to bid on a project that requires 6 people and has
to be completed in 10 months. The costs (including overheads of this project) are estimated at $1.2
million. However, to improve its competitive position, the oil services company bids a price to the
customer of $0.8 million. This means that, although it loses money on this contract, it can retain specialist
staff for more profitable future projects.
REFERENCE MATERIALS:
Software estimation best practices, tools & techniques By Murali Chemuturi (chepter No.01)
http://www.exforsys.com/tutorials/testing/software-cost-estimation.html