Project Estimation Techniques
Project Estimation Techniques
• Assume that the size of an organic type software product has been
estimated to be 32,000 lines of source code. Assume that the average
salary of software engineers be Rs. 15,000/- per month. Determine
the effort required to develop the software product and the nominal
development time.
Intermediate COCOMO model
• The basic COCOMO model assumes that effort and development time
are functions of the product size alone.
• However, a host of other project parameters besides the product size
affect the effort required to develop the product as well as the
development time.
• Therefore, in order to obtain an accurate estimation of the effort and
project duration, the effect of all relevant parameters must be taken
into account.
15 Cost Drivers
• Boehm requires the project manager to rate these 15 different
parameters for a particular project on a scale of one to three.
• Then, depending on these ratings, he suggests appropriate cost
driver values which should be multiplied with the initial estimate
obtained using the basic COCOMO.
Classification of Cost Drivers
Product: The characteristics of the product that are considered
include the inherent complexity of the product, reliability
requirements of the product, etc.
Computer: Characteristics of the computer that are considered
include the execution speed required, storage space required
etc.
Personnel: The attributes of development personnel that are
considered include the experience level of personnel,
programming capability, analysis capability, etc.
Development Environment: Development environment attributes
capture the development facilities available to the developers.
An important parameter that is considered is the sophistication
of the automation (CASE) tools used for software development.
Complete COCOMO model
• A major shortcoming of both the basic and intermediate COCOMO
models is that they consider a software product as a single
homogeneous entity.
• However, most large systems are made up several smaller sub-
systems.
• These subsystems may have widely different characteristics.
• For example, some subsystems may be considered as organic type,
some semidetached, and some embedded.
Example
• A distributed Management Information System (MIS) product for an
organization having offices at several places across the country can have
the following sub-components:
• Database part
• Graphical User Interface (GUI) part
• Communication part
• Of these, the communication part can be considered as embedded
software.
• The database part could be semi-detached software, and the GUI part
organic software.