Lesson 1: Waterfall & Gantt Charts
The Process and the Schedule: Waterfall and Gantt Charts
Introduction to the Software Development Life Cycle (SDLC)
The Software Development Life Cycle (SDLC) is the foundational process for all software engineering projects. Think of it as the roadmap that takes us from an initial idea to a finished, working product.
The core stages are:
Planning
Define what we want to build
Designing
Create blueprints and mockups
Implementing
Write the actual code
Testing
Find and fix bugs
Deploying
Release to users
The Waterfall Methodology
Waterfall is a rigid, sequential development model where each stage must be fully completed before the next begins. It's very structured but inflexible - like water flowing down a waterfall, you can't easily go back upstream!
Characteristics of Waterfall:
- Linear progression through stages
- Detailed documentation at each phase
- No going back once a stage is "complete"
- Good for projects with clear, unchanging requirements
- Problems discovered late are expensive to fix
Dead by Daylight Example: Planning a New Rift/Battle Pass
Imagine Behaviour Interactive is planning the release of a new Rift (Battle Pass). Using the Waterfall methodology, they would need to plan out the entire 8-week development schedule in advance.
A Gantt Chart is the primary visual tool for planning and scheduling a Waterfall project. It shows:
- What tasks need to be done
- When each task starts and ends
- Which tasks depend on others
- The overall project timeline
Sample Gantt Chart: "Haunted by Daylight" Rift Development
| Task | Duration | Timeline (8 Weeks) |
|---|---|---|
| Design Phase Design all 70 tiers of cosmetic rewards |
2 weeks | |
| Art Production 3D artists model and texture rewards |
3 weeks | |
| Implementation Programmers implement rewards in game |
2 weeks | |
| Testing & Deploy Final testing and release |
1 week |
Key Insights from this Gantt Chart:
- Dependencies: Art production can't start until designs are complete
- Critical Path: Any delay in design pushes everything else back
- Resource Planning: Different teams work on different phases
- Risk Identification: If art takes longer than expected, the whole project is delayed
Activity: Create Your Own Gantt Chart
Your Turn: Sketch a simple Gantt chart for adding a new Killer to Dead by Daylight. Consider these tasks:
- Concept design (character background, power ideas) - 1 week
- 3D modeling and animations - 3 weeks
- Programming the killer's unique power - 2 weeks
- Balance testing and bug fixes - 2 weeks
- Public Test Build (PTB) release - 1 week
Questions to consider:
- Which tasks can happen in parallel?
- Which tasks must wait for others to complete?
- What happens if the 3D modeling takes an extra week?
Why Learn Gantt Charts?
Gantt charts are industry-standard tools used by software engineers and project managers because they:
- Visualize complexity: Make complex projects easy to understand at a glance
- Identify bottlenecks: Show where delays will impact the whole project
- Coordinate teams: Help different departments know when their work is needed
- Track progress: Compare actual progress against the planned schedule
- Communicate with stakeholders: Provide clear timelines to management and clients