Back to 课程

Computer Science AS OCR

0% Complete
0/0 Steps
  1. 1-1-structure-and-function-of-the-processor as
    5 主题
  2. 1-2-types-of-processor as
    3 主题
  3. 1-3-input-output-and-storage as
    2 主题
  4. 2-1-systems-software as
    8 主题
  5. 2-3-software-development as
    5 主题
  6. 2-4-types-of-programming-language as
    4 主题
  7. 3-1-compression-encryption-and-hashing as
    3 主题
  8. 3-2-databases as
    3 主题
  9. 3-3-networks as
    8 主题
  10. 3-4-web-technologies as
    13 主题
  11. 4-1-data-types as
    8 主题
  12. 4-2-data-structures as
    4 主题
  13. 4-3-boolean-algebra as
    1 主题
  14. 5-1-computing-related-legislation as
    4 主题
  15. 5-2-moral-and-ethical-issues as
    9 主题
  16. 6-1-thinking-abstractly as
    3 主题
  17. 6-2-thinking-ahead as
    1 主题
  18. 6-3-thinking-procedurally as
    3 主题
  19. 6-4-thinking-logically as
    2 主题
  20. 6-5-thinking-concurrently as
    2 主题
  21. 7-1-programming-techniques as
    9 主题
  22. 8-1-standard-algorithms-and-big-o-notation as
    8 主题
课 Progress
0% Complete

Exam code:H046

Agile (extreme programming)

What is the agile model?

  • 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

  1. Identify user stories and requirements

    1. Work closely with stakeholders to gather functional and non-functional requirements

    2. Requirements are often written as user stories (e.g. As a user, I want to…)

  2. Plan the sprint (Sprint Planning)

    1. Break down requirements into tasks

    2. Choose a set of tasks (features) for the current sprint (a short time-boxed development period, usually 1–4 weeks)

    3. Define the sprint goal

  3. Design the solution

    1. Decide how the selected features will be built

    2. Focus is on simple and adaptable design, not heavy upfront documentation

  4. Develop the features

    1. Write code for the selected tasks in the sprint

    2. Developers often work in pairs or small teams (e.g. pair programming)

  5. Test continuously

    1. Perform unit testing, integration testing, and acceptance testing during the sprint

    2. Testing is ongoing, not saved for the end

  6. Review progress (Sprint Review)

    1. Demo the working software to stakeholders

    2. Collect feedback and identify changes or improvements

  7. Reflect on process (Sprint Retrospective)

    1. The team reflects on what went well and what needs improving in the next sprint

    2. Focus is on team performance and process optimisation

  8. Release (may happen after every sprint or set of sprints)

    1. Deploy working software to users or staging environment

  9. Repeat

    1. Move to the next sprint with updated priorities and feedback

The Extreme Programming (Agile) Model

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

Responses

您的邮箱地址不会被公开。 必填项已用 * 标注