0% found this document useful (0 votes)
119 views64 pages

Software Project Scheduling

Uploaded by

Bivek Heka
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
119 views64 pages

Software Project Scheduling

Uploaded by

Bivek Heka
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 64

Software Project Scheduling

Er. Nirajan Panthee


Software Project Scheduling
Software 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.
Project Scheduling Process
Seven principles of software project scheduling

● COMPARTMENTALIZATION :
A given software project is compartmentalized into a number of manageable activities. The project is
divided into a number of small tasks.

● INTERDEPENDENCY :
Interdependent tasks are accomplished first. Certain tasks occur in sequence whereas other tasks
occur in parallel. Therefore tasks which occur in sequence has to be performed in a sequential order
since the output of one task will be the input of the next task. Other tasks can occur independently.

● TIME ALLOCATION :
Each and every task has to be assigned a specific time period i.e a start date and a completion date
based on whether the work will be performed in a full time or part time basis.

● EFFORT VALIDATION :
Every project is assigned to a software team. The project manager has to make sure that the effort
allocated should not be more than the number of people available to do the work.
Seven principles of software project scheduling

● DEFINED RESPONSIBILITIES :
Each of the scheduled task is assigned to a specific member of the software team.

● DEFINED OUTCOMES :
Each task has a defined outcome. Work product is the outcome of a software project.

● DEFINED MILESTONES :
Every task is associated with a milestone. A milestone is an action or event marking a significant
change in the development process.
Activity Planning
● Planning includes all the activities required to select a systems analysis team, assign members of
the team to appropriate projects, estimate the time required to complete each task, and schedule
the project so that tasks are completed in a timely fashion.

● The objective of software project planning is to provide a framework that enables the manager to
make reasonable estimates of resources, cost, and schedule.
The 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.

● 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.
Work Breakdown Structure
● A Work Breakdown Structure includes dividing a large and complex project into simpler, manageable and
independent tasks.

● It's a way to divide and conquer large projects to get things done faster and more efficiently.

● The goal of a WBS is to make a large project more manageable. Breaking it down into smaller chunks
means work can be done simultaneously by different team members, leading to better team productivity
and easier project management.
Work Breakdown Structure
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
Work Breakdown Structure
● 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.


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 upto 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 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.

● 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 us to do a precise cost estimation of each activity.
● It allows us 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.
Work breakdown Structure examples
● WBS spreadsheet: You can structure your WBS efficiently in a spreadsheet, noting the different
phases, tasks, or deliverables in the columns and rows.

● WBS flowchart: You can structure your WBS in a diagrammatic workflow. Most WBS examples and
templates you may find are flowcharts.

● WBS list: You can structure your WBS as a simple list of tasks or deliverables and subtasks. This is
the most straightforward approach to make a WBS.

● Work breakdown structure Gantt chart. You can structure your WBS as a Gantt chart that
represents both a spreadsheet and a timeline. With a Gantt chart-structured WBS, you can link task
dependencies and show project milestones.
Network planning Model

● Network planning (or Network planning project networking) is a generic name for methods that study
projects as a set of interconnected activities with the purpose of assisting in planning, managing and
controlling projects.

● These methods are based on models describing projects as activities networks and include well known
techniques such as the Critical Path Method (CPM) and the Program Evaluation and Review Technique
(PERT).

● CPM determines the critical path which includes the so-called critical activities (activities deserving maximal
attention as any delay causes a delay of the project's completion date), while PERT estimates the
probability distribution of the project's completion date.

● These methods require the determination of each of the activities that are involved in the project, the
sequence in which these activities must be performed, and the activities that can be performed concurrently
with other activities.
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.
Key Steps in Critical Path Method
Step 1: Activity specification
You can use the Work Breakdown Structure (WBS) to identify the activities involved in the project. This is the main input for
the critical path method.

In activity specification, only the higher-level activities are selected for critical path method.

When detailed activities are used, the critical path method may become too complex to manage and maintain.

Step 2: Activity sequence establishment


In this step, the correct activity sequence is established. For that, you need to ask three questions for each task of your list.

● Which tasks should take place before this task happens.


● Which tasks should be completed at the same time as this task.
● Which tasks should happen immediately after this task.
Key Steps in Critical Path Method

Step 3: Network diagram

Once the activity sequence is correctly identified, the network diagram can be drawn (refer to the sample diagram above).

Although the early diagrams were drawn on paper, there are a number of computer softwares, such as Primavera, for this
purpose nowadays.

Step 4: Estimates for each activity

This could be a direct input from the WBS based estimation sheet. Most of the companies use 3-point estimation method or
COCOMO based (function points based) estimation methods for tasks estimation.

You can use such estimation information for this step of the process.
Key Steps in Critical Path Method

Step 5: Identification of the critical path

For this, you need to determine four parameters of each activity of the network.
● Earliest start time (ES) - The earliest time an activity can start once the previous dependent activities are over.
● Earliest finish time (EF) - ES + activity duration.
● Latest finish time (LF) - The latest time an activity can finish without delaying the project.
● Latest start time (LS) - LF - activity duration.

The float time for an activity is the time between the earliest (ES) and the latest (LS) start time or between the earliest (EF)
and latest (LF) finish times.

During the float time, an activity can be delayed without delaying the project finish date.

The critical path is the longest path of the network diagram. The activities in the critical path have an effect on the deadline
of the project. If an activity of this path is delayed, the project will be delayed.

In case if the project management needs to accelerate the project, the times for critical path activities should be reduced.
Key Steps in Critical Path Method

Step 6: Critical path diagram to show project progresses

Critical path diagram is a live artefact. Therefore, this diagram should be updated with actual values once the task is
completed.

This gives more realistic figure for the deadline and the project management can know whether they are on track regarding
the deliverables.
Forward Pass and Backward Pass in Project Scheduling

● Forward pass:
This is used to calculate early start (ES) and early finish (EF) dates by using a previously specified
start date. ES is the highest EF value from immediate predecessors, whereas EF is ES + duration.
The calculation starts with 0 at the ES of the first activity and proceeds through the schedule.
Determining ES and EF dates allows for early allocation of resources to the project.

● Backward pass:
This is used to calculate late start (LS) and late finish (LF) dates. LS is LF - duration, whereas LF is
the lowest LS value from immediate successors. The calculation starts with the last scheduled
activity and proceeds backward through the entire schedule.
Guidelines For CPM Network Construction
1. The starting event and ending event of an activity are called tail event and
head event, respectively
2. The network should have a unique starting node (tail event)
3. The network should have a unique completion node (head event)
4. No activity should be represented by more than one arc in the network.
5. No two activities should have the same starting node and the same ending
node.
CPM Example
From table above
A. Construct the CPM network
B. Determine the critical path and project completion time
C. Compute total floats and free floats for non-critical activities
CPM Network
Critical path
The Critical path of a project network is the longest path in the network.

This can be identified by Simply listing out all the possible paths from the start
node of the project to the end node of the project and then selecting the path with
the maximum sum of activity times on the path

Two Phases needed to find the critical path


● Determines earliest start time (ES) of all the nodes. this is call forward pass
● Determines latest completion time (LS) of various nudes. this is called backward pass
Determination of earliest start times (ESj)
Determination of Latest Completion times (LCi)
Condition of Critical Path

B->D->H->K->N

Duration = 5+5+6+4+8 = 28
Total floats for non-critical activities
It is the amount of time that the completion time of the activity can be delayed
without affecting the project completion time
Free floats for non-critical activities
It is the amount of time that the activity completion time can be delayed without
affecting the earliest start time of immediate successor activities in the network
Critical Activity
Any critical activity will have zero total float and free float based on this property
we can determine and critical activities from free float and total float
Programme Evaluation and Review Technique (PERT)

● PERT was developed by engineers of the United States Navy while working on the Polaris Missile Program during
1957 – 58.

● Since then, PERT has been in use for various research and development projects which are non – repetitive in
nature.

● Such projects are characterized by an extreme degree of uncertainty both in the development of the system and in
the time duration of various activities.
There are four definitions of time used to estimate project time requirements:

● Optimistic time – The least amount of time it can take to complete a task

● Pessimistic time – The maximum amount of time it should take to complete a task

● Most likely time – Assuming there are no problems, the best or most reasonable estimate of how long it should take
to complete a task.

● Expected time – Assuming there are problems, the best estimate of how much time will be required to complete a
task.
PERT chart

● Sometimes called a PERT diagram, is a project management tool used to schedule, organize and coordinate tasks within a
project.

● It provides a graphical representation of a project's timeline that enables project managers to break down each individual task
in the project for analysis.

● PERT charts are very similar to Gantt charts, though they are structured differently.

● These charts are generally used by project managers exclusively as a way to plan a project timeline with greater accuracy.

● The PERT chart template uses nodes -- drawn as rectangles or circles -- to represent events and milestones throughout the
project. The nodes are connected by vectors -- drawn as lines -- which represent the various tasks that need to be completed.
Here is a list of terms associated with PERT charts:
● Nodes are visual representations of milestones or events within the project. They are drawn as either numbered boxes or
numbered circles.
● Arrows are visual representations of the tasks that occur throughout the project. The direction of the arrow indicates the
sequence of the task. Diverging arrows show that various tasks can be completed at the same time.
● Fast tracking is when tasks and activities are performed simultaneously.
● A PERT event is the point at which one or more tasks are started or completed.
● A predecessor event occurs immediately before some events. A successor event naturally occurs after events.
● Slack is the amount of time a single task can be delayed without harming other tasks or the project as a whole.
● The critical path is the longest -- or most time-consuming -- path from the start to the completion of an event or task.
● Critical path activity refers to a task that does not experience slack.
● Crashing critical path is when the completion time of a task is shortened.
● Lag time refers to the earliest point at which a task can follow another.
● Lead time is the amount of time it should take to complete a task without impacting the following activities.
● Expected time is the best estimation of how long a task will take to complete, taking into consideration any problems or
obstacles that might arise.
● Optimistic time refers to the minimum amount of time it will take to complete a task.
● Pessimistic time is the maximum amount of time it will take to finish a task.
● Most likely time is the best guess of how long a task will take, assuming no problems arise.
How a PERT chart works

When creating a PERT chart, project managers should follow the below steps:
1. Define all activities involved in the project.
2. Consider any dependencies between tasks.
3. Draw nodes and arrows based on the information gathered in the first two steps.
4. Identify the completion time for each task.
A breakdown of a PERT chart

● In the diagram, for example, the tasks between nodes 1, 2, 4, 8 and 10 must be completed in sequence. These are
called dependent or serial tasks.

● The tasks between nodes 1 and 2 and nodes 1 and 3 are not dependent on the completion of one to start the other
and can be undertaken simultaneously. These tasks are called parallel or concurrent tasks.

● Tasks that must be completed in sequence but that don't require resources or completion time are considered to
have event dependency. These are represented by dotted lines with arrows and are called dummy activities.

● For example, the dashed arrow linking nodes 6 and 9 indicates that the system files must be converted before the
user test can take place but that the resources and time required to prepare for the user test -- writing the user
manual and user training -- are on another path.

● Numbers on the opposite sides of the vectors indicate the time allotted for the task.
When to use a PERT chart

PERT charts should be used when a project manager needs to:


● determine the project's critical path in order to guarantee all deadlines are met;
● display the various interdependencies of tasks;
● estimate the amount of time needed to complete the project; and
● prepare for more complex and larger projects.
1. Construct the project network.
2. Find the expected duration & Variance of each activity
3. Find the critical path and expected project completion time.
4. What is the probability of completing the project on or before 22 week.
Expected time
Variance
Calculate Critical path same as CPM take expected time
2.28
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.

● PDM is a technique used for constructing a schedule in which activities are represented by nodes and linked by one
or more logical relationships to show the sequence in which the activities are to be performed.

● This is also known as activity on the node diagrams.


Precedence Diagram Method (PDM) Benefits

There are a lot of benefits that can be obtained by using the PDM. These are:

● Highlights relationships and dependencies among activities to ensure planning efficiency.

● Identifies possible missing activities.

● Helps identify critical activities to ensure better planning.

● Helps develop the overall project schedule.

● Good communication tool for project team members.


The Four Precedence Diagram Methods (PDM)

The PDM has four ways of developing the diagram. These methods are:

● Finish-Start: In this dependency, an activity cannot start before a previous activity has ended. This is the
most commonly used dependency.

● Start-Start: In this dependency, there is a defined relationship between the start of activities.

● Finish-Finish: In this dependency, there is a defined relationship between the end dates of activities.

● Start-Finish: In this dependency, there is a defined relationship between the start of one activity and the end
date of a successor activity. This dependency is rarely used.
Precedence Diagramming Method Calculation Steps

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.
Precedence Diagramming Method Calculation Steps

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.
Precedence Diagramming Method Calculation Steps

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.
Precedence Diagramming Method Calculation Steps
Precedence Diagramming Method Calculation Steps

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 Project Duration

● The schedule is the beating heart of every project. All project managers know how to make one but sometimes you
need to do things quicker without reducing the scope of the project. It’s a good idea for PMs to know some schedule
compression techniques.

● You and your team may be able to save off days, weeks, or months from the project schedule with the proper tips for
doing so. There could be multiple opportunities where the project schedule can be reduced. As a project manager, it
will be your responsibility to find them and help the team to implement changes.

● If you can plan ahead, fast-track tasks, and understand where slack time can be utilized, you’ll be able to hand in the
deliverables early. No longer are project managers going to have to fight back unrealistic timelines, instead, they’ll
make them a reality.
5 methods for shortening a project while maintaining consistency.

1. Define project deliverables and expectations before the project start date

Before you put together your team and start work on a project, you’ll need to plan. During the planning stages of the project,
you will be able to identify areas where processes can be streamlined. At this point, you’ll set the key factors of the project
including the general design, project deliverables, and expected work rate.

If the project manager can plan ahead and work out these key factors it means the team can get started as soon as the
project begins. Otherwise, the team may have to figure out things like high-level requirements and the general design which
slows them down at the start.

2. Understand the critical path

The critical path is essential for deciding how long a project will take. So it makes sense that if you want a method for
shortening a project schedule you should take a look at the critical path.

If you’re unsure what the critical path is, it’s the sequence of events that must occur from the start of the project until it is
finished. In order to finish a project early, you’ll need to identify ways to shorten the critical path. Likewise, if the critical path
is extended then the project will be delayed past the due date.
5 methods for shortening a project while maintaining consistency.

3. Implement Agile methodologies

Agile is a framework for projects that was created for software development. The methodologies can be applied to lots of
industries and are perfect for team-based projects. The main way it’s used for projects is by breaking them down into 2-4
week sprints.

Sprints are led by the product owner and supported by a Scrum Master who will be the most knowledgeable in Agile. Agile
likes change and it’s well suited for teams to switch up how they work and learn as they go.

Sprints will consist of a variety of meetings such as:

● Sprint Backlog: This meeting will analyze the deliverables for the sprint based on the product backlog.
● Daily Scrum: The daily scrum will be a 15-30 minute standup meeting led by the Scrum Master.
● Sprint Review: The team will gather at the end of the sprint with the product owner and other stakeholders.
● Sprint Retrospective: This meeting is about analyzing the previous sprint for inefficiencies. The goal is to
improve the next sprint and make processes easier for teams.
5 methods for shortening a project while maintaining consistency.

4. Remove certain dependencies to fast-track work


It’s natural to plan your projects as a series of tasks to be done one after the other. The next task can’t start until its
predecessor has been completed. In many instances this is logical and that helps you to define the critical path.

In other instances, they could be false dependencies and the tasks could actually be done in parallel with each other. If you
can account for the overlap in work you may be able to save days off the project.

One other way to remove dependencies is to reconsider what needs approval. Red tape like that can delay projects while
waiting for things like designs to be approved. Even if the approval happens on time, the wait for it is time wasted and time
that can be saved from your project schedule.

5. Make good use of slack time


As a project manager, you’ll need to find slack in the schedule and minimize where possible. Slack time refers to places in
the schedule where tasks can be delayed without affecting the due date of the project. You may be tempted to hide slack
time from your clients but this can have an adverse effect.

Slack will exist in any project but if you can identify it, you can start being more productive with that time. If you know that
one of your team members will have some free time in their schedule, ask them to do additional tasks. You can also deploy
team members to other areas to work on tasks in the critical path.
Critical Activities

● The term critical activity refers to any particular schedule activity that happens to be part of a critical path that takes
place within a project schedule.

● 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.
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.

You might also like