Lecture 1 (Software Effort Estimation - 1)
Lecture 1 (Software Effort Estimation - 1)
• Provided stepwise framework is applicable to the projects of any scale and type
of application.
Recap: Stepwise
Approach
Recap: Case Study
Regina College is a higher education institution which used to be managed by the
University of Saskatchewan (UofS) authority but has now become autonomous. It
has been renamed as University of Regina (UofR). However, its payroll is still
administered by the UofS authority and pay slips and other output are produced in
the UofS’s computer center. The UofS now charges the UofR for their service. The
UofR management thought that it would be cheaper to develop its own payroll
software.
Delivering the agreed functionality on time at the agreed cost with the required
quality.
This implies that the project manager has set the reasonable targets by performing
‘effort’ estimates.
A good estimate is if the software development cost remains within 20% of the
estimated cost.
Basis (Foundation) for Software Estimating
• Need for historical data: • Measure of work (Project size):
Information about past Should be able to measure the
projects is required for amount of work involved. This
estimation. However, attention gives the information about the
should be paid to the possible size of the project. Following
differences while selecting the this the development effort and
past projects. duration are estimated. It is
measured in Source Lines of
Code (SLOC) and Function
Point (FP).
Parameters to be estimated
• Project size is a fundamental measure of work.
• Based on the estimated size, two parameters are estimated:
• Effort
• Duration
• Effort is measured in person-month (pm) aka work-month (wm)
• One person-month is the effort an individual can typically put in a month.
• Implicitly, takes productivity losses because of time lost in holidays, weekly offs, coffee breaks,
sick leaves and other metrics.
• PM is better than person-days or person-years because developers are assignment
to project based on months.
Mythical Person-Month
Brook’s Law: ‘Putting more people on a late job makes it later’.
Particularly used when estimating the effort needed to change the existing
piece of software.
• Estimator examines the existing code to judge the proportion of code effected
and from that derive the estimate.
• Research shows that experts judgement in practice tends to be based on
analogy.
• It is supplemented by bottom-up estimation.
Estimating by Analogy
Use effort from source as
• Also called case-base reasoning. estimate
• Algorithm Source cases
Euclidean + …
Example
• Cases for Log-in, Log-out module of the payroll system system are matched on the basis of number
of inputs to and the number of outputs from the system.
The new project is known to require 7 inputs and 15 outputs.
One of the source case has 8 inputs and 17 outputs.
The Euclidian distance between the source and target case is
(7-8)2 + (17-15)2 = 2.24
Summary
• A framework for project planning to represent the following
activities has been discussed
• Establishment of project objectives.
• Analysis of characteristics of the project.
• Establishment of infrastructure consisting of appropriate
organization and set of standards, methods and tools.
• Identification of the products of the project and activities to
produce the products.
• Allocation of resources to the activities.
• Establishment of quality controls.