SLIDE 1 / 11
CSZone.co.uk
OCR H446 · Component 1 · 1.2.3

Software Development
Methodologies

OCR A Level Computer Science · cszone.co.uk
H446 SpecA Level
Learning Objectives

By the end of this topic you will be able to:

Describe the Waterfall model and its phases
Describe the Agile approach and iterative development
Describe RAD, Spiral and Extreme Programming (XP)
Compare methodologies and select appropriate ones for given scenarios
Waterfall

Waterfall Model

Waterfall is a sequential, linear development model. Each phase must be fully completed before the next begins. Phases: Requirements → Design → Implementation → Testing → Deployment → Maintenance.
Advantages
Simple to manage. Clear milestones. Well-documented. Good for stable, well-understood requirements. Easy to schedule and budget.
Disadvantages
Inflexible — difficult to change requirements once started. Customer sees working software only at end. Problems found late are expensive to fix. Poor for evolving requirements.
Suitable for: safety-critical systems (aerospace, medical devices), projects with fixed requirements and regulatory compliance needs.
Agile

Agile Methodology

Agile is an iterative, incremental approach. Work is divided into short sprints (1–4 weeks). Each sprint produces working software that is reviewed with the customer.
Customer involvement: continuous feedback throughout development; requirements can change between sprints.
Working software: a usable product increment is delivered at the end of each sprint, not just at the end of the project.
Cross-functional teams: developers, testers and business analysts work together in small teams. Daily stand-up meetings track progress.
Suitable for: web applications, startups, projects where requirements are unclear or likely to change. Poor for safety-critical systems requiring full upfront specification.
Scrum

Scrum — An Agile Framework

Scrum is the most widely used Agile framework. It defines specific roles and ceremonies.
Roles
Product Owner: defines backlog, prioritises features
Scrum Master: facilitates process, removes blockers
Development Team: self-organising, delivers sprint goal
Ceremonies
Sprint planning: select backlog items for sprint
Daily stand-up: 15-min progress check
Sprint review: demo to stakeholders
Retrospective: process improvement
Other Methodologies

RAD, Spiral and XP

RAD (Rapid Application Development): uses prototyping and user feedback to quickly develop applications. Customer reviews prototypes and feedback shapes next version. Fast delivery; less planning upfront.
Spiral: risk-driven. Each cycle: objectives → risk analysis → development → evaluation. Risk analysis at start of each spiral helps identify and mitigate potential failures early.
Extreme Programming (XP): Agile variant emphasising pair programming, test-driven development (TDD), continuous integration, simple design and refactoring. Code is reviewed continuously.
Exam Practice
OCR H446 Style · 4 marks
A team is developing a mobile app for a new startup. The client expects requirements to change frequently. Justify why an Agile methodology would be more appropriate than Waterfall for this project.
[4 marks]
1
Agile is iterative — requirements can change between sprints without derailing the whole project. Waterfall requires requirements to be fixed upfront.
1
Agile delivers working software after each sprint, allowing the client to see and test features early rather than waiting until the end.
1
Continuous client involvement means the product evolves towards what the client actually wants, reducing the risk of a misaligned final product.
1
For a startup, speed to market is crucial — Agile’s short sprints deliver usable increments quickly. Waterfall would take much longer before any usable software is produced.
Common Mistakes

Don’t Lose Marks

!
Saying Waterfall is always worse than Agile — Waterfall is better for projects with fixed, well-understood requirements and regulatory compliance needs. Always relate to the given scenario.
!
Saying Agile means no planning — Agile still involves planning (sprint planning, backlog grooming). The difference is requirements can adapt; it is not an absence of structure.
!
Confusing Scrum and Agile: Agile is a philosophy/set of values. Scrum is a specific framework that implements Agile principles. Scrum is one type of Agile.
1.2.3a Complete
Well done! ✓
Software Development Methodologies
Return to lesson to continue