Agile Programming (OCR A Level Computer Science) : Revision Note
Agile (extreme programming)
In A Level Computer Science, extreme programming (XP) is a type of Agile software development methodology that promotes adaptability and high customer involvement.
Steps in the model:
Identify user stories and requirements
Work closely with stakeholders to gather functional and non-functional requirements
Requirements are often written as user stories (e.g. As a user, I want to...)
Plan the sprint (Sprint Planning)
Break down requirements into tasks
Choose a set of tasks (features) for the current sprint (a short time-boxed development period, usually 1–4 weeks)
Define the sprint goal
Design the solution
Decide how the selected features will be built
Focus is on simple and adaptable design, not heavy upfront documentation
Develop the features
Write code for the selected tasks in the sprint
Developers often work in pairs or small teams (e.g. pair programming)
Test continuously
Perform unit testing, integration testing, and acceptance testing during the sprint
Testing is ongoing, not saved for the end
Review progress (Sprint Review)
Demo the working software to stakeholders
Collect feedback and identify changes or improvements
Reflect on process (Sprint Retrospective)
The team reflects on what went well and what needs improving in the next sprint
Focus is on team performance and process optimisation
Release (may happen after every sprint or set of sprints)
Deploy working software to users or staging environment
Repeat
Move to the next sprint with updated priorities and feedback

The Extreme Programming (Agile) Model
Benefits:
Highly adaptable: Can quickly respond to changes in requirements, even late in development
Frequent communication: Encourages constant communication between team members and stakeholders
Quality focus: Emphasizes technical excellence and good design, with continuous testing throughout the development cycle
Customer collaboration: Encourages working closely with customers to ensure the developed product meets their needs
Drawbacks:
Requires experienced team members: Can be challenging to implement without knowledgeable and skilled developers
Intensive collaboration can lead to burnout: The constant communication and collaboration can be tiring for team members
May lack documentation: The focus on adaptability and immediate coding may result in insufficient documentation
Scope creep: The flexible nature may lead to uncontrolled changes in requirements
Suitability:
Extreme Programming is most suitable for small to medium-sized projects where requirements can change and customer involvement is high
Unlock more revision notes. It's free!
By signing up you agree to our Terms and Privacy Policy.
Already have an account? Log in
Did this page help you?