Lect 4 A
Lect 4 A
Size Staffing
Estimation Estimation
Duration
Estimation Scheduling
2
Scheduling
• Scheduling the project tasks is an
important project planning activity.
• Scheduling involves deciding which
tasks would be taken up when.
In what sequence a set of activities will be performed.
When they should start and be completed.
3
Scheduling
To schedule a project, the project manager
needs to do:
• Identify all tasks needed to complete the project.
• Break down large tasks into small activities.
• Determine the dependency among different activities.
• Establish the most likely estimates for the time
durations necessary to complete the activities.
• Allocate resources to activities.
• Plan the starting and ending dates for various
activities.
• Determine the critical path. A critical path is the chain
of activities that determines the duration of the project.
4
Work Breakdown Structure
Decomposing a given task set recursively into small
activities. The root is named with problem name. The
children nodes are the broken down activities. They are
decomposed to leaf-level activities so that it requires two
weeks to get completed.
Advantages:
• Small activities can be distributed to number of
engineers.
• Activity ordering permits, the solution to come
independently.
• Possible to develop the product faster.
• Able to complete a project faster.
• Breaking the jobs into small ones, parallelism is
possible.
5
MIS application
6
ACTIVITY NETWORK DIAGRAM
7
PERT Vs. CPM
PERT was devised to support the
development of the Polaris missile in the
late 1950’s. PERT is an activity-on-node
notation – the ‘nodes’ are the boxes
which represent activities
CPM was developed by Du Pont
Chemical Company who published the
method in 1958. CPM uses an activity-
on-arrow notation where the arrows are
the activities.
8
PERT & CPM
• PERT and CPM are similar in their basic approach, they
do differ in the way activity times are estimated.
9
Probabilistic Time Estimates
• PERT-type approach uses 3 time estimates for
each activity
• Most likely time (tm)
– subjective estimate of most frequent time
• Optimistic time (to)
– shortest possible time (ideally)
• Pessimistic time (tp)
– longest time possible if everything went wrong
10
PERT vs CPM
Do B
PERT
Do A Do D
Do C
CPM
Do B
Do A
Do D
Do C
11
Both PERT and CPM
• Graphically display the precedence relationships
& sequence of activities
• Estimate the project’s duration
• Identify critical activities:
– Activitiesthat cannot be delayed without delaying
the project
• Estimate the amount of slack associated with
non-critical activities
12
Comparison Between CPM and PERT
CPM PERT
1 Uses network, calculate float or slack, identify
critical path and activities, guides to monitor Same as CPM
and controlling project
3 Used where times can be estimated with Used where times cannot be estimated with
confidence, familiar activities confidence.
Unfamiliar or new activities
5 Example: construction projects, building one Example: Involving new activities or products,
off machines, ships, etc research and development etc
13
CPM/PERT
• Over time, CPM and PERT merged into one
technique:
– referred to as "CPM/PERT".
• Visually easier to see precedence
relationships
• Ideal for large projects with many activities
– Consist of a network of branches and nodes
14
Sample Usage of PERT & CPM
• Completion date?
• Critical activities?
16
PERT Charts
•PERT = Project Evaluation and Review Technique
•PERT chart = graphical representation of the scheduling of events in a project
•Sample PERT Chart:
6
3 E
10
B 3 13
2 6
0 A 4 13
1 4 2 F
0 4 C 7 10
D 3
3 4 5
7 3 10
•A PERT chart is a graph
– Edges are tasks/activities that need to be done
– Nodes are the events or milestones
•Task edge T from event node E1 to event node E2 signifies:
– Until event E1 happens, task T cannot be started
– Until task T finishes, event E2 cannot happen
•Events often simply represent completion of tasks associated with arrows entering
it 17
PERT Chart Event Nodes
Event Number:
Sequence number assigned Earliest Completion Time
(ECT) or ES (Earliest Start):
Only task edges indicate
9 Earliest time this event can be
dependencies 5 achieved, given durations and
19 dependencies
19
Calculating LCT or LF
• LCT = latest time event can be completed, while still finishing last task at indicated
time, To calculate:
– For an event which no other events depend on: LCT = ECT
• Generally there will only be one such event
– For an event E which one or more others depend on:
• Calculate LCTs of event(s) that depend on E
• Subtract duration(s) of task(s) leading from E
• If more than one event depends on E, take MINIMUM
• Proceed right to left ( ) through PERT chart
20
Critical Path
Red line is the critical path A critical path for the network is a
path consisting of activities with zero slack.
What does it represent? And it is always the longest path in the
project network.
21
Critical Path Method
• WBS representation of a project is transformed into an
Activity network along with their interdependencies.
• An activity network shows the different activities making
up a project, their estimated durations,
interdependencies.
22
Job Job Description Predecessor Normal Time (days)
A Analysis-1 & SRS-1 - 10
B Analysis-2 - 5
C SRS-2 B 3
D GUI Design A, C 4
E DB Design A, C 5
F GUI Coding & Unit Testing D 6
G DB Coding & Unit Testing E 5
H Integration & System Testing F, G 5
23
Job Job Description Predecessor Normal Time (days)
A Analysis-1 & SRS-1 - 10
B Analysis-2 - 5
C SRS-2 B 3
D GUI Design A, C 4
E DB Design A, C 5
F GUI Coding & Unit Testing D 6
G DB Coding & Unit Testing E 5
H Integration & System Testing F, G 5
ES=14
LF=14
4
D F
ES=0 ES=10 ES=20
LF=0 LF=10 4 6 LF=20
A 5 ES=25
1 3 6 7 LF=25
10 5 H
B 5 3
C E 5
2 G
5
ES2=5
LF=7 ES=15
LF=15
24
ES=14
LF=14
ES=0 ES=10 4 F ES=20
D
LF=0 LF=10 6 LF=20
A 4 5 ES=25
1 10 3 6 H 7
5 3 5 LF=25
B C E 5
2 G
5
ES2=5 ES=15
LF=7 LF=15
Job Expected Earliest Latest Slack Time Remarks
Duration Start-ES Finish-LF (Max.delay)
A 10 0 10 0 Critical
B 5 0 7 2 Non-critical
C 3 5 10 3 Non-critical
D 4 10 14 0 Critical
E 5 10 15 0 Critical
F 6 14 20 0 Critical
G 5 15 20 0 Critical
H 5 20 25 0 Critical
If all the jobs are done at their normal times, the project duration
(length of the longest path) is 25 days.
26
Example: network
Backward LF
Forward
ES
6 20
6 19
D
2 5 5
J
1 6
0 A
6 E H 3 23
13
1 C 3
4 7
0 4 F 5
13 5
B 4 I 23
K
2
3 6
G
9 18
9 18
27
Example: ABC Associates
• Earliest/Latest Times
Activity time ES EF LS LF Slack
A 6 0 6 0 6 0 *critical
B 4 0 4 5 9 5
C 3 6 9 6 9 0 * EF = ES + t
D 5 6 11 15 20 9 LS = LF – t
E 1 6 7 12 13 6 Where t is the
F 4 9 13 9 13 0*
G 2 9 11 16 18 7 Activity time
H 6 13 19 14 20 1
I 5 13 18 13 18 0* Slack = LF – EF
J 3 19 22 20 23 1 = LS - ES
K 5 18 23 18 23 0*
– The estimated project completion time is the Max EF at node 7 = 23.
28
PERT Chart (Program Evaluation Review Technique)
Ex: Consider a project consisting of 9 jobs (A, B, …I) with
the following relations and time estimates.
Job Predecessor Optimistic Most probable Pessimistic
Time(to) Time(tm) Time (tp)
A -- 2 5 8
B A 6 9 12
C A 6 7 8
D B,C 1 4 7
E A 8 8 8
F D,E 5 13 17
G C 3 12 21
H F, G 3 6 9
I H 5 8 11
29
t o 4t m t p
Expected Time = te =
6
31
Job Average time Standard Variance
deviation
A 5 1 1
B 9 1 1
C 7 1/3 1/9
D 4 1 1
E 8 0 0
F 13 2 4
G 12 3 9
H 6 1 1
I 8 1 1
First we compute the average time from the three times given in
previous table and the variance for each one of the jobs. They are
tabulated in above table. Figure in the next slide gives the project
network, where the numbers on the arcs indicate the average job times.
Using the average job times, the earliest and latest times of each event
are calculated.
32
(12, 14)
3
G
C
7 12
A B D F H I
1 2 4 5 6 7 8
9 4 G 13 8
5 6
(0, 0) (5, 5) (14, 14) (18, 18) (31, 31) (37, 37) (45, 45)
E
8
34
Example
35
Example
Task appeared on the calculated critical path are marked out with red color. This way any person is able
to see at once tasks which require special attention.
36
Gantt Chart
This technique of using special type of bars representing
activities has been developed by Henry Gantt and named as
Gantt chart.
The Gantt chart is also known as Time-line chart.
It is a useful used to allocate resources to various activities.
Each bar, an activity, is drawn against a time line.
The shaded part of the bar is the estimated time and the white
part of the bar is called the slack time by which the activity
has to finish. Therefore the shaded part can be shifted, if
necessary, to any part to extent of the white bar limitation.
38
Acitivity Code Description Duration (Wk) Preceedence
A Requirement analysis 1 -
B Design database 2 A
C Interface design 1.5 A
D Write SQL code for DB 2 B, C
E Write code for interface 1.5 C
F Integration and testing 5 D, E
G Documentation 1.5 A
39
Requirement analysis
A
Design Database
C
T Interface Design
I
V Write SQL Code for Database
I
T Write Code for Interface
I Integration and Testing
E
S
Documentation
1 2 3 4 5 6 7 8 9 10 11 weeks
40
Gantt Charts
Establish a time-phased network
Can be used as a tracking tool
42
Risk Identification
Early Risk identification is important. The project
manager can examine the diff. classes of risks.
•Project risks
concerns about budgets, schedule, personnel,
resource, customer related problems
•Technical risks
potential design, implementation, interfacing, testing,
and maintenance, ambiguous specification,
changing specification, technical uncertainty, technical
obsolescence
•Business risk
building an excellent product that no one wants,
losing budgetary commitments
43
Risk Assessment
Rank the risks in terms of their damage causing potential
r = likelihood of a risk becoming real (probability)
s = sequence of problems associated (severity of
damage caused due the risk becoming real)
p = priority of risk = r * s
If all the identified risks are priortised, then most likely the
damaging risks can be handled and risk abatement
procedure can be designed to handle the risks.
44
Risk Mitigation
•Avoid the risk
Process related risks (work schedule, budget, resource
utilization)
•Transfer risk
(development by third party, insurance cover)
•Risk reduction
(consider the cost handling risk and the corresponding
reduction of risk, compute risk coverage)
45
Software Change Management
• refers to the process of managing changes in software
applications and systems.
• It ensures that changes are introduced in a controlled and
coordinated manner, minimizing disruptions and maintaining
system integrity.
• This process is crucial for maintaining software quality and
reliability, especially in complex and large-scale systems.
• helps organizations adapt to new requirements, fix bugs, and
improve system functionality while minimizing risks and
ensuring system stability.
• It is a crucial part of software development and IT operations,
particularly in environments that require high reliability and
security.
Key aspects of Software Change
Management
• Change Request: originate from various sources, such as
customers, developers, or stakeholders. It typically describes the
desired change, its purpose, and any expected benefits.
• Change Evaluation: Before implementation, changes are
evaluated based on their impact, feasibility, and risks. This step often
involves a review by a change control board (CCB)
• Prioritization and Scheduling: Approved changes are
prioritized and scheduled based on factors like urgency, impact, and
available resources. This helps in efficient resource allocation and
planning.
• Implementation: The actual implementation of changes
involves modifying the software code, configuration, or infrastructure.
• Testing and Validation: Changes are thoroughly tested to
ensure they work as intended
Key aspects of Software Change
Management
• Documentation: Proper documentation is crucial for
understanding the changes made, including the reason for the change,
and the expected outcome. This helps in future maintenance and audits.
• Monitoring and Review: After deployment, the changes are
monitored to ensure they operate as expected. Any issues that arise are
addressed promptly.
• Rollback and Contingency Planning: In case a change
causes issues, a rollback plan should be in place.
• Communication and Training: Stakeholders, including end-
users, developers, and support teams, should be informed about the
changes. Clear communication ensures everyone is aware of new
features, or new procedures.
Software Configuration Management (SCM)
• SCM is a discipline within software engineering that
focuses on controlling and managing changes to
software products throughout their lifecycle.
1. Configuration Identification
– Definition: Identifying configurations, cofiguration items and baselines.
This includes source code files, libraries, documentation, and
configuration files.
– Configuration – A collection of all the elements of a baseline and a
description of how they fit together
– Configuration item (CI) refers to the fundamental structural unit of a
configuration management system. A collection of software elements
treated as a unit for the purposes of SCM.
– Baselines: It is an agreed description of the attributes of a product, at a
point in time, which serves as a basis for defining change. A change is a
movement from this baseline state to a next state. The identification of
significant changes from the baseline state is the central purpose of
baseline identification. A baseline is a reference point.
Configuration Identification
It involves deciding which parts of the system should be
kept track of it
•Requirement specification document
•Design document
•Tools used to build the system (compilers, linkers, lexical
analysers, parsers)
•Source code for each module
•Test cases
•Problem reports
Configuration management plan is written during the
project planning phase. It lists all control objects.
Key Components of SCM
2. Configuration Control
– Definition: The process of managing changes to the software configuration, ensuring
that only approved changes are made. This involves:
• Change Request: Proposals for changes are submitted, documented, and
reviewed.
• Change Control Board (CCB): A group or commitee of stakeholders responsible
for approving or rejecting change requests (based on their impact, necessity, and
feasibility) that are sent against any baseline.
Restoring the changed module to the system configuration requires the permission of
a Change control board (CCB). CCB reviews the changes and certifies
1. Changes is well-motivated
2. Developer has considered and documented
3. Changes interact well with other developers
4. Appropriate people (CCB) have validated change
CCB constitutes the project manager and other senior people in the team.
Configuration control
Configuration control is the process of managing
changes to controlled objects. It allows only authorised
changes to the controlled objects to occur and prevents
authorised changes.
A B A B
C D C D
Cancel
reservation Reserve
Restore
Private copy of
C