You are on page 1of 28

CS301.

3 – IT PROJECT
MANAGEMENT
Project Planning: Scheduling the project

Chalani Oruthotaarachchi
Initiate Plan Execute & Close
Monitor

Assess Formalize Collect


Close
Feasibility Goals Outputs

Monitor Goals, Cost and


Develop Release

Schedule
Define Kick Off
Schedule Activities

Define Costs

[Obtain
Approval]

Change Control & Configuration Management

Quality Management

Risk Management

Human Resource Management


GOALS OF THE UNIT
• Understand the fundamental (and simple) relation among
Duration, Effort, and Manpower
• Understanding the perils of estimations in software
development
• Learn the techniques commonly adopted to estimate
effort in projects

2
ESTIMATING EffORT, DURATION, AND
RESOURCES
“It is difficult to make predictions, especially about the
future” - Attributed to Yogi Berra
ESTIMATION

• Effort (Work): how much work will the


activity need to be completed
• Resources: type and quantity of
resources available the activity
• Duration: how long will the activity last for

5
EFFORT

• The amount of work an activity requires to be


completed. A very good starting point.

• Measured in (work-)days, (work-)weeks, (work-)months

• Often the term man-* is also used


o E.g.: 3 man-months = 1 person working for 3 months; 3 people working for
one month

• Mind you, though: the work required in a project includes direct


and indirect activities (i.e., getting the stuff done, but also email,
communication, reports, meetings, ...) 6
RESOURCES
• The resources needed to carry the work out. Typically, a
constraints (limited)

• Expressed as manpower, that is, number of people and


percentage of availability
o For instance: 1 person full time; 2 people at 50%

• Certain tasks might require material resources or equipment


o Material resources are consumed by the execution of an
activity; equipment can be reused

7
• In software development usually resources = manpower
DURATION
• How long the activity will last for
• Measured in hours, days, months, …
• Often:
– 1 week = 5 days = 40 hours
– 1 month = 20 days ... why?

• In some countries:
– 1 week = 36 hours (7.12 hours/day)

• Calendar time differs from duration… Why?


8
A (SIMPLISTIC) VIEW

D = E/ M
• Fix any two among D, E, and M (= manpower), and
you get the third
• Typically, effort and manpower are the variables you will
be working with (and derive duration from it)
SOME EXAMPLES
• 1 week = 40 hours

• Effort: 40 man-hours; Resources: 1 @100% →


D = 40 man-hours / 1 man = 40 hours = 1 week

• Effort: 80 hours; Resources: 2 @100% →


D = 80 man-hours / 2 man = 40 hours = 1 week

• Effort: 80 hours; Resources: 1 @50% →


D = 80 / 50% = 160 hours = 4 weeks
(a person at 50% will be able to work 20 hours/week; it takes 4 weeks to 10
get to the 80 hours needed for the activity)
REVISION EXERCISE

EFFORT: 60 HOURS; RESOURCES: 1 @50% →

WHAT IS THE DURATION OF THIS WORK?


COCOMO MODEL FOR EFFORT ESTIMATION
THE CONSTRUCTIVE COST MODEL
(COCOMO)
• Based on a physical measure (source lines of code)
• Code size has an exponential effect on effort and size (although
very close to 1)
• Various adjustment factors are used to make the model more
precise

Types of COCOMO 81

Basic Intermediate Detailed 13


COCOMO CONTD.
COCOMO 81 distinguishes among three different
types of projects:

COCOMO applied to

Semidetached
Organic mode Embedded
mode mode
14
COCOMO CONTD.
Mode Project size Nature of Project Innovation Deadline of Development
the project Environment

Organic Typically Small size project, experienced Little Not tight Familiar & In
developers in the familiar house
2-50 KLOC
environment. For example, pay
roll, inventory projects etc.

Semi Typically Medium size project, Medium Medium Medium Medium


detached size team, Average previous
50-300 KLOC
experience on similar project.
For example: Utility systems like
compilers, database systems,
editors etc.

Embedded Typically over Large project, Real time Significant Tight Complex
systems, Complex interfaces, Hardware/
300 KLOC
Very little previous experience. customer
For example: ATMs, Air Traffic Interfaces
Control etc. required

Table : The comparison of three COCOMO modes


15
BASIC COCOMO

Basic Model

Basic COCOMO model takes the form

E = ab (KLOC) bb

D = cb (E) db

Where E is effort applied in Person-Months, and D is the


development time in months. The coefficients ab, bb, cb and db are
constants.

16
BASIC COCOMO COEFFICIENTS

Software ab bb cb db
Project

Organic 2.4 1.05 2.5 0.38

Semidetached 3.0 1.12 2.5 0.35

Embedded 3.6 1.20 2.5 0.32

Table : Basic COCOMO coefficients

17
BASIC COCOMO CONTD.

When effort and development time are known, the average staff size
to complete the project may be calculated as:

E
Average staff size (SS) = Persons
D

When project size is known, the productivity level may be


calculated as:
KLOC
Productivity (P) = KLOC/ PM
E

18
EXAMPLE

Suppose that a project was estimated to be 400 KLOC.


Calculate the effort and development time for each of the
three modes i.e., organic, semidetached and embedded.

19
EXAMPLE
A project size of 200 KLOC is to be developed. Software
development team has average experience on similar type of
projects. The project schedule is not very tight.
Calculate the effort, development time, average staff size and
productivity of the project.

20
EXAMPLE

A project size of 450 KLOC is to be developed. Software


development team has very little experience on similar type of
projects. The project has very complex interfaces and need lots of
innovation to complete the work.

Calculate the effort, development time, average staff size and


productivity of the project.

21
INTERMEDIATE COCOMO
Cost drivers
(iii) Personal Attributes
(i) Product Attributes
➢ Analyst capability
➢ Required s/w reliability
➢ Programmer capability
➢ Size of application database
➢ Application experience
➢ Complexity of the product
➢ Virtual machine experience
(ii) Hardware Attributes
➢Programming language experience
➢ Run time performance constraints

➢ Memory constraints (iv) Project Attributes

➢ Virtual machine volatility ➢ Modern programming practices

➢ Turnaround time ➢ Use of software tools

➢ Required development Schedule


22
INTERMEDIATE COCOMO CONTD.

E = ai (KLOC) * EAF bi

D = ci (E) di

Where,
E = Total effort required for the project in Person-Months (MM).
KLOC = The size of the code for the project in Kilo lines of code.
a, b, c, d = The constant parameters for the software project.
EAF = It is an Effort Adjustment Factor, which is calculated by multiplying the parameter
values of different cost driver parameters. For ideal, the value is 1.

Project ai bi ci di
Organic 3.2 1.05 2.5 0.38

Semidetached 3.0 1.12 2.5 0.35


Embedded 2.8 1.20 2.5 0.32
Table: Coefficients for intermediate COCOMO
INTERMEDIATE COCOMO CONTD.

Multipliers of
different cost
drivers

24
INTERMEDIATE COCOMO CONTD.

Example:
For a given project was estimated with a size of 300 KLOC.
Calculate the Effort, Scheduled time for development by
considering the developer having high application experience
and very low experience in programming.
INTERMEDIATE COCOMO CONTD.
Example:
A new project with estimated 400 KLOC embedded system has to be
developed. Project manager has a choice of hiring from two pools of
developers: Very highly application experienced but with very little experience
in the programming language being used
Or
Developers of low application experience but a lot of experience with the
programming language.
What is the impact of hiring all developers from one or the other pool ?
WHAT IS NEXT?

We have:
• A WBS (activities)
• Effort (duration) estimations for each element of the WBS

• We can schedule activities, so that we know when each


activity starts and ends, when we need resources, when
we deliver
END OF THE SESSION

You might also like