Copyright

Extreme Programming vs. Scrum

Instructor: Stephen Meyer

Stephen has worked as a Project Manager and is PMP certified, as well as certified by the Scrum Alliance.

Extreme Programming and Scrum are two methodologies to implement Agile that share some traits and are often used together. Despite their similarities and compatibility, each is a distinct methodology. Learn about Extreme Programming versus Scrum.

XP and Scrum: Methodologies of Agile

Ingrid's software development company has merged with another company. She is responsible for integrating the development teams, specifically focusing on the methodology. Luckily for Ingrid, both companies use an Agile approach to projects. However, one uses Extreme Programming as its methodology while the other uses Scrum. Ingrid needs to decide whether to use one or the other or if there is a way to use them both. In making her decision, she takes a step back to review Agile and then moves to the specifics of each methodology.

An Agile approach to projects provides an alternative to traditional methodologies, which complete project work in sequential stages, being both iterative and incremental. This is done by breaking the timeline and work down into smaller, more manageable pieces. Agile is defined by something called the Agile Manifesto that focuses on aspects of projects that are valued over others, which include:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

The values expressed in the Manifesto reflect the choices that are often required in projects. Each item referenced is valuable, but there are limitations and constraints. When these occur and choices must be made, Agile values things like individuals and interactions, customer collaboration, working software and responding to change. These reflect an emphasis on the quality of work, which is a focus of Extreme Programming, and on people, which is a focus of Scrum.

XP Specifics

After Ingrid and her teams review Agile and what it attempts to accomplish, they move into the specifics of the methodology used by each team. The first methodology they examine is Extreme Programming (XP), which has a primary focus on how the project work is developed and tested. This directly relates to the quality of the work produced.

In XP, the customer creates the project requirements in the form of user stories, which describe needed functionality for specific users. These are reviewed with the development team to explain the requirements as well as prioritize them. The team works on user stories exclusively in priority order and completes them in short iterations of typically one to two weeks. At the end of each iteration, user stories are released and moved to production.

While XP does not prescribe much in terms of process, it does have a significant focus on engineering, or how the work is developed and tested. There are various methods for engineering user stories. Each one that is used is meant to provide the highest quality of work produced by the project.

One of the primary methods used by XP is Test Driven Development, or TDD, which is a way to develop by advancing through increasingly more complex automated test cases. The developer starts with a straightforward test case that fails. Coding is done to pass the test case and then a more complex test case is created that also fails and then is coded for. Another method that is often used by XP is pair programming where two developers work on one machine and simultaneously write and review code.

Scrum Specifics

Unlike XP, Scrum does not address how project work should be developed and tested. Instead, Scrum focuses on people and a process that enables a cross functional team to work effectively. Similar to XP, Scrum utilizes user stories and iterations, but in Scrum they are referred to as sprints and typically last two to four weeks.

One of the key aspects of the Scrum process is the different roles involved. The Product Owner initiates the project, writes user stories, and is accountable for the outcome of the project to other stakeholders. The development team works together to develop and test user stories. The final role is that of the Scrum Master who supports the development team and facilitates the Agile process. Clearly defined roles help each person on the team know their function.

To unlock this lesson you must be a Study.com Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use Study.com

Become a Study.com member and start learning now.
Become a Member  Back
What teachers are saying about Study.com
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? Study.com has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account
Support