“plan-driven” approaches in Software Engineering (SE) — sometimes called the traditional or heavyweight software development model. Here’s a clear explanation:
1. Definition
A plan-driven approach is a software development methodology where all or most of the project’s activities are planned in advance.
It relies on detailed documentation, upfront requirement specification, and sequential progress through development stages.
In other words, the software is developed according to a predefined plan.
2. Core Characteristics
-
Sequential process: Often follows models like Waterfall.
-
Upfront planning: Requirements, design, and schedules are determined before coding begins.
-
Heavy documentation: Each phase produces formal documents (requirements specification, design document, test plan, etc.).
-
Predictable process: Emphasis on process control and adherence to the plan.
-
Minimal change flexibility: Changes during development are expensive and discouraged.
3. Typical Plan-Driven Phases
-
Requirements Analysis:
-
System Design:
-
Implementation (Coding):
-
Testing:
-
Deployment:
-
Maintenance:
4. Advantages
-
Structured and organized: Clear roadmap and responsibilities.
-
Predictable timelines and budgets: Easy to plan resources.
-
Good for stable requirements: Works well when requirements are well understood.
-
High-quality documentation: Useful for maintenance and auditing.
5. Disadvantages
-
Inflexible to change: Hard to adapt if requirements evolve.
-
Late detection of errors: Problems in design or requirements often appear only in later stages.
-
Slower delivery: Users may have to wait long before seeing a working system.
-
Not ideal for uncertain projects: Poor fit for innovative or research-oriented software.
6. Examples
-
Waterfall model
-
V-Model (Verification and Validation model)
-
Large-scale enterprise systems with well-defined requirements, e.g., banking or payroll systems.
In Short:
Plan-driven software engineering is a structured, sequential, documentation-heavy approach where development follows a detailed plan, making it predictable but less flexible to change.