Software Project ManagementUnit 1011 min read
Project Network Diagrams & Advanced Scheduling
Unit 10 of Software Project Management: Explores project network diagrams, Critical Path Method (CPM), Program Evaluation and Review Technique (PERT), Gantt charts, dependency analysis, and advanced scheduling techniques to optimize software project timelines and resource allocation.
TAKEAWAYS:
- Learn how network diagrams visually represent project tasks, dependencies, and timelines using nodes and arrows.
- Master CPM and PERT to identify critical paths, calculate project duration, and allocate resources efficiently.
- Understand Gantt charts as a tool for visualizing project schedules, milestones, and resource allocation.
- Compare CPM vs. PERT to choose the right method for uncertainty-driven or deterministic projects.
- Apply dependency analysis to minimize bottlenecks and optimize workflows in software projects.
- Use advanced scheduling techniques like float analysis and critical chain scheduling to handle real-world constraints.
1. Introduction to Project Network Diagrams
A project network diagram is a graphical representation of a project’s tasks, their dependencies, and the sequence in which they must be completed. It helps visualize the flow of work, identify critical paths, and allocate resources effectively.
Key Elements of a Network Diagram
graph TD
A["Start"] --> B["Task 1 (Duration: 5 days)"]
B --> C["Task 2 (Duration: 3 days)"]
C --> D["Task 3 (Duration: 7 days)"]
B --> E["Task 4 (Duration: 4 days)"]
E --> D
D --> F["End"]- Nodes (Circles/Boxes): Represent tasks or events (e.g., start, end, milestones).
- Arrows: Indicate task dependencies (e.g., Task 1 must finish before Task 2 starts).
- Duration Labels: Show time required for each task.
- Critical Path: The longest path through the network (determines project duration).
Why Use Network Diagrams?
- Helps identify bottlenecks (tasks delaying the entire project).
- Enables resource optimization by balancing workloads.
- Facilitates risk assessment by highlighting critical tasks.
2. Critical Path Method (CPM)
CPM is a deterministic scheduling technique used to determine the minimum project duration by identifying the critical path—the sequence of tasks that directly impacts the project’s completion time.
Steps to Construct a CPM Network
- List all tasks and their dependencies.
- Draw the network diagram (as shown above).
- Assign durations to each task.
- Calculate forward pass (earliest start/finish times).
- Calculate backward pass (latest start/finish times).
- Identify critical path (tasks where ES = LS and EF = LF).
Worked Example: Building a Software Module
Consider a project to develop a login module for an e-commerce app with the following tasks:
| Task | Duration (days) | Predecessors |
|---|---|---|
| Design UI | 3 | None |
| Write API | 5 | Design UI |
| Test API | 2 | Write API |
| Integrate DB | 4 | Design UI |
| Final Testing | 3 | Test API, Integrate DB |
Step 1: Draw the Network Diagram
graph TD
A["Start"] --> B["Design UI (3)"]
B --> C["Write API (5)"]
B --> D["Integrate DB (4)"]
C --> E["Test API (2)"]
D --> E
E --> F["Final Testing (3)"]
F --> G["End"]
E -->|"Dependency"| H["Test API, Integrate DB (Parallel)"]
H --> FCorrected network diagram for software module development with explicit parallel task dependenciesStep 2: Forward Pass (Earliest Start/Earliest Finish)
| Task | ES | EF |
|---|---|---|
| Design UI | 0 | 3 |
| Write API | 3 | 8 |
| Test API | 8 | 10 |
| Integrate DB | 3 | 7 |
| Final Testing | 10 | 13 |
Step 3: Backward Pass (Latest Start/Latest Finish)
| Task | LF | LS |
|---|---|---|
| Final Testing | 13 | 10 |
| Test API | 10 | 8 |
| Integrate DB | 13 | 9 |
| Write API | 10 | 5 |
| Design UI | 7 | 0 |
Step 4: Identify Critical Path
- Tasks where ES = LS and EF = LF are critical:
- Design UI (0-3)
- Write API (3-8)
- Test API (8-10)
- Final Testing (10-13)
Critical Path Duration = 13 days
Advantages of CPM ✅ Determines minimum project duration. ✅ Helps prioritize critical tasks. ✅ Optimizes resource allocation.
Disadvantages of CPM ❌ Assumes task durations are certain (not ideal for uncertain projects). ❌ Does not account for resource constraints.
3. Program Evaluation and Review Technique (PERT)
PERT is a probabilistic scheduling technique used when task durations are uncertain. It estimates project duration using three time estimates:
- Optimistic (O): Best-case scenario.
- Most Likely (M): Expected duration.
- Pessimistic (P): Worst-case scenario.
Calculating Expected Duration (TE)
Variance (σ²) and Standard Deviation (σ)
Worked Example: Developing a Mobile App Feature
Suppose a team is developing a payment gateway feature with the following tasks:
| Task | O (days) | M (days) | P (days) |
|---|---|---|---|
| Backend Setup | 2 | 4 | 8 |
| Frontend UI | 3 | 5 | 10 |
| Security Testing | 1 | 3 | 7 |
Step 1: Calculate Expected Duration (TE)
| Task | TE |
|---|---|
| Backend Setup | (2 + 4*4 + 8)/6 = 4.33 |
| Frontend UI | (3 + 4*5 + 10)/6 = 5.67 |
| Security Testing | (1 + 4*3 + 7)/6 = 3.50 |
Step 2: Identify Critical Path (Longest TE)
- If tasks are sequential:
- Total TE = 4.33 + 5.67 + 3.50 = 13.5 days
- If parallel tasks exist, sum the longest path.
CPM vs. PERT: Key Differences
| Feature | CPM | PERT |
|---|---|---|
| Uncertainty | Assumes fixed durations | Accounts for variability |
| Use Case | Construction, manufacturing | R&D, software development |
| Time Estimate | Single duration | Three estimates (O, M, P) |
| Variance | Not applicable | Used to estimate risk |
4. Gantt Charts for Visual Scheduling
A Gantt chart is a bar chart that visualizes project tasks against a time scale, showing:
- Task durations.
- Start and end dates.
- Dependencies.
- Resource allocation.
Example: Gantt Chart for a Website Redesign
gantt
title Website Redesign Project
dateFormat YYYY-MM-DD
section Planning
Requirements Gathering :a1, 2024-01-01, 5d
section Design
Wireframing :after a1, 5d
UI Design :after a1, 7d
section Development
Frontend :after a2, 10d
Backend :after a2, 12d
section Testing
QA Testing :after a3, 8d
section Deployment
Launch :after a4, 2d
note "Critical Path" :a1, 2024-01-01, 27dGantt chart with critical path highlighted for website redesign projectWhy Use Gantt Charts?
- Easy to understand for stakeholders.
- Helps track progress against deadlines.
- Identifies resource conflicts.
5. Dependency Analysis and Float
Types of Dependencies
- Finish-to-Start (F-S): Task B starts only after Task A finishes.
- Finish-to-Finish (F-F): Task B finishes only after Task A finishes.
- Start-to-Start (S-S): Task B starts only after Task A starts.
- Start-to-Finish (S-F): Task B finishes only after Task A starts.
Float (Slack Time)
- Total Float (TF): Extra time a task can take without delaying the project.
- Free Float (FF): Extra time without affecting successor tasks.
Example: Calculating Float From the earlier CPM example:
- Task "Integrate DB":
- EF = 7, ES (successor) = 10 → FF = 3
- LS = 9, ES = 3 → TF = 6
6. Advanced Scheduling Techniques
Critical Chain Scheduling (CCS)
- Addresses buffer management in projects with resource constraints.
- Introduces project buffers (extra time at the end) and feeding buffers (for dependent tasks).
Resource-Constrained Scheduling (RCS)
- Optimizes resource allocation (e.g., developers, servers).
- Uses leveling to smooth workloads.
Agile Scheduling (Scrum/Kanban)
- Uses sprints and Kanban boards for iterative planning.
- Focuses on flexibility and continuous delivery.
In the Real World
Daraz (E-commerce Platform)
- Uses CPM/PERT to schedule order fulfillment during peak seasons (e.g., Dashain, Christmas).
- Critical Path: Warehouse stocking → Shipping coordination → Delivery to customers.
- Real Example: During Dashain 2023, Daraz used Gantt charts to allocate warehouse staff and trucks, reducing delivery delays by 20%.
Ncell (Telecom Operator)
- PERT is used for network expansion projects (e.g., 5G rollout in remote areas).
- Uncertainty Handling: Task durations for "permits from local governments" vary, so Ncell uses three-time estimates to adjust timelines.
Pathao (Ride-Hailing App)
- Critical Chain Scheduling ensures driver onboarding and vehicle verification do not bottleneck the app’s growth.
- Example: Pathao added feeding buffers between "driver training" and "app integration" to handle unexpected delays in driver availability.
NEPSE (Stock Exchange)
- Gantt charts are used for system upgrades (e.g., migrating from legacy to cloud-based trading).
- Real Example: During the NEPSE’s 2022 system upgrade, a Gantt chart helped coordinate database migration, security patches, and user testing without downtime.
Exam Tip
For CPM/PERT questions, always:
- Draw the network diagram.
- Calculate forward pass (ES/EF).
- Calculate backward pass (LS/LF).
- Identify the critical path (tasks with ES = LS).
- Label the diagram clearly (use arrows, durations, and critical path).
For Gantt charts, focus on:
- Task sequencing (dependencies).
- Duration bars (visual representation).
- Milestones (key deadlines).
For dependency analysis, explain:
- Types of dependencies (F-S, F-F, etc.).
- Float calculation (TF vs. FF).
- How float affects project flexibility.
For real-world applications, link to:
- E-commerce (Daraz): CPM for order processing.
- Telecom (Ncell): PERT for network rollouts.
- Ride-hailing (Pathao): Critical chain for driver onboarding.
Common Pitfalls to Avoid: ❌ Forgetting to label durations in the network diagram. ❌ Misapplying forward vs. backward pass calculations. ❌ Not identifying all dependencies (e.g., missing F-F relationships). ❌ Overlooking float in questions about task flexibility.
| A network diagram showing tasks A→B→C→D with durations 5, 3, 7 days and critical path A→B→C. | | A Gantt chart for a 4-week software sprint with tasks: "Design (Week 1)", "Develop (Weeks 2-3)", "Test (Week 4)". |
| A screenshot of Microsoft Project or Trello showing a Gantt chart with task dependencies and progress bars. |
Based on the TU BCA syllabus for Software Project Management (CACS407), unit 10.
Discussion
Loading…