Professional Documents
Culture Documents
The delivery organization of a software company may be considered as follows. In addition important
elements like people, facility and quality are generally handled either by separate divisions or separate
departments under Portfolio.
The development process does not necessarily All these issues and many others fall within the
specify : domain of project management. It is a integral part
How much resource is required? of any software project.
How to allocate these resources?
How to ensure that each phase is being Typical constraints that affect project management
done properly? arise due to labour, facilities, capital, schedule,
What risks the project faces? knowledge, technology etc.
How to mitigate these risks?
Project management involves the planning, monitoring, and control of the people, process, and
events that occur as software evolves from a preliminary concept to an operational
implementation. Effective software project management focuses on four P’s : people, product,
process, and project.
People : Most important resource of a software project. Most of the software organization
follow standard process model to attack, grow, motivate, deploy and retain the talent
needed to improve their software development capability. PCMM (People capability
maturity model developed by the Software Engineering Institute) is one of such models
widely used in industry. It helps to enhance the readiness of software organizations to
undertake increasingly complex applications.
Product : The software to be build.
Process : The set of framework activities and tasks to get the job done.
Prepared by Kamal Podder Page 1
Project: All work required to make the product a reality.
Many software projects fail due to faulty project management practices. So it is important to
learn different aspects of software project management.
Plan-Do-Check-Act cycle
1. Project life cycle : This is divided into various groups such as Initiation, Planning, Execution,
Monitoring and Control, Closing.
2. Knowledge areas : This is divided into various groups such as Scope, Time, Cost, Quality,
Human Resources, Communication, Risk, Procurement, Integration.
Based on this dimension we can refine the goal of PM as Produce a quality product while
balancing risks and competing demands for scope, time, cost, quality, resources etc.
9 Knowledge areas:
4 Core + 4 Facilitation + 1 Integration
4 Core Functions
Scope Time Cost Quality
Management Management Management Management
1 Integration function
Project Integration Management
4 Facilitating functions
Tools Measurements
Software scope describes the functions and features that are to be delivered to end-users.
Scope is defined either based on a narrative description of software scope based on
communication with all stakeholders or set of use cases developed by end-users.
First step in scope management is to select a project to work on (accept or reject).
Common techniques for project selection are : Organizational needs, Categorization of
projects, Financial analysis, Weighted scoring model.
Net present value (NPV) analysis is the most preferred financial measure used for selection
of a project. Return on investment (ROI) and payback period are the other frequently used
financial considerations.
After the project is selected, a Project Manager(s) is assigned for the project.
PM prepares a project initiation report which generally contains :
o Brief description of the project
o Summary of project deliverables
o Project justification
o Success criteria etc.
and organize a initiation meeting where all the key stakeholders are invited. They all signed
that initiation report to acknowledge agreement and then project is formally started.
Project Planning
Staffing
Project Managers usually take responsibility for choosing their team: need to identify and
select good software engineers for the success of the project
A common misconception: one software engineer is as productive as another:
Experiments reveal: a large variation in productivity between the worst and best in a scale
of 1 to 10. Worst engineers even help reduce the overall productivity of the team in effect
exhibit negative productivity
Some essential attributes of good engineers:
o Good programming abilities
o Good knowledge of the project areas (Domain)
o Exposure to Systematic Techniques
o Fundamental Knowledge of Computer Science
o Ability to work in a team
o Intelligence
o Good communication skills: Oral, Written, Interpersonal
o High Motivation
Studies show:
o Above attributes vary as much as 1:30 for poor and bright candidates.
o Technical knowledge in the area of the project (domain knowledge) is an important
factor, determines:
productivity of an individual
quality of the product he develops.
Scheduling is an important activity for the project managers. It distributes estimated effort
to individual project tasks across the planned duration. It establishes the road map for the
project and uses for tracking the project progress.
To determine project schedule:
o Identify tasks needed to complete the project.
o Determine the dependency among different tasks.
o Determine the most likely estimates for the duration of the identified tasks.
o Plan the starting and ending dates for various tasks.
Work Breakdown Structure (WBS) provides a notation for representing task structure:
o Activities are represented as nodes of a tree.
o The root of the tree is labeled by the problem name.
o Each task is broken down into smaller tasks and represented as children nodes.
o Finer subdivisions mean that a large amount of time must be spent on estimating
and chart revision. Generally task needs less than ½ a week is not further
subdivided.
Gantt Charts
CPM (Critical Path Method) and PERT (Program Evaluation Review Technique) are project
management techniques, which have been created to plan, schedule and control complex
projects.
There are many variations of CPM/PERT which have been useful in planning costs, scheduling
manpower and machine time. CPM/PERT can answer the following important questions:
How long will the entire project take to be completed? What are the risks involved?
Which are the critical activities or tasks in the project which could delay the entire project if
they were not completed on time?
Is the project on schedule, behind schedule or ahead of schedule?
If the project has to be finished earlier than planned, what is the best way to do this at the
least cost?
What is the shortest time in which the project can be completed?
What is the earliest (or latest) time a task can be started (or finished) without delaying the
project?
Essentially, there are six steps which are common to both the techniques. The procedure is
listed below:
1. Define the Project and all of it’s significant activities or tasks. The Project (made up of
several tasks) should have only a single start activity and a single finish activity.
The Key Concept used by CPM/PERT is that a small set of activities, which make up the longest
path through the activity network control the entire project. If these "critical" activities could be
identified and assigned to responsible persons, management resources could be optimally used
by concentrating on the few activities which determine the fate of the entire project.
Non-critical activities can be re-planned, rescheduled and resources for them can be reallocated
flexibly, without affecting the whole project.
Some activities are serially linked. The second activity can begin only after the first activity is
completed. In certain cases, the activities are concurrent, because they are independent of
each other and can start simultaneously.
A Critical Path is a chain of tasks that determine the duration of the project.
A critical paths is sequence of tasks such that a delay in any of the tasks will cause a delay to
the entire project.
There can be more than one critical path in a project. It is important for the project
manager to be aware of the critical paths in a project:
o can ensure that tasks on these paths are completed on time.
o Other tasks may have some room for delay without affecting the entire project.
o If necessary, the manager may switch resources from a noncritical task to a critical task.
Several software packages are available for automating the scheduling process:
o MacProject on Apple Macintosh computer
o MS-Project on Microsoft Windows Operating System.
While Gantt charts show the different tasks and their durations clearly:
o they do not show inter-task dependencies explicitly.
o this shortcoming of Gantt charts is overcome by PERT charts.
Prepared by Kamal Podder Page 10
CPM (Critical Path Method) is a project management technique that focuses on methods of
categorizing the work performed in a project. The traditional method of diagramming a CPM
network of tasks is often referred to as the "Activity on Arrow" or "Arrow Diagram Method."
The CPM method of project management features a single time estimate for each activity and
an associated cost of that activity.
Microsoft Project uses the CPM internally to calculate the duration of projects. Microsoft
Project defines the critical path as a set of those tasks that if delayed or started early will affect
the finish date of the entire project. Therefore, those tasks that constitute the critical path are
the "critical" tasks.
Earliest Start
The Earliest Start is the value in the rectangle near the tail of each activity
The Earliest Finish is = Earliest Start + Duration
The Latest Finish is the value in the diamond at the head of each activity
The Latest Start is = Latest Finish - Duration
We are now ready to tabulate the various events and calculate the Earliest and Latest Start and
Finish times. We are also now ready to compute the SLACK or TOTAL FLOAT, which is defined as
the difference between the Latest Start and Earliest Start.
1-2 4 0 4 0 4 0
2-3 0 4 4 4 4 0
3-4 7 4 11 4 11 0
1-3 3 0 3 1 4 1
2-4 6 4 10 5 11 1
The early start and early finish are simply the earliest times that a task can start or finish. The
late start and late finish are the latest times that a task can start or finish.
Starting with the tasks at the beginning of the diagram, complete the early start and early
finish for each task in turn, following the arrows to the next task, as in the figure below. The
early start of a task is the same as the early finish of the preceding task. If there is more than
one predecessor task, then there are several possible early start figures. Select the largest of
these. The early finish for each task is equal to the early start plus the duration of the task. The
final calculation is for the earliest completion time for the project. This is calculated in the
same way as the early start date.
Earliest completion of the project = Maximum of the Earlier Finish of all the activities/tasks
Earliest start time (ES) of a task = Maximum of all paths from start event to the start event
of that task , Earliest finish time (EF) of a task = ES + duration of the task
Starting with the tasks at the end of the diagram, calculate the late start and late finish for each
task in turn, following the arrows in the reverse direction to the previous task. The late finish is
the same as the late start of the succeeding task (for the final tasks in the project, this is equal
to the earliest completion date). If there is more than one successor task, then there are several
possible late figures. Select the smallest of these. The late start for each task is the late finish
minus the duration of the task. The final calculation is for the earliest completion time for the
project. This is calculated in the same way as the early start date.
Latest Finish for the tasks just before end of project is equal to earliest completion time
Latest finish is smallest of immediately following late start figure for other tasks
Latest start time (LS) of a task = LF - duration of the task, Slack time = LS - ES = LF – EF
Float time (or slack time) is the total time that a task may be delayed before it will affect the
end time of the project.
The float times indicate the "flexibility" in starting and completion of tasks:
A critical activity is an activity with zero (0) slack or float time.
There are two important types of Float or Slack. These are Total Float and Free Float.
TOTAL FLOAT is the spare time available when all preceding activities occur at the earliest
possible times and all succeeding activities occur at the latest possible times.
FREE FLOAT is the spare time available when all preceding activities occur at the earliest
possible times and all succeeding activities occur at the earliest possible times.
When an activity has zero Total float, Free float will also be zero.
There are various other types of float (Independent, Early Free, Early Interfering, Late Free, Late
Interfering), and float can also be negative. We shall not go into these situations at present for
the sake of simplicity and be concerned only with Total Float for the time being.
Having computed the various parameters of each activity, we are now ready to go into the
scheduling phase, using a type of bar chart known as the Gantt Chart.
Once the activities are laid out along a Gantt Chart (Please see chart below), the concepts of
Earliest Start & Finish, Latest Start & Finish and Float will become very obvious.
Activities 1-3 and 2-4 have total float of 1 week each, represented by the solid timeline which
begins at the latest start and ends at the latest finish. The difference is the float, which gives us
the flexibility to schedule the activity. For example, we might send the staff on leave during that
one week or give them some other work to do.
Another Example
Start g:5
Finish
2
4
d:5
b:20
3 f:5
5
e:10
You now have, for each task, the earliest and latest times that it can start and finish. Now find
the slack time (or 'float') for each task by subtracting the early start from the late start. The
slack time is the amount of time the task can be slipped by without affecting the end date of
the process. The critical path can now be identified as all paths through the network where
the slack time is zero.
So far we have talked about projects, where there is high certainty about the outcomes of
activities. In other words, the cause-effect logic is well known. This is particularly the case in
Engineering projects. However, in Research & Development projects, or in Social Projects
which are defined as "Process Projects", where learning is an important outcome, the cause-
effect relationship is not so well established.
In such situations, the PERT approach is useful, because it can accommodate the variation in
event completion times, based on an expert’s or an expert committee’s estimates.
For each activity, three time estimates are taken The Duration of an activity is calculated
using the following formula:
The Most Optimistic (to)
The Most Likely (tm)
The Most Pessimistic (tp)
It is not necessary to go into the theory behind the formula. It is enough to know that the
weights are based on an approximation of the Beta distribution.
In our Social Project, the Project Manager is now not so certain that each activity will be
completed on the basis of the single estimate he gave. There are many assumptions involved in
each estimate, and these assumptions are illustrated in the three-time estimate he would
prefer to give to each activity.
We calculate the PERT event times and other details as below for each activity:
1-3 3 12 21 12 0 12 0 12 0 3 9
3-5 6 15 30 16 12 28 12 28 0 4 16
1-2 2 5 14 6 0 6 5 11 5 2 4
2-4 5 14 17 13 6 19 11 24 5 2 4
3-4 2 5 8 5 12 17 19 24 7 1 1
4-5 1 4 7 4 19 23 24 28 5 1 1
Having calculated the s.d. and the Variance, we are ready to do some risk analysis. Before that
we should be aware of two of the most important assumptions made by PERT.
Activities are independent, and the time required to complete one activity has no
bearing on the completion times of it’s successor activities in the network. The validity
of this assumption is questionable when we consider that in practice, many activities
have dependencies.
PERT assumes that the expected length of a project (or a sequence of independent activities) is
simply the sum of their separate expected lengths.
Thus the summation of all the te's along the critical path gives us the length of the project.
Similarly the variance of a sum of independent activity times is equal to the sum of their
individual variances.
In our example, the sum of the variance of the activity times along the critical path, VT is found
to be equal to (9+16) = 25. The square root VT gives us the standard deviation of the project
length. Thus, ST=√ 25=5.
The higher the standard deviation, the greater the uncertainty that the project will be
completed on the due date.
Although the te's are randomly distributed, the average or expected project length Te
approximately follows a Normal Distribution.
Since we have a lot of information about a Normal Distribution, we can make several
statistically significant conclusions from these calculations.
A random variable drawn from a Normal Distribution has 0.68 probability of falling within one
standard deviation of the distribution average. Therefore, there is a 68% chance that the actual
project duration will be within one standard deviation, ST of the estimated average length of
the project, te.
In our case, the te = (12+16) = 28 weeks and the ST = 5 weeks. Assuming te to be normally
distributed, we can state that there is a probability of 0.68 that the project will be completed
within 28 ± 5 weeks, which is to say, between 23 and 33 weeks.
Now, although the project is estimated to be completed within 28 weeks (te=28) our Project
Director would like to know what is the probability that the project might be completed within
25 weeks (i.e. Due Date or D=25).
For this calculation, we use the formula for calculating Z, the number of standard deviations
that D is away from te.
On the other hand, the probability that the project will be completed within 33 weeks is
calculated as follows:
If the probability of an event is p, the odds for its occurrence are a to b, where:
In a nutshell, Earned Value is an approach where you monitor the project plan, actual work, and
work-completed value to see if a project is on track. Earned Value shows how much of the
budget and time should have been spent, with regard to the amount of work done so far.
Definition: "A method for measuring project performance. It compares the amount of work
that was planned with what was actually accomplished to determine if cost and schedule
performance is as planned."
Earned Value differs from the usual budget verses actual costs incurred model, in that it
requires the cost of work in progress to be quantified. This allows the project manager to
compare how much work has been completed, against how much he expected to be completed
at a given point.
The project manager needs to agree the project scope, create a Work Breakdown Structure
(WBS) and assign budget to each work package, the lowest level of the WBS. Next he or she will
create a schedule showing the calendar time it will take to complete the work. This overall plan
is baselined (this is the planned value) and used to measure performance throughout the
project. As each work package is completed (earned) it is compared with planned value,
showing the work achieved against plan. A variance to the plan is recorded as a time or
schedule deviation.
It is necessary to get the actual costs incurred for the project from the organisations'
accounting system. This cost is compared with the earned value to show an overrun or under
run.
This can enable project manager to report progress with greater confidence and highlight any
overrun earlier. This in turn, enables the management team to make cost and time allocation
decisions earlier than would otherwise be the case.
In addition to assessing any slippages or cost overruns in a project in general terms, Earned
Value Analysis (EVA) can be used to help determine if a project is providing value for money or
not. EVA concentrates on three basic parameters:
By comparing these values, assessments can be made about how efficient a project is and
where problems may lie.
The BCWS for the project summary task indicates that approximately 75% of the
project's baseline cost should have been incurred as of the project's status date.
Tasks with a BCWS equivalent to their baseline cost BAC value should have been
completed by the project's status date.
Tasks with a BCWS less than their BAC value aren't expected to be complete (baseline
finish) until after the project's status date.
Simply comparing BCWS and ACWP values can be less than conclusive:
If ACWP is greater than BCWS then this will indicate an overspend. It doesn't necessarily
mean that more value (or actual progress) has been earned, it just means that more money
has been spent to date than that originally scheduled.
If ACWP is less than BCWS then this will indicate underspend. This doesn't necessarily mean
that less value has been earned. It just means that less money has been spent to date than
that originally scheduled.
As comparing ACWP with BCWS has little value, one other earned value parameter needs to be
measured. This is the Budget Cost of Work Performed (BCWP). BCWP is the value of work that
has been achieved as of the project's status date. This will help to arrive at some conclusive
opinion about the project.
Task Name Baseline Actual Cost Cost Variance Start Variance Finish Variance
Cost
Help Rs. 9,960 Rs. 11,240 Rs. 1,280 0 days 5 days
This project started on time, but it is currently expected to finish 5 days late.
This project is expected to overspend by Rs.1,280 [( 1280/9960)* 100] – approximately
13% greater than its baseline cost.
Whilst this may appear to be adequate information, greater insight into the project's status can
be gained by looking at its earned value figures:
Say as of a particular project status date we calculate the following earned value.
If we assume that it will overspent in the same rate, the total overspent at the end of project =
9960 * 20.1258% = 2004.53. This is Rs.725 (2004.53 – 1280) more than forecast in the topmost
example (without earned value analysis)
o SV = BCWP - BCWS
o SV% (schedule variance percent) = (SV / BCWS) * 100
o SPI (schedule performance index) = BCWP / BCWS
Reviewing cost variances - a cost variance exists when there is a difference between
the ACWP and BCWP values for tasks or resources. This variance can be expressed as an
absolute value or as an index:
o CV = BCWP - ACWP
o CV% (cost variance percent) = [ (BCWP - ACWP) / BCWP ] * 100
o CPI (cost performance index) = BCWP / ACWP
'Exercises' (ringed in blue above) is ahead of schedule by 23%. Rs.5,630 worth of work
should have been achieved by the status date. Rs.6,950 worth of work has been
performed. As such, this summary task is Rs.1,320 ahead of schedule in value terms.
'Content' (ringed in green above) is behind schedule by 24%. Rs.8,900 worth of work
should have been achieved by the status date. Only Rs.6,751 worth of work has been
performed. As such, this summary task is Rs.2,149 behind schedule in value terms.
The project summary task 'Manual Project' (ringed in red) is 5% behind schedule in
value terms. Rs.830 worth of work needs to be caught up for the project to complete on
schedule.
'Exercises' (ringed in blue above) is under budget by 13% as of the project's status date.
Rs.6,950 worth of work has been achieved by the status date and only Rs.5,990 has
actually been spent to achieve that progress. As such this summary task is currently
Rs.960 under budget.
When Microsoft Project performs earned value calculations it bases them around two overall
parameters:
• Percent Complete.
• Baseline data.
a. From the Tools menu, select Options and then select the Calculation tab.