Professional Documents
Culture Documents
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:
Most late delivery can be traced to one or more of the following root causes:
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.
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) 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-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.
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.
For better understanding, let’s analyze the example below and follow the 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.
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 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.