It is a methodology that is used an alternative to Project Management. It can be seen as an umbrella term for a set of methods and practices defined within a project based on core values of a company.
Scrum is a subset of agile and XP is also an agile approach to focus on developing a software iteratively.
- Scrum is a light-process management framework for project development in projects which are often complex software and product development projects
- In a scrum project, product is developed incrementally in sprints that are usually 2 weeks or max 30 days.
- The key point here is that teams are cross-functional and self-organizing.
- Usually sprints cannot be changes once they are set.
- Scrum Team has various roles defined for its team members such as Scrum Master and Product Owner.
- Team tries to project progress using visual graphs such as burndown or burnup charts.
- Scrum team picks the tasks that prioritized by product owner based on customer value, scope and time factors.
- XP is an engineering methodology that consists of practices which ensures top-quality,focused code.
- XP teams typically work in iterations that are one or two weeks long.
- Iterations can be changed based on development requirements and current conditions.
- XP begins with four values: Communication, feedback, Simplicity and Courage.
- XP only focuses on developing code and not visualizing the progress of code through visual aids.
- High priority requirements are built first, no matter what is the complexity of that requirement.
These are very subtle differences between scrum and XP which are practically agile sub parts, but can be visible if used extensively. Mostly, these methodologies and their practices are used in combination to leverage the advantages of all.