Skip to content

Agile, XP, and Scrum

Extreme Programming (XP)

Emphasizes collaboration, quick and early software creation, and skillful development practices.

Values communication, simplicity, feedback, and courage

It recommends 12 core practices:

  1. Planning Game
  2. Small, frequent releases
  3. System metaphors
  4. Simple designs
  5. Testing
  6. Frequent refactoring
  7. Pair programming (PP)
  8. Team code ownership
  9. Continuous integration
  10. Sustainable pace
  11. Whole team together
  12. Coding standards

Scrum

Pillars

  • Transparency
    • Significant aspects of the process must be visible to those responsible for the outcome. Transparency requires those aspects be defined by a common standard so observers share a common understanding of what is being seen.
  • Inspection
    • Scrum users must frequently inspect Scrum artifacts and progress toward a Sprint Goal to detect undesirable variances. Their inspection should not be so frequent that inspection gets in the way of the work. Inspections are most beneficial when diligently performed by skilled inspectors at the point of work
  • Adaption
    • If an inspector determines that one or more aspects of a process deviate outside acceptable limits, and that the resulting product will be unacceptable, the process or the material being processed must be adjusted. An adjustment must be made as soon as possible to minimize further deviation.
    • Scrum prescribes four formal events for inspection and adaptation
      • Sprint Planning
      • Daily Scrum
      • Sprint Review
      • Sprint Retrospective

Values

  • Commitment
    • People personally commit to achieving the goals of the Scrum Team
  • Courage
    • The Scrum Team members have courage to do the right thing and work on tough problems
  • Focus
    • Everyone focuses on the work of the Sprint and the goals of the Scrum Team
  • Openness
    • The Scrum Team and its stakeholders agree to be open about all the work and the challenges with performing the work
  • Respect
    • Scrum Team members respect each other to be capable, independent people

Scrum Roles

There are 3 roles:

  • Product Owner

    • The Product Owner is one person, not a committee. The Product Owner may represent the desires of a committee in the Product Backlog, but those wanting to change a Product Backlog item’s priority must address the Product Owner.

      The Product Owner is responsible for maximizing the value of the product resulting from work of the Development Team.

      The Product Owner is the sole person responsible for managing the Product Backlog, this being a list of all things that needs to be done within the project.

  • Scrum Master

    • The Scrum Master is responsible for promoting and supporting Scrum as defined in the Scrum Guide. Scrum Masters do this by helping everyone understand Scrum theory, practices, rules, and values.

      The Scrum Master helps those outside the Scrum Team understand which of their interactions with the Scrum Team are helpful and which aren’t.

      The Scrum Master helps everyone change these interactions to maximize the value created by the Scrum Team.

  • Development Team

    • The Development Team consists of professionals who do the work of delivering a potentially releasable Increment of “Done” product at the end of each Sprint.

      Development Teams are structured and empowered by the organization to organize and manage their own work.

      The resulting synergy optimizes the Development Team’s overall efficiency and effectiveness.

    • They are self-organizing. No one (not even the Scrum Master) tells the Development Team how to turn Product Backlog into Increments of potentially releasable functionality and they are crossfunctional, with all the skills as a team necessary to create a product Increment.


Last update: January 22, 2020