You are on page 1of 20

What is software project scheduling?

Software Project Scheduling is an activity that distributes Estimated Effort across the Planned
Project Duration by allocating the Effort to specific Software Engineering Task. Project
Scheduling is the culmination of a Project Planning activity that is a primary component of
Software Project Management. Project Scheduling establishes a “Road Map” for the Project
Manager When combined with Estimation Methods and Risk Analysis.
Scheduling begins with Process Decompositions. The characteristics of the Project are used to
adapt an appropriate task set for the Work to be done. A Task Network depicts each engineering
task, its dependency on other tasks and its projected duration. The Task Network is used to
compute the Critical Path, a Timeline Chart and a variety of project information. Using the
Project Schedule as a guide, the Project Manager can track and control each step in the Software
process.

Project scheduling is a significant project planning activity. It comprises deciding which functions
would be taken up when. To schedule the project plan, a software project manager wants to do the
following:

1. Identify all the functions required to complete the project.


2. Break down large functions into small activities.
3. Determine the dependency among various activities.
4. Establish the most likely size for the time duration required to complete the activities.
5. Allocate resources to activities.
6. Plan the beginning and ending dates for different activities.
7. Determine the critical path. A critical way is the group of activities that decide the duration
of the project.
WHY SOFTWARE IS DELIVERED LATE?

Most late delivery can be traced to one or more of the following root causes:

 An unrealistic deadlines established by someone outside The Software Engineering


group, and forced on Managers and Software practitioners within the group.
 Changing Customer Requirements that are not reflected in Schedule changes.
 An un-honest underestimate of the amount of effort and / or the number of resources that
will be required to do the job.
 Predictable and/or unpredictable risk, that were not considered when the project
commenced.
 Technical difficulties that could not have been foreseen in advance.
 Miscommunication among project staff that results in delay.
 A failure by project Management to recognize that the project is falling behind the
Schedule and a lack of action to correct the problem.

The objectives of activity planning:

The objective of software project planning is to provide a framework that enables the manager to
make reasonable estimates of resources, cost, and schedule.
 Feasibility assessment
Is the project possible within required timescales and resource constraints? It is not until we
have constructed a detailed plan that we can forecast a completion date with any reasonable
knowledge of its achievability.
 Resource allocation
What are the most effective ways of allocating resources to the project? When should the
resources be available? The project plan allows us to investigate the relationship between
timescales and resource availability
 Detailed costing
How much will the project cost and when is that expenditure likely to take place? After
producing an activity plan and allocating specific resources, we can obtain more detailed
estimates of costs and their timing.

 Motivation
Providing targets and being seen to monitor achievement against targets is an effective way
of motivating staff, particularly where they have been involved in setting those targets in the
first place.
 Co-ordination:
When do the staff in different departments need to be available to work on a particular
project and when do staff need to be transferred between projects? The project plan,
particularly with large projects involving more than a single project team, provides an
effective vehicle for communication and coordination among teams.

Activity planning and scheduling techniques place an emphasis on completing the project
in a minimum time at an acceptable cost or, alternatively, meeting a set target date at
minimum cost.
One effective way of shortening project durations is to carry out activities in parallel.

Work Breakdown Structure

A Work Breakdown Structure includes dividing a large and complex project into simpler,
manageable and independent tasks. The root of this tree (structure) is labelled by the Project
name itself. For constructing a work breakdown structure, each node is recursively
decomposed into smaller sub-activities, until at the leaf level, the activities becomes
undividable and independent. It follows a Top-Down approach.
Steps:
 Step-1: Identify the major activities of the project.
 Step-2: Identify the sub-activities of the major activities.
 Step-3: Repeat till undividable, simple and independent activities are created.
Construction of Work Breakdown Structure:
Firstly, the project managers and top level management identifies the main deliverables of the
project. After this important step, these main deliverables are broke down into smaller higher-
level tasks and this complete process is done recursively to produce much smaller independent
tasks. It depends on the project manager and team that up to which level of detail they want to
break down their project.

Generally the lowest level tasks are the most simplest and independent tasks and takes less than
two weeks’ worth of work. Hence, there is no rule for up to which level we may build the work
breakdown structure of the project as it totally depends upon the type of project we are working
on and the management of the company. The efficiency and success of the whole project majorly
depends on the quality of the Work Breakdown Structure of the project and hence, it implies its
importance.

Uses:
 It allows to do a precise cost estimation of each activity.
 It allows to estimate the time that each activity will take more precisely.
 It allows easy management of the project.
 It helps in proper organization of the project by the top management.
Network planning models

These project scheduling techniques model the project's activities and their relationships as a
network. In the network, time flows from left to right. The two best known being CPM (Critical
Path Method) and PERT (Program Evaluation Review Technique). Both of these techniques
used an activity-on-arrow approach to visualizing the project as a network where activities are
drawn as arrows joining circles, or nodes which represent the possible start and/or completion of
an activity or set of activities. More recently a variation on these techniques, called precedence
network, has become popular. This method uses activity-on-node networks where activities are
represented as nodes and the links between nodes represent precedence (or sequencing)
requirements.

Critical Path Method (CPM)

Critical Path Method (CPM) is a method used in project planning, generally for project
scheduling for the on-time completion of the project. It actually helps in the determination of
the earliest time by which the whole project can be completed. There are two main concepts in
this method namely critical task and critical path. Critical task is the task/activity which can’t
be delayed otherwise the completion of the whole project will be delayed. It must be completed
on-time before starting the other dependent tasks.
Critical path is a sequence of critical tasks/activities and is the largest path in the project
network. It gives us the minimum time which is required to complete the whole project. The
activities in the critical path are known as critical activities and if these activities are delayed
then the completion of the whole project is also delayed.
Major steps of the Critical Path Method:
1. Identifying the activities
2. Construct the project network
3. Perform time estimation using forward and backward pass
4. Identify the critical path
The table given below contains the activity label, its respective duration (in weeks) and its
precedents. We will use critical path method to find the critical path and activities of this
project.

Activity Duration (in weeks) Precedents


A 6 –
B 4 –
C 3 A
D 4 B
E 3 B
F 10 –
G 3 E, F
H 2 C, D

Rules for designing the Activity-on-Node network diagram:


 A project network should have only one start node
 A project network should have only one end node
 A node has a duration
 Links normally have no duration
 “Precedents” are the immediate preceding activities
 Time moves from left to right in the project network
 A network should not contain loops
 A network should not contain dangles
Node Representation:
 Activity label is the name of the activity represented by that node.
 Earliest Start is the date or time at which the activity can be started at the earliest.
 Earliest Finish is the date or time at which the activity can completed at the earliest.
 Latest Start is the date or time at which the activity can be started at the latest.
 Latest Finish is the date or time at which the activity can be finished at the latest.
 Float is equal to the difference between earliest start and latest start or earliest finish and
latest finish.

Activity-On-Node diagram:

Forward Pass:
The forward pass is carried out to calculate the earliest dates on which each activity may be
started and completed.

1. Activity A may start immediately. Hence, earliest date for its start is zero i.e. ES(A) = 0. It
takes 6 weeks to complete its execution. Hence, earliest it can finish is week 6 i.e. EF(A) =
6.
2. Activity B may start immediately. Hence, earliest date for its start is zero i.e. ES(B) = 0. It
takes 4 weeks to complete its execution. Hence, earliest it can finish is week 4 i.e. EF(B) =
4.
3. Activity F may start immediately. Hence, earliest date for its start is zero i.e. ES(F) = 0. It
takes 10 weeks to complete its execution. Hence, earliest it can finish is week 10 i.e. EF(F)
= 10.
4. Activity C starts as soon as activity A completes its execution. Hence, earliest week it can
start its execution is week 6 i.e. ES(C) = 6. It takes 3 weeks to complete its execution.
Hence, earliest it can finish is week 9 i.e. EF(C) = 9.
5. Activity D starts as soon as activity B completes its execution. Hence, earliest week it can
start its execution is week 4 i.e. ES(D) = 4. It takes 4 weeks to complete its execution.
Hence, earliest it can finish is week 8 i.e. EF(D) = 8.
6. Activity E starts as soon as activity B completes its execution. Hence, earliest week it can
start its execution is week 4 i.e. ES(E) = 4. It takes 3 weeks to complete its execution.
Hence, earliest it can finish is week 7 i.e. EF(E) = 7.
7. Activity G starts as soon as activity E and activity F completes their execution. Since,
activity requires the completion of both for starting its execution, we would consider the
MAX(ES(E), ES(F)). Hence, earliest week it can start its execution is week 10 i.e. ES(G) =
10. It takes 3 weeks to complete its execution. Hence, earliest it can finish is week 13 i.e.
EF(G) = 13.
8. Activity H starts as soon as activity C and activity D completes their execution. Since,
activity requires the completion of both for starting its execution, we would consider the
MAX(ES(C), ES(D)). Hence, earliest week it can start its execution is week 9 i.e. ES(H) =
9. It takes 2 weeks to complete its execution. Hence, earliest it can finish is week 11 i.e.
EF(H) = 11.
Backward Pass:
The backward pass is carried out to calculate the latest dates on which each activity may be
started and finished without delaying the end date of the project.
Assumption: Latest finish date = Earliest Finish date (of project).
1. Activity G’s latest finish date is equal to the earliest finish date of the precedent activity of
finish according to the assumption i.e. LF(G) = 13. It takes 3 weeks to complete its
execution. Hence, latest it can start is week 10 i.e. LS(G) = 10.
2. Activity H’s latest finish date is equal to the earliest finish date of the precedent activity of
finish according to the assumption i.e. LF(H) = 13. It takes 2 weeks to complete its
execution. Hence, latest it can start is week 11 i.e. LS(H) = 11.
3. The latest end date for activity C would be the latest start date of H i.e. LF(C) = 11. It takes
3 weeks to complete its execution. Hence, latest it can start is week 8 i.e. LS(C) = 8.
4. The latest end date for activity D would be the latest start date of H i.e. LF(D) = 11. It takes
4 weeks to complete its execution. Hence, latest it can start is week 7 i.e. LS(D) = 7.
5. The latest end date for activity E would be the latest start date of G i.e. LF(G) = 10. It takes
3 weeks to complete its execution. Hence, latest it can start is week 7 i.e. LS(E) = 7.
6. The latest end date for activity F would be the latest start date of G i.e. LF(G) = 10. It takes
10 weeks to complete its execution. Hence, latest it can start is week 0 i.e. LS(F) = 0.
7. The latest end date for activity A would be the latest start date of C i.e. LF(A) = 8. It takes
6 weeks to complete its execution. Hence, latest it can start is week 2 i.e. LS(A) = 2.
8. The latest end date for activity B would be the earliest of the latest start date of D and E i.e.
LF(B) = 7. It takes 4 weeks to complete its execution. Hence, latest it can start is week 3
i.e. LS(B) = 3.

Identifying Critical Path:


Critical path is the path which gives us or helps us to estimate the earliest time in which the
whole project can be completed. Any delay to an activity on this critical path will lead to a
delay in the completion of the whole project. In order to identify the critical path, we need to
calculate the activity float for each activity.
Activity float is actually the difference between an activity’s Earliest start and its latest start
date or the difference between the activity’s Earliest finish and its latest finish date and it
indicates that how much the activity can be delayed without delaying the completion of the
whole project. If the float of an activity is zero, then the activity is an critical activity and must
be added to the critical path of the project network. In this example, activity F and G have zero
float and hence, are critical activities.

Advantages of Critical Path Method (CPM):


It has the following advantages:
1. It figures out the activities which can run parallel to each other.
2. It helps the project manager in identifying the most critical elements of the project.
3. It gives a practical and disciplined base which helps in determining how to reach the
objectives.
4. CPM is effective in new project management.
5. CPM can strengthen a team perception if it is applied properly.
6. CPM provides demonstration of dependencies which helps in the scheduling of individual
activities.
7. It shows the activities and their outcomes as a network diagram.
8. It gives a fair and concise procedure of documenting of project.
9. It helps in determining the slack time.
10. An explicit and clear approach of communicating project plans, schedules, time and cost
performance is developed.
11. It is extensively used in industry.
12. It helps in optimization by determining the project duration.

Disadvantages of Critical Path Method (CPM):


It has the following disadvantages:
1. The scheduling of personnel is not handled by the CPM.
2. In CPM, it is difficult to estimate the completion time of an activity.
3. The critical path is not always clear in CPM.
4. For bigger projects, CPM networks can be complicated too.
5. It also does not handle the scheduling of the resource allocation.
6. In CPM, critical path needs to be calculated precisely.

Project Evaluation and Review Technique (PERT)


Project Evaluation and Review Technique (PERT) is a procedure through which activities
of a project are represented in its appropriate sequence and timing. It is a scheduling technique
used to schedule, organize and integrate tasks within a project. PERT is basically a mechanism
for management planning and control which provides blueprint for a particular project. All of
the primary elements or events of a project have been finally identified by the PERT.
In this technique, a PERT Chart is made which represent a schedule for all the specified tasks
in the project. The reporting levels of the tasks or events in the PERT Charts is somewhat same
as defined in the work breakdown structure (WBS).

Characteristics of PERT:
The main characteristics of PERT are as following :
1. It serves as a base for obtaining the important facts for implementing the decision-making.
2. It forms the basis for all the planning activities.
3. PERT helps management in deciding the best possible resource utilization method.
4. PERT take advantage by using time network analysis technique.
5. PERT presents the structure for reporting information.
6. It helps the management in identifying the essential elements for the completion of the
project within time.
Advantages of PERT:
It has the following advantages:
1. Estimation of completion time of project is given by the PERT.
2. It supports the identification of the activities with slack time.
3. The start and dates of the activities of a specific project is determined.
4. It helps project manager in identifying the critical path activities.
5. PERT makes well organized diagram for the representation of large amount of data.
Disadvantages of PERT:
It has the following disadvantages:
1. The complexity of PERT is more which leads to the problem in implementation.
2. The estimation of activity time are subjective in PERT which is a major disadvantage.
3. Maintenance of PERT is also expensive and complex.
4. The actual distribution of may be different from the PERT beta distribution which causes
wrong assumptions.
5. It under estimates the expected project completion time as there is chances that other paths
can become the critical path if their related activities are deferred.

PERT Planning Process


PERT Planning comprises of the following steps:

1. Identification of definite activities and breakthroughs:


It is convenient to list all the tasks and breakthroughs required to complete the project in
the table. The breakthroughs represent the starting point and deadline of one or more
activities. With the help of identification of activities, tasks at later stage can be expanded
to build information on sequence and duration.
2. Determining the proper sequence of the activities:
This step in PERT planning process is used to regulate the sequence of activities. Activities
can be serial or parallel, the sequence represents the dependency of one activity on other
activity. As in the first step the identification of the activities is done, it is necessary to
identify the relationships between activities in this step. The analysis of exact order in
which the activities performed are required for other tasks.
3. Construction of network diagram:
A network diagram is drawn with the help of the activity identification and activity
sequence information. In the network diagram, the activities are illustrated by arrowed lines
and breakthroughs are illustrated by circles. To convert the tabular activity information into
a network diagram, various CASE tools like MS-PROJECT are available which simplify
the process of conversion easily.
4. Estimation of the time required for each activity:
All activities in the project are illustrated by the persistent or steady unit of time. PERT has
the capacity to deal with ambiguity and unpredictability in the completion time of the
activities. The commonly used unit in software engineering for the activity completion time
is weeks.
5. Determination of Critical Path:
Critical path is the path which takes the maximum amount of time. There are many paths in
the network diagram which demonstrates the start and end events of the project. Critical
path is determined by adding the time taken by the activities in each sequence and then
determining the longest path in the project. Total calendar time needed for the project is
given by the critical path.
6. Updating of PERT chart:
PERT charts are modified as the project work progresses. As the project work continues,
many changes to the PERT chart are made such as addition of resources and changes in the
estimation time by the actual time.

Difference between PERT and CPM:


1. Project Evaluation and Review Technique (PERT):
PERT is appropriate technique which is used for the projects where the time required or
needed to complete different activities are not known. PERT is majorly applied for scheduling,
organization and integration of different tasks within a project. It provides the blueprint of
project and is efficient technique for project evaluation.
2. Critical Path Method (CPM):
CPM is a technique which is used for the projects where the time needed for completion of
project is already known. It is majorly used for determining the approximate time within which
a project can be completed. Critical path is the largest path in project management which
always provide minimum time taken for completion of project.

S.No. PERT CPM


1. PERT is that technique of project CPM is that technique of project
management which is used to manage management which is used to manage
uncertain (i.e., time is not known) only certain (i.e., time is known)
activities of any project. activities of any project.
2. It is event oriented technique which means It is activity oriented technique which
that network is constructed on the basis of means that network is constructed on the
event. basis of activities.
3. It is a probability model. It is a deterministic model.
4. It majorly focuses on time as meeting time It majorly focuses on Time-cost trade off
target or estimation of percent completion as minimizing cost is more important.
is more important.
5. It is appropriate for high precision time It is appropriate for reasonable time
estimation. estimation.
6. It has Non-repetitive nature of job. It has repetitive nature of job.
7. There is no chance of crashing as there is There may be crashing because of certain
no certainty of time. time foundation.
8. It doesn’t use any dummy activities. It uses dummy activities for representing
sequence of activities.
9. It is suitable for projects which required It is suitable for construction projects.
research and development.
Precedence Diagramming Method Example

Precedence Diagramming Method (PDM) is a visual representation technique which is used to


prepare the project network diagram and determine the critical path. Unlike the arrow
diagramming method, activities are presented as boxes in PDM. One of the main advantages of
the Precedence Diagramming Method (PDM) is that it demonstrates the activity relationships.
This article reviews a Precedence Diagramming Method Example and analyzes the basics of
this method.
It is critical for a project manager to realize the activity relationships because it is important
while preparing the network diagram and then creating the project schedule.

For better understanding, let’s analyze the example below and follow the steps.

Precedence Diagramming Method Calculation Steps:

In this example A, B, C, D, F, G, H, I are the activities. Numbers above the boxes are the
durations. Activity B is a predecessor activity that logically comes before a dependent activity F
in this network system. Activity F is a successor activity that logically comes after the Activity
B. There is a F-S Relationship between activity B and F.

Step 1: PDM Forward Pass Calculation

In this Precedence Diagramming Method Example, we will perform forward and backward
pass calculations. Forward Pass Calculations specify the minimum dates at which each activity
can be performed and, ultimately, the minimum duration of a project.
Step 2: PDM Backward Pass Calculation

Backward Pass Calculations determine the latest dates by which each activity can be performed
without increasing the projects minimum duration.

Step 3: PDM Float Calculation for Each Activity / Precedence Diagramming Method Example
Total float is the amount of time that an activity can be delayed without delaying the project
completion date. Total float is 0 on the critical path.

Total Float: LS – ES = 17-7 = 10


Total Float: LF – EF = 27-17 = 10

Total float can be calculated by subtracting the Early Start date of an activity from its Late Start
date or Early Finish date from its Late Finish date.

Step 4: PDM Identifying the critical path / Precedence Diagramming Method Example

When we analyze the network diagram we will see that there are some paths and every path have
duration.
The critical path is the longest path in the network diagram and the total float of the critical path
is zero.
Shortening a Project Schedule
 Shortening lag time between tasks. If tasks on the critical path include lag time between
them, reducing that lag time is an easy way to shorten the project duration. It won’t cost
anymore; resources don’t have to work harder; and risk is low. The difficulty with this
approach is that the lag time is often due to a dependency on other groups.
 Fast-tracking a project compresses the schedule by running tasks concurrently
instead of in sequence. Fast-tracking can introduce risk because you start some tasks
before their predecessors finish. However, fast-tracking can often shorten a schedule
without increasing cost.
 Crashing is a technique in which you spend additional money to reduce duration.
The trick is to reduce the duration as much as possible for the least amount of money.
 Reducing scope. If stakeholders decide to reduce the project scope, you might think that
the solution is simply to delete the tasks for the scope you’re removing. But that’s not a
good idea because you probably know that decisions that go one way on Monday are as
likely to go the other way by Friday. In Project 2010, the Inactivate command leaves task
values in place but removes them for inactivated tasks from the project’s rolled-up
duration and cost and removes resource assignments from the assigned resources’
availability.

You might also like