====== Typical Software Lifecycle Models ======
Different industries and projects adopt specific lifecycle models based on their goals, risk tolerance, and team structure. The most widely used models are explained in this chapter.
===== The Waterfall Model =====
The Waterfall Model is one of the earliest and most widely recognised software lifecycle models. It follows a linear sequence of stages where each phase must be completed before the next begins ((Royce, W. W. (1970). Managing the development of large software systems. Proceedings of IEEE WESCON)).
{{ :en:safeav:as:as:rtu_ch4_figure1.png?400| The Waterfall Model }}
The Waterfall Model
Advantages:
* Clear structure and documentation.
* Easy to manage for small, stable projects.
* Suitable for regulated environments (e.g., aerospace, defence).
Limitations:
* Inflexible to changes once development begins.
* Late discovery of integration or requirement issues.
===== The V-Model (Verification and Validation Model) =====
An evolution of the waterfall approach, the V-Model emphasises testing and validation at each development stage. Each “downward” step (development) has a corresponding “upward” step (testing/validation).
{{ :en:safeav:as:as:rtu_ch4_figure2.png?400| V-Model Lifecycle }}
V-Model Lifecycle
Advantages:
* Strong focus on verification and validation (V&V).
* Ideal for safety-critical systems (e.g., ISO 26262, DO-178C).
* Provides traceability between design and testing phases.
Limitations:
* Requires well-defined requirements upfront.
* Difficult to adapt to rapid changes.
===== The Iterative and Incremental Model =====
Instead of completing the whole system in one sequence, the iterative model develops the product through multiple cycles or increments. Each iteration delivers a working version that can be reviewed and refined.
Advantages:
* Early delivery of functional prototypes.
* Easier adaptation to requirement changes.
* Continuous stakeholder feedback.
Limitations:
* Higher integration overhead.
* May require complex configuration management (each iteration produces new versions).
===== Agile Methodologies =====
Agile development (e.g., Scrum, Kanban, Extreme Programming) emphasises collaboration, adaptability, and customer feedback. It replaces rigid processes with iterative cycles known as sprints.
{{ :en:safeav:as:as:rtu_ch4_figure3.png?400| Agile Lifecycle }}
Agile Lifecycle
Core Principles ((Agile Alliance. (2001). Manifesto for Agile Software Development. https://agilemanifesto.org)):
* Individuals and interactions over processes and tools.
* Working software over comprehensive documentation.
* Customer collaboration over contract negotiation.
* Responding to change by following a plan.
Advantages:
* High flexibility and customer involvement.
* Continuous delivery of value.
* Improved responsiveness to market and technology changes.
Challenges:
* Requires disciplined teams and strong communication.
* Less suitable for safety-critical certification unless paired with hybrid models (e.g., Agile + V-Model).
===== The Spiral Model =====
Introduced by Boehm ((Boehm, B. W. (1988). A spiral model of software development and enhancement. Computer, 21(5), 61–72.)), the Spiral Model combines iterative development with risk analysis. Each loop of the spiral represents one phase of the process, with risk evaluation at its core.
{{ :en:safeav:as:as:rtu_ch4_figure4.png?400| Spiral Lifecycle }}
Spiral Lifecycle
Advantages:
* Focused on risk reduction.
* Suitable for large, complex systems.
* Allows progressive refinement and flexibility.
Limitations:
* Complex management and documentation.
* Requires expertise in risk assessment.
===== DevOps and Continuous Lifecycle =====
Modern systems increasingly adopt DevOps — integrating development, testing, deployment, and operations into a continuous cycle. This model leverages automation, CI/CD pipelines, and cloud-native
{{ :en:safeav:as:as:rtu_ch4_figure5.png?400| DevOps Lifecycle }}
DevOps Lifecycle
Advantages:
* Rapid and reliable delivery.
* Real-time monitoring and feedback integration.
* Continuous improvement of deployed systems.
Challenges:
* Requires cultural and organisational transformation.
* Demands sophisticated toolchains and automation infrastructure.
=== Comparative Overview ===
^ Model ^ Main Focus ^ Advantages ^ Best Suited For ^
| Waterfall | Sequential structure | Simple, predictable | Small or regulated projects |
| V-Model | Verification and validation | Traceable, certifiable | Safety-critical systems |
| Iterative/Incremental | Progressive refinement | Flexible, early testing | Complex evolving systems |
| Agile | Collaboration & feedback | Fast adaptation, user-centric | Software startups, dynamic projects |
| Spiral | Risk-driven development | Risk control, scalability | Large R&D projects |
| DevOps | Continuous integration | Automation, rapid delivery | Cloud, AI, or autonomous platforms |