Unit 2: Software Project
Scheduling
Objectives of activity planning, Work breakdown structure,
Network planning model: Critical path method (CPM),
Program evaluation and review technique (PERT),
Precedence diagramming method (PDM), Shortening
project duration, Identifying critical activities. Forward pass
and Backward pass
Introduction
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(climax) 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
The reality of a Technical Project is that hundreds of small tasks must occur in order to accomplish a large
goal. Some of these tasks lie outside the mainstream and may be completed without worry about impact
On Project Completion Date. Other tasks lie on the "Critical Path". These tasks are called "Critical Tasks"
fall behind schedule the completion date on the entire project is put into jeopardy. The Project Managers
Objectives with regards to Project Scheduling are:
1. Define all Tasks.
2. Build a Network that depicts that's dependencies. 3. Identify the tasks that are Critical within the
Network.
4. Track task progress to ensure that delay is recognized. "One Day at a time ".
Scheduling Techniques
1. Scheduling Techniques
2. Program Evaluation and Review Technique (PERT)
3. Gantt Chart
4. Critical Path Method (CPM)
5. Work Breakdown Structure (WBS)
6. Bar Chart
7. Linked Bar Chart
8. Network Diagram
Resource Allocation
Resource allocation in project management is concerned with creating a plan which can help achieve
future goals. There are many resources which have to be allocated when managing a project,
beginning from budget to equipment and tools, to data and the project's plan.
Resource allocation in project management is so important because it gives a clear picture on the
amount
of work that has to be done. It also helps to schedule ahead and have an insight into the team's
progress,
including allocating the right amount of time to everyone on the team.
Resource allocation allows to plan and prepare for the project's implementation or achieving goals. It
is also possible to analyze existing threats and risks to the project.
But above all, resource allocation in project management helps to control all the workload. This, as a
result, contributes to team's effectiveness at work and what follows later is a satisfying and exhaustive
project.
How to Allocate Resources
Since resources refer to quite an extensive list of things
and aspects of project management, it may be confusing
when trying to properly allocate them all. But it’s not
difficult and requires certain dedication and involvement.
Here’s what we can do to allocate resources in the right
way when managing projects:
a. Know the scope: to know what is project about,
what will be needed to achieve it, and to be able to
properly allocate resources
b. Identify resources: to know which tools, equipment,
etc. will be needed for completing the project,
c. Track time: to have a deep analysis of the progress
and current situation as well as be able to control it
in the real time
d. Don’t look only at the big picture: the process of working on a project is not
done with task allocation. Once resources are allocated keep track of all of them. If
you lose at least one tiny detail, the project may fail
e. Don’t over-allocate: because team will experience burnout and their productivity
will significantly drop.
Objectives of activity planning
- 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. The fact that a project may have been estimated as requiring
two work-years effort might not mean that it would be feasible to complete it within, say, three months
were eight people to work on it that will depend upon the availability of staff and the degree to which
activities may be undertaken in parallel.
- Resource allocation What are the most effective ways of allocating resources to the project and when
should they be available? The project plan allows us to investigate the relationship between timescales
and resource availability (in general, allocating additional resources to a project shortens its duration)
and the efficacy of additional spending on resource procurement.
- 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.
Cont.
- Coordination 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. In situations where staff may
need to be transferred between project teams (or work concurrently on more
than one project), a set of integrated project schedules should ensure that
such staff are available when required and do not suffer periods of enforced
idleness.
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 labeled 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 become undividable and
independent. It follows a Top-Down approach.
Steps Work Breakdown Structure:
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
1. Firstly, the project managers and top level management identifies the main deliverables of the
project.
2. 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.
3. It depends on the project manager and team that upto which level of detail they want to break
down their project.
4. Generally the lowest level tasks are the most simplest and independent tasks and takes less than
two weeks worth of work.
5. Hence, there is no rule for upto 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.
6. 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 of work breakdown structure
1. Cost estimation: It allows doing a precise cost estimation of each
activity.
2. Time estimation: It allows estimating the time that each activity
will take more precisely.
3. Easy project management: It allows easy management of the
project.
4. Helps in project organization: It helps in proper organization of
the project by the top management.
Network planning model: Critical path method (CPM)
A network planning model is a way to organize a network's operations to ensure
efficient data transfer and communication. It involves:
● Physical layout: Drafting the network's physical layout
● Network topology: Deciding the network's topology
● Hardware and software: Selecting appropriate hardware and software
● Capacity management: Managing network capacity to handle traffic and
usage load
● Security: Ensuring optimal security measures
Critical path method (CPM)
The critical path method (CPM) is a project management technique that uses an
algorithm to identify the longest sequence of dependent activities in a project and
calculate the minimum time required to complete it. The critical path is the longest
path through the project and any delays in completing tasks on the critical path will
delay the entire project.
What is a Critical task in project management?
It is the task/activity that can’t be delayed otherwise the completion of the entire project will
be delayed. It must be completed on time before starting the other dependent tasks.
What is the Critical path in project management?
It 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 entire project. The activities in
the critical path are known as critical activities and if these activities are delayed then the
How to find the critical path in a project
Step 1: Identify all tasks required to complete the project
Step 2: Determine the sequence of tasks
Step 3: Estimate the duration of each task
Step 4: Draw a network diagram
Step 5: Identify the critical path
Step 6: Calculate the floatStep 7: Monitor the critical path
Eg. The table given Duration (in
contains the activity Activity
weeks)
Precedents
label, its respective A 6 –
duration (in weeks), B 4 –
and its precedents.
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 be completed
at the earliest.
● Latest Start is the date or time at which the activity can be started at the
latest.
● The latest Finish is the date or time at which the activity can be finished
at the latest.
Activity-on-Node diagram
Forward Pass in CPM
The forward pass is carried out to calculate the earliest dates on which each activity may be
started and completed.
Backward Pass in CPM
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).
Identifying Critical Path
The critical path is the path that gives us or helps us
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 entire project. To identify the critical path, we
need to calculate the activity float for each activity.
Activity float is 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 how much the
activity can be delayed without delaying the
completion of the entire project. If the float of an
activity is zero, then the activity is critical and must
be added to the critical path of the project network.
In this example, activities F and G have zero
float and hence, are critical activities.
, Program 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.
What does a PERT Chart Contain?
Here are the main components of a PERT chart:
● Nodes: it represents the task or milestones. every node
represents the task name and may also show duration
of the task.
● Arrows: it indicates the direction or sequence of task
and also dependencies between them. suppose an array
from A to B, then task A must be completed before task
B.
● Time Estimation: It estimates the time duration to
complete the task.
● Critical Path: The critical path is the largest path in
project management that always results in the shortest
time to complete the project.
● Milestones: It is Key point in the project timeline that
How a pert chart works?
A PERT chart used to plan and visualize tasks in a project. It breaks down the project into individual tasks
and shows the sequence in which they must be completed. Each task is represented by a node, and
arrows indicate the dependencies between tasks. By analyzing the chart, teams can identify the critical
path, which helps determine the shortest time to complete the project and allocate resources effectively.
How to Create a PERT chart?
To create a PERT chart, we can follow the below steps:
Step 1: Identify Project Tasks
List all the tasks required to complete the project. Identifying tasks means listing all the
steps needed to complete a project. Start by figuring out what the main goal is, then break it
down into smaller actions. Ask team members for ideas and use clear action words for each
task.
Step 2: Define task dependencies
Defining task dependencies means figuring out which tasks must be completed before
others can start. Look at your task list and identify connections by asking if one task relies
on another. This helps you establish the order of work, ensuring everything is done in the
right sequence.
Step 3: Estimate Timeline
Estimating the timeline involves figuring out how long each task will take to complete. For
each task, think about the quickest time it could be done (optimistic), the longest it might
take (pessimistic), and the most likely time it will actually take. This gives you a better idea
of the overall project duration and helps with planning.
Step 4: Calculate Critical Path
Calculate Critical Path means finding the longest sequence of tasks that determines the
shortest time to complete the project. Identify which tasks can’t be delayed without
affecting the overall project deadline, helping you focus on what’s most important.
Step 5: Manage task progress
It involves tracking how each task is going. Regularly check if tasks are on schedule, address
any delays, and adjust plans if needed. This ensures the project stays on track and any
issues are resolved quickly.
Assignment: PERT vs GANTT ; PERT vs CPM
Precedence diagramming method (PDM),
The precedence diagramming method (PDM) is a graphical tool used for scheduling
activities in a project plan. PDM maps out project development by creating a visual
representation of critical paths and dependencies.
The primary output of PDM is a project schedule network diagram. The project schedule
network diagram is an input in new projects' "develop schedule" process. Precedence
diagramming uses nodes to represent activities and links them with lines and arrows
illustrating paths and dependencies. It's a quick and easy visual scheduling tool for project
managers.
Activity Predecessor Duration
Activity on Node Network Diagram Activity(s) (Days)
Start - -
- Draw Activity on Node Diagram as previous.
A Start 1
- Fill duration of each node
- B Start 3
Fill early start and early finish using forward
pass C Start 5
- Fill last start and last finish using backward D A 6
pass E B 7
- Find critical node and critical path (eg.
F C,E 3
Start/BEG/End)
G D,E 5
End G,F
Every precedence diagramming method example must include activities, durations,
and dates. The project manager starts by identifying activities with a critical path and
finding and connecting dependencies to ensure the workflow is ordered optimally.
There are four ways to illustrate a project schedule network diagram. These form the
connection between activities in a precedence diagram. They are:
● Finish-to-Start (FS): In this case, task B cannot start until task A has been
completed
● Start-to-Start (SS): In this case, task B cannot start until task A starts
● Finish-to-Finish (FF): In this case, task A cannot be completed until task B is
completed
● Start-to-Finish (SF): In this case, task B cannot be completed until task A starts
It is possible to have projects where all activities are independent of one another.
Typically though, most projects fall under one of the four cases above.
PDM vs Gantt chart
Precedence diagrams and Gantt charts visually represent project
schedules. Gantt charts show the schedules interspersed on a timeline,
while precedence diagrams use network diagrams to show a project's
tasks and how they connect.
Both scheduling methods show who's responsible for scheduled activities
and the workflows necessary to complete them. Gantt charts are
straightforward with activities listed in a spreadsheet fashion, whereas
precedence diagramming is more visual with nodes (or boxes) and arrows
showing the sequential order of tasks.
Neither approach is better than the other. They both shine in different
cases. Project managers must determine the more appropriate method
depending on the project phase and how they share and communicate
reports and project progress with involved stakeholders.
Shortening project duration
- It refers to the process of shortening the overall time required to complete a
project while maintaining its quality and objectives.
- It involves analyzing and modifying various project components, such as task
dependencies, resource allocation, scheduling, and project scope, to expedite
project completion.
Why shortening?
- To minimize risks caused by unforeseen delays
- Intense global competition
- To respond customers’ demand
Options for Reducing Project Duration
- Adding Resources: The most common method for shortening project time is to assign
additional staff and equipment to activities. There are limits, as to how much speed can be
gained by adding staffs. Doubling the size of the workforce will not certainly reduce
completion time by half.
- Outsourcing Project work: Sometimes the organization subcontract out the project activities
to shorten the project time. The subcontractor may have access to superior technology or
expertise that will accelerate the completion of the activity.
- Establish a Core Project Team: Creating a dedicated core team to complete project in speed.
- Fast-tracking: critical activities are done in parallel rather than sequentially.
- Reducing Project Scope: Limiting no. of features, tasks, or objectives within a project.
- Compromise Quality: it is always an opinion, but it is rarely used. If quality is sacrificed, it
may be possible to reduce the time of an activity on the critical path.
Identifying critical activities.
A critical activity in project management is any task that stakeholders must complete on schedule to meet
project deadlines. Delays in one activity will affect subsequent tasks and the entire project unless you can
reduce the time on other tasks. The terms critical activity and critical task are often used interchangeably
in project management. There are two types of critical activities:
● Dependent Tasks: This category includes any activities you must complete in a certain order. A
predecessor task must start or finish in order for the successor task to start or finish. Dependent
tasks are sometimes referred to as sequential activities.As an example, suppose you’re baking a
birthday cake. Preheating the oven, baking the cake, and frosting the cake are all dependent tasks
because each depends on the completion of the preceding tasks.
● Parallel Tasks: You can run these activities concurrently with other tasks. To use the cake example,
preheating the oven and mixing the cake batter could be parallel tasks because you can do them
simultaneously. One does not depend on the other to start the task.
The concept of resource constraints, or the limitations on resources you have available for a certain
project, is important to understanding critical activity and critical path. Examples of resource constraints
include staff hours, budget, equipment, and supplies. More resource constraints result in more
dependencies, which lengthen the critical path. Suppose you’re hosting a dinner party without any
assistance. If you’re preparing a main course and a dessert that will each take an hour and you can make
only one dish at a time, these tasks become dependencies because they’re constrained by your time.
The availability of your kitchen equipment may be another constraint.But if you enlist a friend to bring
dessert, you turn the two responsibilities into parallel tasks. By reducing the constraints on time and
kitchen space, you’ve shortened the critical path.
Forward pass and Backward pass
Forward pass is a technique to move forward through network diagram to
determining project duration and finding the critical path or Free Float of the
project.
Whereas backward pass represents moving backward to the end result to
calculate late start or to find if there is any slack in the activity.