0% found this document useful (0 votes)
12 views51 pages

Week 5

The document covers key concepts in software project management, focusing on the 4 Ps: People, Process, Product, and Project, which are essential for successful software engineering. It also discusses project scheduling techniques, including Work Breakdown Structure (WBS), task dependencies, and critical path analysis, along with tools and best practices for effective project management. Real-world examples illustrate the application of these concepts in developing software projects like a video streaming app.

Uploaded by

mugheesulhaq0
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)
12 views51 pages

Week 5

The document covers key concepts in software project management, focusing on the 4 Ps: People, Process, Product, and Project, which are essential for successful software engineering. It also discusses project scheduling techniques, including Work Breakdown Structure (WBS), task dependencies, and critical path analysis, along with tools and best practices for effective project management. Real-world examples illustrate the application of these concepts in developing software projects like a video streaming app.

Uploaded by

mugheesulhaq0
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

Software Engineering (CC-281

/CC-2101)
Fall’24
Lecture # 09-10

Instructor
Rida Ayesha

1
Lecture # 09-10 Agenda

● CHAPTER : 31 (Roger S. Pressman Book)


● Project Management Concepts
o The Management Spectrum (4 Ps)

● CHAPTER : 34 (Roger S. Pressman Book)


● Project Scheduling
o The CPM

2
The Management Spectrum (4 Ps)
● Purpose: The 4 Ps framework helps in managing projects
effectively.
● Focus: These 4 key elements guide decision-making and strategy.

1. People
2. Process
3. Product
4. Project

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 3
copyright 2014 by Roger Pressman.
1. People
Definition: Individuals or teams responsible for building, testing, and
maintaining the software.
Key Points:
● Skilled workforce is crucial.
● Team dynamics and collaboration.
● Training and development.
In Software Engineering:
● Developers, testers, managers, and clients.
● Effective communication is essential.

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 4
copyright 2014 by Roger Pressman.
2. Process
● Definition: The structured approach to software development,
from concept to delivery.

● Key Points:
○ Frameworks like Agile, Waterfall, Scrum.
○ Clear workflows and methodologies.
○ Continuous improvement (e.g., CI/CD pipelines).
● In Software Engineering:
○ Defines how the team works and the tools they use.
○ Enhances productivity and ensures quality.

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 5
copyright 2014 by Roger Pressman.
3. Product
Definition: The software or service being developed.
Key Points:
● Clear requirements and user stories.
● Regular updates based on feedback.
● Balancing features with quality.
In Software Engineering:
● Product management ensures vision aligns with user needs.
● Product iterations and customer satisfaction.

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 6
copyright 2014 by Roger Pressman.
4. Project
Definition: The specific initiative or task to build the product.
Key Points:
● Defined scope, budget, and timeline.
● Risk management and mitigation.
● Regular tracking and adjustments.
In Software Engineering:
● Project management ensures deadlines and resources are
optimized.
● Tools like Jira, Trello, and others for tracking progress.

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 7
copyright 2014 by Roger Pressman.
Integrating the 4 Ps in Software
Projects
Balance: All four Ps must align for project success.
People: Empower teams with the right skills.
Process: Streamline for efficiency and adaptability.
Product: Focus on delivering value and quality.
Project: Manage timelines, scope, and risks.

● 4 Ps = Successful Software Engineering Projects


○ Focus on the right People, effective Processes, a valuable
Product, and well-managed Projects.

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 8
copyright 2014 by Roger Pressman.
Real-World Example: Developing a
Video Streaming App
People:

● Developers, UI/UX designers, testers, project managers.

Process:

● Iterative development through spirals with planning, risk analysis, and prototypes at each
cycle.

Product:

● Video streaming app with features like video upload, streaming, user authentication, and
recommendations.

Project:

● Phases: Initial prototype → Testing → Feature expansion → Final delivery.


● Regular risk assessment and updates.
● 9-month timeline with ongoing customer feedback.
These slides are designed to accompany Software Engineering:
A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 9
copyright 2014 by Roger Pressman.
Project Scheduling
The process of organizing tasks, resources, and timeframes to complete
a project within defined constraints.
Project development can be separated into a succession of phases
which are composed of steps, which are composed of activities (Work
Breakdown Structure)

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 10
copyright 2014 by Roger Pressman.
Objectives of Project Scheduling
• Ensure project delivery on time.
• Efficient allocation of resources.
• Manage dependencies between tasks.
• Identify critical tasks and timelines.
• Risk management
• Monitor progress and adjust as needed.

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 11
copyright 2014 by Roger Pressman.
Key Components of Project Scheduling
1. Work Breakdown Structure (WBS): Decomposing a project into
smaller, manageable tasks.
2. Task Dependencies: Understanding relationships (e.g.,
sequential, parallel tasks).
3. Resource Allocation: Assigning human and material resources.
4. Time Estimation: Predicting task durations.
5. Critical Path Analysis (CPA): Identifying the longest path of
dependent tasks.
6. Milestones and Deadlines: Defining major goals and
timeframes.

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 12
copyright 2014 by Roger Pressman.
Scheduling Tools and Techniques
Gantt Charts: Visual timeline for task tracking.

PERT (Program Evaluation and Review Technique):


● Probabilistic time estimation (optimistic, pessimistic, most
likely).
Critical Path Method (CPM): Focus on critical tasks.

Software Tools:
● Microsoft Project, JIRA, Trello, Monday.com, etc.

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 13
copyright 2014 by Roger Pressman.
Challenges in Project Scheduling
• Inaccurate time estimates.
• Resource conflicts.
• Managing dependencies.
• Changes in scope (scope creep).
• Risks and uncertainties.

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 14
copyright 2014 by Roger Pressman.
Best Practices in Project Scheduling
1. Involve the Team: Collaborative task definition and estimation.
2. Break Down Complex Tasks: Use WBS for clarity.
3. Prioritize Critical Tasks: Focus on the critical path.
4. Buffer Time: Account for uncertainties.
5. Regular Updates: Adjust the schedule based on progress and
feedback.

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 15
copyright 2014 by Roger Pressman.
Project Scheduling: Work Breakdown
Structure (WBS)
A Work Breakdown Structure (WBS) is a tool used to break a project
into smaller, manageable parts.
● Purpose: Helps organize tasks, assign responsibilities, and track
progress.
Example:
● Project → Build a house
○ Level 1: Foundation, Interior, Exterior
○ Level 2: Excavation, Frame, ….

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 16
copyright 2014 by Roger Pressman.
Example of Work Breakdown
Structure (WBS)

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 17
copyright 2014 by Roger Pressman.
Project Scheduling: Work Breakdown
Structure (WBS)

Table 3.1 shows the


Work Breakdown Structure (WBS)
phases, steps and
activities to build a
house
Phase 1: Landscaping
phase
Phase 2: Building the
house phase

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 18
copyright 2014 by Roger Pressman.
Project Scheduling: Milestones

Table 3.2 lists milestones


for building the house
phase

Milestones

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 19
copyright 2014 by Roger Pressman.
WBS and Activity Graphs
Work breakdown structure depicts the project as a set of discrete
pieces of work
Activity graphs depict the dependencies among activities
a. Nodes: project milestones
b. Lines: activities involved

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 20
copyright 2014 by Roger Pressman.
Activity graph for building a house

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 21
copyright 2014 by Roger Pressman.
Activity graph for building a house

Does it tell us: Identify precursor


events
About completion
of the project? 1.1 and 1.2 are
precursor to
Duration of the Excavation activity
project? 2.7, 2.8, 3.4, 3.6?

How can we
modify the graph
to estimate
completion?
Mention duration
of each activity?

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 22
copyright 2014 by Roger Pressman.
Time Estimation

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 23
copyright 2014 by Roger Pressman.
Time Estimation

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 24
copyright 2014 by Roger Pressman.
Estimating Completion: Critical Path Method

• Minimum amount of time required to complete a project


• Reveals those activities that are most critical to completing the
project on time
• Real time (actual time): estimated amount of time required for the
activity to be completed
• Available time: amount of time available in the schedule for the
activity's completion
• Slack time: the difference between the available time and the real time
for that activity

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 25
copyright 2014 by Roger Pressman.
Critical Path Method

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 26
copyright 2014 by Roger Pressman.
Estimating Completion: Critical Path Method
(Class Activity 04)
Number Activity Predecessor Duration

1 Design house and obtain financing -- 3 months

2 Lay foundation 1 2 months

3 Order and receive materials 1 1 month

4 Build house 2,3 3 months

5 Select paint 2, 3 1 month

6 Select carpet 5 1 month

7 Finish work 4, 6 1 month

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 27
copyright 2014 by Roger Pressman.
The Project Network
Activity Scheduling in Activity-on-Node
Configuration
■ ES is the earliest time an activity can start: ES Duration EF
ES = 0 (for first node only)
Activity Number
ES = Maximum {EF immediate predecessors}
■ EF is the earliest start time plus the activity time: LS Slack LF

EF = ES + t
Example:
● If Activity A finishes at EF = 10 and Activity B finishes at EF = 12, and
Activity C depends on both, Activity C's earliest start would be max(10, 12)
= 12.
In summary, we select the maximum EF during the forward pass to ensure that
all dependencies are respected, and each activity begins at the earliest possible
time without violating any constraints.
These slides are designed to accompany Software Engineering:
A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 28
copyright 2014 by Roger Pressman.
The Project Network
Activity Scheduling in Activity-on-Node
Configuration
■ LF is the latest finish time: ES Duration EF
LF = EF (for last node only)
LF = Minimum {LS following activities} Activity Number

LS Slack LF
■ LS is the latest time an activity can start without
delaying critical path time:
LS = LF - t
Let’s assume Activity A has two successors, Activity B and Activity C:

● Activity B has LF = 15 and takes 5 days to complete, so its LS = 15 - 5 = 10.


● Activity C has LF = 12 and takes 3 days to complete, so its LS = 12 - 3 = 9.

Now, Activity A must finish before both B and C can start. The LS for Activity A would be the minimum of the LS
values of B and C:

● min(10, 9) = 9

This ensures that Activity A finishes early enough to allow both B and C to complete on time. If Activity A started
later than this, either Activity B or C would be delayed.
These slides are designed to accompany Software Engineering:
A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 29
copyright 2014 by Roger Pressman.
Drawing Network Diagram

Start 01

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 30
copyright 2014 by Roger Pressman.
Drawing Network Diagram

02

Start 01

03

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 31
copyright 2014 by Roger Pressman.
Drawing Network Diagram

2
3
02
04
3

Start 01
1
1
05
03

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 32
copyright 2014 by Roger Pressman.
Drawing Network Diagram

2
3
02
04
3

Start 01
1
1
05
03

06

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 33
copyright 2014 by Roger Pressman.
Drawing Network Diagram

2
3
02
04
3

Start 01 1

1 07 Finish
1
05
03

06

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 34
copyright 2014 by Roger Pressman.
The Project Network : The Critical Path

The critical path is the longest path through the network; the minimum time the
network can be completed.

From Network Diagram:

Path A: 1 → 2 → 4 → 7 3 + 2 + 3 + 1 = 9 months

Path B: 1 → 2 → 5 → 6 → 7 3 + 2 + 1 + 1 + 1= 8 months

Path C: 1 → 3 → 4 → 7 3 + 1 + 3 + 1 = 8 months

Path D: 1 → 3 → 5 → 6 → 7 3 + 1 + 1 + 1 + 1 = 7 months

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 35
copyright 2014 by Roger Pressman.
The Project Network
Activity Scheduling : Earliest Times /
Forward Pass
2
3
02
04
0 3 3

Start 01 1
1 Finish
1 07
05
03

06

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 36
copyright 2014 by Roger Pressman.
The Project Network
Activity Scheduling : Earliest Times /
Forward Pass
3 2 5
3
02
04
0 3 3

Start 01 1
1 Finish
3 1 4 07
05
03

06

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 37
copyright 2014 by Roger Pressman.
The Project Network
Activity Scheduling : Earliest Times /
Forward Pass
3 2 5
5 3 8
02
04
0 3 3

Start 01 1
5 1 6 Finish
3 1 4 07
05
03

06

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 38
copyright 2014 by Roger Pressman.
The Project Network
Activity Scheduling : Earliest Times /
Forward Pass
3 2 5
5 3 8
02
04
0 3 3

Start 01 1
5 1 6 Finish
3 1 4 07
05
03

6 1 7

06

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 39
copyright 2014 by Roger Pressman.
The Project Network
Activity Scheduling : Earliest Times /
Forward Pass
3 2 5
5 3 8
02
04
0 3 3

Start 01 8 1 9
5 1 6 Finish
3 1 4 07
05
03

6 1 7

06

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 40
copyright 2014 by Roger Pressman.
The Project Network
Activity Scheduling : Latest Times /
Backward Pass
3 2 5
5 3 8
02
04
0 3 3

Start 01 8 1 9
5 1 6 Finish
3 1 4 07
05
03 8 9

6 1 7

06

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 41
copyright 2014 by Roger Pressman.
The Project Network
Activity Scheduling : Latest Times /
Backward Pass
3 2 5
5 3 8
02
04
0 3 3
5 8
Start 01 8 1 9
5 1 6 Finish
3 1 4 07
05
03 8 9

6 1 7

06

7 8

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 42
copyright 2014 by Roger Pressman.
The Project Network
Activity Scheduling : Latest Times /
Backward Pass
3 2 5
5 3 8
02
04
0 3 3
5 8
Start 01 8 1 9
5 1 6 Finish
3 1 4 07
05
03 8 9
6 7

6 1 7

06

7 8

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 43
copyright 2014 by Roger Pressman.
The Project Network
Activity Scheduling : Latest Times /
Backward Pass
3 2 5
5 3 8
02
04
0 3 3 3 5
5 8
Start 01 8 1 9
5 1 6 Finish
3 1 4 07
05
03 8 9
6 7
4 5

6 1 7

06

7 8

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 44
copyright 2014 by Roger Pressman.
The Project Network
Activity Scheduling : Latest Times /
Backward Pass
3 2 5
5 3 8
02
04
0 3 3 3 5
5 8
Start 01 8 1 9
0 3 5 1 6 Finish
3 1 4 07
05
03 8 9
6 7
4 5

6 1 7

06

7 8

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 45
copyright 2014 by Roger Pressman.
The Project Network: Activity Slack Time
■ Slack is the amount of time an activity can be delayed without delaying the
project: S = LS – ES = LF - EF
■ Slack Time exists for those activities not on the critical path for which the
earliest and latest start times are not equal.

Activity LS ES LF EF Slack, S
*1 0 0 3 3 0
*2 3 3 5 5 0
3 4 3 5 4 1 *Critical
*4 5 5 8 8 0 path

5 6 5 7 6 1
6 7 6 8 7 1
*7 8 8 9 9 0
The Project Network
Activity Slack Time: Critical Path

3 2 5
5 3 8
02
04
0 3 3 3 0 5
5 0 8
Start 01 8 1 9
0 0 3 5 1 6 Finish
3 1 4 07
05
03 8 0 9
Critical Path: 6 1 7
4 1 5

1→2→4→7 6 1 7

06
3 + 2 + 3 + 1 = 9 months
7 1 8

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 47
copyright 2014 by Roger Pressman.
CPM Gantt Chart (MS Project)

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 48
copyright 2014 by Roger Pressman.
Tracking Resource Allocation (MS Project)

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 49
copyright 2014 by Roger Pressman.
Question
• Draw the Network diagram and Calculate Critical path using
Forward/Backward Pass.

These slides are designed to accompany Software Engineering:


A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 50
copyright 2014 by Roger Pressman.
Solution
3 4 7
7 5 12
B
D
0 3 3 3 0 7
7 0 12 12 4 16 16 3 19
Start A
G H
0 0 3 5 1 6
3 2 5 12 0 16 16 0 19
E
C
11 6 12
Finish
9 6 11

5 2 7
Critical Path: F

14 9 16
A→B→D→G→H

3 + 4 + 5 + 4 + 3 = 19 days
These slides are designed to accompany Software Engineering:
A Practitioner’s Approach, 8/e (McGraw-Hill, 2014). Slides 51
copyright 2014 by Roger Pressman.

You might also like