Software Development Methodologies (OCR A-Level CS 1.2.3)

OCR A-Level CS 1.2.3: the waterfall, agile, extreme programming, spiral and RAD methodologies, their merits and drawbacks, and when to use each. Exam tips.


Free Development Methodologies revision resources (OCR A-Level Computer Science, 1.2.3)

We’ve made exam-style practice for this exact topic, free to download: Development Methodologies question sheet, mark scheme and cheat sheet. Grab them, have a go, then read the full guide below.

There is more than one way to build software, and choosing the right approach can make or break a project. Spec point 1.2.3 covers five development methodologies — waterfall, agile, extreme programming, spiral and RAD — their merits and drawbacks, and when to use each. This is a favourite extended-response topic, including a 12-mark "discuss extreme programming versus the waterfall lifecycle".

This guide explains each methodology and how to weigh them against a project's needs.

What is a software development methodology?

A methodology is a structured approach to the stages of the software development lifecycle — analysis, design, implementation, testing, and maintenance. Different methodologies organise and repeat these stages differently, which suits different kinds of project.

The waterfall lifecycle model

The waterfall model runs the stages strictly in sequence, each one finished before the next begins, like water flowing down steps. It is simple to manage and well documented, which suits projects with clear, fixed requirements that are unlikely to change. Its weakness is rigidity: going back to an earlier stage is difficult and expensive, and the customer does not see working software until late, so misunderstandings surface too late.

Agile methodologies

Agile is an umbrella term for iterative, incremental approaches that build software in small cycles, each delivering working software and gathering user feedback. Agile responds well to changing requirements because the plan is revisited every cycle. The trade-off is less up-front documentation and a need for close, ongoing customer involvement.

Extreme programming (XP)

Extreme programming is an agile methodology focused on software quality and responsiveness to change. Its practices include pair programming (two developers at one screen), frequent small releases, test-driven development, and an on-site customer who answers questions and sets priorities. XP suits projects where requirements change often and quality is critical, but it depends on a committed, skilled team and a customer who can stay involved.

The spiral model

The spiral model develops software in iterative loops, each producing a refined prototype, with a strong focus on identifying and managing risk at every loop. Each loop analyses requirements, designs, builds and evaluates a prototype, then plans the next. It suits large, high-risk projects that run for a long time, but the risk analysis makes it complex and potentially expensive.

Rapid application development (RAD)

RAD emphasises fast development through prototyping and continual user feedback, refining the system quickly rather than planning everything up front. It delivers usable software fast and fits projects where speed and user involvement matter more than exhaustive documentation, but it is less suited to large, safety-critical systems.

When should you use each?

Match the methodology to the project. Use waterfall for stable, well-understood requirements; agile/XP when requirements will change and feedback must be frequent; spiral for large, risky, long-running projects; RAD when speed and user involvement are the priority. Exam answers should always justify the choice against the project's needs.

Common exam mistakes

  • Treating agile and waterfall as "good vs bad". Each suits different projects; waterfall is fine for fixed requirements.

  • Describing XP without specifics. Name practices: pair programming, frequent releases, test-driven development, on-site customer.

  • Confusing spiral and waterfall. Spiral is iterative and risk-focused; waterfall is a single sequence.

  • Forgetting the drawbacks. "Discuss" and "compare" questions need both merits and drawbacks of each.

  • No justified conclusion. Extended answers must recommend an approach for the given scenario.

Quick recap

  • A methodology is a structured approach to the development lifecycle.

  • Waterfall: sequential, well-documented, best for fixed requirements; hard to change.

  • Agile: iterative, incremental, feedback-driven; great for changing requirements.

  • Extreme programming (XP): agile with pair programming, frequent releases, test-driven development, on-site customer.

  • Spiral: iterative prototypes with risk analysis, for large/high-risk projects. RAD: fast prototyping and user feedback.

Frequently asked questions

What is a software development methodology? A methodology is a structured approach to the stages of the software development lifecycle — analysis, design, implementation, testing and maintenance. Different methodologies organise and repeat these stages in different ways to suit different projects.

What is the waterfall lifecycle model? The waterfall model runs the development stages strictly in sequence, completing each before the next begins. It is simple and well documented and suits projects with clear, fixed requirements, but it is hard and costly to go back to an earlier stage.

What are agile methodologies? Agile is an umbrella term for iterative, incremental approaches that build software in small cycles, each delivering working software and gathering user feedback. Agile responds well to changing requirements but needs close, ongoing customer involvement.

What is Extreme Programming (XP)? Extreme programming is an agile methodology focused on quality and responsiveness to change. Its practices include pair programming, frequent small releases, test-driven development and an on-site customer, making it well suited to projects with rapidly changing requirements.

What is the spiral model? The spiral model develops software in iterative loops, each producing a refined prototype, with a strong focus on identifying and managing risk at every loop. It is mainly used for large, high-risk projects that run over a long time.

What is Rapid Application Development (RAD)? RAD is a methodology that emphasises fast development through prototyping and continual user feedback, refining the system quickly rather than planning everything in advance. It delivers usable software fast but is less suited to large, safety-critical systems.

 

 

 

Logo

All trademarks, logos and brand names are the property of their respective owners. All company, product and service names used in this website are for identification purposes only. Use of these names, trademarks and brands does not imply endorsement.


Follow us on:

Icon
Icon
Icon
Icon
Icon

Support@shuttlelearning.com

Logo

All trademarks, logos and brand names are the property of their respective owners. All company, product and service names used in this website are for identification purposes only. Use of these names, trademarks and brands does not imply endorsement.


Follow us on:

Icon
Icon
Icon
Icon
Icon

Support@shuttlelearning.com

Logo

All trademarks, logos and brand names are the property of their respective owners. All company, product and service names used in this website are for identification purposes only. Use of these names, trademarks and brands does not imply endorsement.


Follow us on:

Icon
Icon
Icon
Icon
Icon

Support@shuttlelearning.com