Sie sind auf Seite 1von 26

Effort Schedule and Cost

Estimation

Mentor : Group Members :

Dr. Ranjana Vyas Shivam Kumar (MIT2018029)


Gurtej Singh (MIT2018068)
Estimation !!

Estimation is based on −
► Past Experience
► Available Documents/Knowledge
► Assumptions
The Estimation Process
The following steps are followed to reach the estimate, this process is cycling
until you reach the final estimate for the project.
1- Scoping
You need first to scope the project even if you do not have the full detailed
requirements but you can assume some of them or add margins later.
2- Decomposition
In this step, you will need to break your software into smaller components and
functions and you can categorize them to a different set of elements
3- Sizing
In this step, the actual estimation will be done for each component alone.
4- Expert and Peer Review
After initial estimate, you will need at some point to ask for expert opinion for some
new functionalities you may not aware off, or for considering a review from your peers
that you have done the correct estimation. 
5- Estimation Finalization
This can be considered the final step as you aggregate all the estimations from all
components and functions and have a baseline estimate. You can go another round
across the process until reaching the correct estimate
Effort Estimation ?
► Predicting the most realistic amount of effort

► Effort estimates may be used as input to :


Effort driven Scheduling

► Based upon the resources available for a given project, each task can
be scheduled and estimated according to the number of work hours
available.

► If we estimate that relocating for a person will take about eight weeks for one
person.
Now, with six people working at this task, at the same rate of effort, it will
take less time for the moving project to be completed.
Scheduling Techniques

1. Mathematical Analysis
1.1. PERT
1.2. CPM
1.3. GERT

2. Network Diagrams
2.1. Bar Charts
2.2. Milestone Chart
2.3. Gantt Chart
Case Study - 1
Project Overview
The course scheduling software is meant to create a schedule for courses in a
department, given the preferences of professors and the information on available
rooms and timeslots for courses.
Development Process
We follow the waterfall model of software development as it is simple and small.
Effort, Schedule and Team:
The team comprises of the following 3 persons:
Total Effort : 2.4 person-months (53 person-days)
Project duration : 3.5 months
Detailed Effort and Schedule

● The phase wise estimates were obtained earlier and given in the book. To summarize
the total effort is 53 person-days.

● Of this the distribution is design: 0.4 (9 days), detailed design: 0.6 (13 days), coding:
1.0 (22 days), and integration: 0.4 (9 days).

● As the project staff (students) are spending on the project about 1/4th to 1/3rd of their
total time, the durations of the tasks have to be suitably fixed. The overall schedule
for the project is given below.
The overall schedule for the project is given below.

The total estimated effort in person-days is:53


Team Organization

It had a small team of three persons A, B, and C. They used a flat team
structure of peers, with one person having an additional role of project manager.
As C had less time available for the project, work assigned to him was less.
Effort Estimation & Scheduling
❑ Most difficult & important activities in managing project
❑ Effort estimation usually takes place at the early stage of the project
❑ Important estimate : Effort, Schedule & Cost
❑ If effort estimate is available, it is easy to determine schedule estimate.
❑ A scientific approach is to use a estimation model for obtaining the effort estimates

Hence for effective planning, effort & schedule estimate is required for the project &
various task of project.
Effort Estimation Continued ..

Knowledge
about
Software Effort Estimate
project

Extract values
of some Estimation Model
characteristic
Questions that came across estimation ?
Effort estimation will generate a lot more information than only effort and
duration:
► Who will be responsible for each work package?
► What is the work package specification?
► What are the expected results of each work package?
► How is the achievement of the results measured?
► What are the prerequisites for the work package?
► What are the conditions under which the work has to be done?
► What are the required start and end times?
► What and how much material is needed for each work package, at what cost?
► What tools are needed for each work package, at what rates?
Categories of effort & cost estimation
There are two categories of estimating the effort of each work package:
1. Deductive or Top-down Methods
Assume the total cost for the project is given. From there we assign the cost, and thus,
the effort of individual work packages based on estimated percentages derived from
earlier, similar projects with similar work packages. 
Advantage - simple and rapid cost allocation
Disadvantage - only work for projects that consist of work packages we already know
from earlier, similar projects.

2. Inductive or Bottom-up Methods


start effort estimation with the work packages individually, with support of experts, or
knowledge of similar work packages of earlier projects, and then summarize bottom up
Bottom up approaches

(1) Factor Analysis


(2) Multiplication Method
(3) Analogy Method
(4) Function Point Method
(5) Delphi Method
(1) Factor Analysis
For a certain work package, we know all the variables or factors, how they influence the work, and
how these factors correlate with each other. Then we can calculate the effort based on a
mathematical formula which reflects that influences and correlations.

Effort = f (influencing variables, correlation coefficients).

For example, The effort of a work package "Develop hardware control unit" is influenced by :
the number of people involved, P=4,
the number of interfaces, S=5,
the number of functional blocks, B=10.
From earlier projects with similar control units we might know the correlation coefficients.
For example, cP=2.5, cS=2, cB=1.5. Our formula could look like this

Effort = f(P, S, B) = cP*P + cS*S*S + cB*B
= 10 + 50 + 15
= 75 (working days)
(2) Multiplication Method

 If we can divide a work package into a number of equal parts then, we can
estimate the total effort by estimating one part and then multiplying this value
by the number of parts.

Total Effort = Effort of one part * number of parts


(3) Analogy Method

This method again applies the knowledge from similar work packages. We
interpolate or extrapolate the effort for the work package from a similar
one.
For example, for “Install electrical wiring in an apartment of 100 sqm”
we could guess from similar work
size = 150 sqm, 10 working days,
size = 50 sqm, 6 working days:

Effort(100 sqm) = (10 + 6) / 2 = 8 working days.


(4) Function Point Method
 For IT or software design related work packages we can apply the function point
method. The prerequisite is that we need to have a lot of knowledge about the
effort of work packages of similar scope and degree of difficulty, based on
observation. Then the experts compile this knowledge into so called “function
curves” which we can use to estimate effort for new work packages. In the
following example we estimate the effort of work about creating 100, 500, and
800 lines of code. We obtain the effort via the corresponding function points on
the function curve, 5, 16, and 33 working days, respectively
(5) Delphi Method
 For most of our work packages we use the Delphi method. We just ask the
experts for each work package for their best guess, normal guess, and worst
guess. Thus we obtain three figures for the expected effort: E(optimistic),
E(normal), and E(pessimistic), then combine them with this formula

Effort = (E(optimistic)+4*E(normal)+E(pessimistic))/6.

If we can ask ten or more experts, we could even calculate the mean values and
apply mathematical statistics with the concept of standard deviation.
Case Study
► Models discussed in this paper :

1. COCOMO Model
COCOMO model is the most common model used for size and effort estimation. Historical data and assumptions of
software development projects were used for building the COCOMO model.
The properties of COCOMO model such as forms, cost factors, and constants are
supposed to be applicable for estimating the cost of software maintenance.

2. SEER-SEM
The SEER-SEM cost model allows probability levels of estimates, constraints on staffing, effort or
schedule, and it builds estimates upon a knowledge base of existing projects. Estimate outputs include effort, cost,
schedule, staffing, and defects. Many sizing methods are available including lines of code and function points.

3. PRICE S
The PRICE S model consists of three sub models that enable estimating costs and schedules for the development and
support of computer systems.
PRICE S includes features for reengineering, code generation, spiral development, rapid development, rapid
prototyping, object-oriented development, and software productivity measurement. Size inputs
include SLOC, function points and/or Predictive Object Points (POPs)
Analyses & Proposed Solution

► Proposed Model:

Software maintenance depends on pre-existing


code.
In this paper, proposed model classified the
code into three categories:
1. Reused modules
2. Adapted modules
3. New modules

By the results we can see that time is very dominating factor in SEER SEEM and PRICE S basically
based on only two variables which is time and size. It is not considering all other aspects of software
development life cycle. Whereas in COCOMO we are getting more nearer results because it is
considering almost all aspects of SDLC. So the COCOMO model is the most common model used for
cost size and effort estimation. Also in industry, it is the most common model for cost size and effort
estimation. But in case of software maintenance the COCOMO model not work properly it is less
accurate and less.
Conclusion
► Estimate accuracy is directly proportional to
product definition.
► Before requirements specification, product is very
vaguely defined
► More effort, variety of approaches/methods used
in estimating = better estimates.
► Use ranges for estimates and gradually refine
(tighten) them as the project progresses.
► Measure progress and compare to your historical
data
► Refine… Refine… Refine!!!
References
[1]. Kuldeep Singh, Upendra Dwivedi, “ANALYSIS OF COST SIZE AND EFFORT
ESTIMATION MODELS FOR SOFTWARE SYSTEM ,” International Journal of Advances in
Electronics and Computer Science Volume-5, ISSN: 2393-2835 Issue-7, Jul.-2018

[2]. Topic on Effort Estimation,


https://www.project-management-knowhow.com/effort_estimation.html accessed on
April 4th 2019.
[3]. Topic on EffortEstimation,
https://www.tutorialspoint.com/estimation_techniques/estimation_techniques_overview
.htm , accessed on April 3rd 2019.
[4]. Project Management Plan (Course Scheduling System)
https://www.iiitd.edu.in/~jalote/jalotesebook/JaloteSEbook/CaseStudies/CaseStudy1/P
Mplan.pdf
[5]. https://hackernoon.com/underestimating-estimation-d2e52372f303
Thank You !

Das könnte Ihnen auch gefallen