• Tuf Gavaz

Scrum, XP, Kanban and Lean in 1 minute



Agile methodologies help software development teams to become highly effective. Here's a super quick summary of the most popular methodologies.


Scrum

Scrum is a fairly prescriptive methodology. It suggests:

  1. Splitting the organization down into small cross-functional, self-organizing teams

  2. Splitting the work down into a list of small, well-defined deliverables, and prioritizing and estimating the list.

  3. Dividing time into short, fixed-length iterations, with potentially shippable code at the end of each iteration.

  4. Optimizing the release plan based on the current insights or priority

  5. Holding a retrospective to reflect, learn and adapt

XP

XP is even more prescriptive than Scrum. It suggests most of the Scrum processes plus a few specific engineering practices:

  1. Pair Programming / Code Reviews

  2. Test-Driven Development

Kanban

Kanban is less prescriptive than either. It suggests:

  1. Visualizing the workflow

  2. Limiting work in progress

  3. Measuring time to complete an item and optimizing the process to reduce this

  4. Learning and Improving continuously

Lean

Lean is all about delivering value as quickly as possible. Think big, act small, fail fast; learn rapidly. It has seven guiding principles:

  1. Eliminate waste

  2. Amplify learning

  3. Decide as late as possible

  4. Deliver as fast as possible

  5. Empower the team

  6. Build quality in

  7. Consider the whole system, including components and interactions

Summary

Many Agile development teams start with Scrum or XP. Many mature Agile development teams use Kanban. Many strive to be as Lean as possible. All great Agile development teams use a combination of their favorite elements from the different Agile Methodologies and probably some they've invented themselves!