Lect4 SoftwareEconomics
Lect4 SoftwareEconomics
Software
Economics
Dr Meena Malik([email protected])
SOFTWARE ECONOMICS
The software cost models have five basic parameters:
1. Size number of source instructions or the number of
function points required to develop the required
functionality
2. Process used to produce the end product
3. Personnel the capabilities and experience of
software engineering personnel, with the computer
science issues and the applications domain.
4. Environment is made up of the tools and techniques
available to support efficient software development
and to automate the process
5. Quality of the product, including its features,
performance, reliability, and adaptability
• The relationships among software cost five basic
parameters and the estimated cost can be written
as follows:
Effort = (Personnel) (Environment) (Quality) ( Size process)
• One important aspect of software economics is
that the relationship between effort and size
exhibits a diseconomy of scale.
• The diseconomy of scale of software
development is a result of the process exponent
being greater than 1.0.
• The more software you build, the more expensive
it is per unit item.
Generations of software development
1) Conventional (craftsmanship) : 1960s and 1970sOrganizations
used custom tools, custom processes, and virtually all custom
components built in primitive languages. Project performance was
highly predictable in that cost, schedule, and quality objectives were
almost always underachieved.
2) Transition (software engineering) : 1980s and
1990sOrganizations used more-repeatable processes and off-the-
shelf tools, and mostly (>70%) custom components built in higher
level languages. Some of the components (<30%) were available as
commercial products, including the operating system, database
management system, networking, and graphical user interface.
3) Modern practices (software production ): 2000 and later,. Use of
managed and measured processes, integrated automation
environments, and mostly (70%).
PRAGMATIC SOFTWARE COST ESTIMATION
• One critical problem in software cost estimation is a lack of well-
documented case studies of projects that used an iterative
development approach.
• Software industry has inconsistently defined metrics or atomic units of
measure, the data from actual projects are highly suspect in terms of
consistency and comparability.
• It is hard enough to collect a homogeneous set of project data within
one organization; it is extremely difficult to homogenize data across
different organizations with different processes, languages, domains,
and so on.
• There have been many debates among developers and vendors of
software cost estimation models and tools. Three topics of these
debates are of particular interest here:
1. Which cost estimation model to use?
2. Whether to measure software size in source lines of code or function points.
3. What constitutes a good estimate?
• There are several popular cost estimation models (such as
COCOMO, CHECKPOINT, ESTIMACS, Knowledge Plan, Price-S,
ProQMS, SEER, SLIM, SOFTCOST, and SPQR/20).
• COCOMO is most open and well-documented cost estimation
models. The general accuracy of conventional cost models (such as
COCOMO) has been described as "within 20% of actuals, 70% of the
time." A good software cost estimate has the following attributes:
1. It is conceived and supported by the project manager, architecture
team, development team, and test team accountable for
performing the work.
2. It is accepted by all stakeholders as ambitious but realizable.
3. It is based on a well-defined software cost model with a credible
basis.
4. It is based on a database of relevant project experience that
includes similar processes, similar technologies, similar
environments, similar quality requirements, and similar people.
5. It is defined in enough detail so that its key risk areas are
understood and the probability of success is objectively assessed.
References
• Software Project management, Walker Royce, Addison
Wesley, 1998.
• https://www.javatpoint.com/software-project-management