Agile Programming (OCR A-Level Computer Science): Revision Notes
📚 Revision Notes
Agile Programming
Overview
Agile Programming is an iterative approach focused on flexibility, collaboration, and customer feedback. It emphasises delivering small, incremental improvements frequently rather than a final, complete product.
Key Elements
- Iterative Development: Software is developed in small, incremental cycles known as sprints (often 2–4 weeks).
- Collaboration and Communication: High degree of communication within the team and with the client to adapt to evolving needs.
- Customer Feedback: Regular feedback ensures the software meets the current needs.
- Extreme Programming (XP): A specific Agile method that promotes continuous testing, frequent releases, and pair programming for better code quality.
Benefits
- Continuous Delivery: Provides functional parts of the software frequently, allowing for early feedback.
- High Client Involvement: Continuous client input ensures the product aligns with their expectations.
- Flexibility: Easily adapts to changing requirements.
Drawbacks
- Resource Intensive: Requires continuous collaboration, which can be demanding for team members.
- Less Documentation: Prioritises working software over detailed documentation, which may make maintenance harder.
- Scope Creep Risk: Constantly changing requirements can lead to an expanded project scope.
Suitable Use Cases
Ideal for projects with unclear or evolving requirements, like mobile app development or user-centered websites.