Skip to content

Merits and Drawbacks of Development Methodologies

1.2.3 Software development · Paper 1 · 5 flashcards · 4 questions

Waterfall

Pros & Cons
Pros & Cons:
AdvantagesDisadvantages
Clear structure and milestonesInflexible - hard to change requirements later
Easy to understand and manageNo working software until late in process
Comprehensive documentationHigh risk if requirements misunderstood
Works well for fixed-requirement projectsPoor for complex or innovative projects
Best when: Requirements are fixed and well-understood, safety-critical systems

Agile

Pros & Cons
Pros & Cons:
AdvantagesDisadvantages
Flexible - welcomes changing requirementsLess predictable timeline and cost
Working software delivered frequentlyRequires high customer involvement
Close customer collaborationCan lead to scope creep
Quick response to feedbackDocumentation may be insufficient
Best when: Requirements likely to change, innovative projects, customer available

Extreme Programming

Pros & Cons
Pros & Cons:
AdvantagesDisadvantages
High code quality through practices like TDDRequires experienced developers
Continuous feedback and improvementPair programming costly (two salaries)
Knowledge sharing through pair programmingCustomer must be on-site
Low defect ratesDifficult to scale to large teams
Best when: Small expert teams, quality-critical projects, volatile requirements

Spiral

Pros & Cons
Pros & Cons:
AdvantagesDisadvantages
Systematic risk managementComplex to manage
Early detection of problemsExpensive - extensive planning and risk analysis
Flexible - can accommodate changesNot suitable for small projects
Suitable for large, complex projectsRequires expertise in risk assessment
Best when: Large, complex, high-risk projects (banking, defence)

RAD

Pros & Cons
Pros & Cons:
AdvantagesDisadvantages
Very fast deliveryRequires modularity
High user satisfaction through involvementHeavy dependence on user availability
Reduces requirements errorsNot suitable for complex, low-modularity systems
Efficient for well-understood problemsMay sacrifice quality for speed
Best when: Tight deadlines, available users, modular architecture, clear scope