AGILE SCRUM vs. KANBAN vs. XP - In a Nutshell – Paradise in Worldwide Portfolio Management

Discussion in 'Agile and Scrum' started by Sudipta Malakar, Jun 7, 2017.

  1. Sudipta Malakar

    Sudipta Malakar Active Member
    Alumni

    Joined:
    Mar 30, 2017
    Messages:
    34
    Likes Received:
    16
    All three Frameworks (XP - Extreme Programming), KANBAN and SCRUM) adhere to the principles laid out in the Agile Manifesto which aims at providing as much value to customers as possible in the time available.

    XP is more towards Engineering process taken into account and incorporated in our process. XP adds another level of sophistication, bringing a strong focus on quality by insisting on a set of core engineering practices which keeps code clean and software stable.

    Kanban is a really useful way for teams with a continually changing backlog of items to increase efficiency by limiting the amount of work-in-progress, whilst respecting existing roles and responsibilities.

    Scrum is more suitable for teams who can devote their collective time to a project or product. It brings much more in the way of structure to help teams make major productivity gains through frequent communication and planning while still providing the freedom to decide among themselves how to engineer solutions.

    We may articulate the differences between Scrum, Kanban and Extreme Programming (XP) , as enunciated below.

    "Goal" differences between SCRUM, KANBAN and XP

    SCRUM - Use of cross-functional, self-organized, and empowered teams who divide their work into short, concentrated work cycles called Sprints.

    KANBAN - To alleviate impediments that cause us to take longer to deliver, not remove necessary pieces of the process.

    XP (Extreme Programming) - To organize people to produce higher-quality software more productively.

    "Date of birth" differences between SCRUM, KANBAN and XP

    SCRUM - In the mid 80’s, Hirotaka Takeuchi and Ikujiro Nonaka defined a flexible and all-inclusive product development strategy where the development team works as a unit to reach a common goal. Scrum has increased in popularity and is now the preferred project development methodology for many organizations globally.

    KANBAN - Kanban developed in the 1940s as a sub-component of the Toyota Production System and has its origins in these Lean and Just In Time (JIT) manufacturing processes.

    XP (Extreme Programming) - XP has been created in 1996 by Kent Beck during his work on the Chrysler Comprehensive Compensation System (C3) payroll project.

    "Current state" differences between SCRUM, KANBAN and XP

    SCRUM - The Scrum framework can only be used for small projects. However, it can easily be scaled for effective use in large projects.

    KANBAN - One of the reasons many groups implement Kanban is to figure out how to deliver more consistently. Kanban, as well as many other methods/processes, is often chosen and implemented by the management or leadership layer and the values and goals are communicated down to developers or other individual contributors.

    XP (Extreme Programming) - One of the reasons many groups implement Kanban is to figure out how to deliver more consistently. Kanban, as well as many other methods/processes, is often chosen and implemented by the management or leadership layer and the values and goals are communicated down to developers or other individual contributors.

    "Specialty" differences between SCRUM, KANBAN and XP

    SCRUM - A key strength of Scrum lies in its use of cross-functional, self-organized, and empowered teams who divide their work into short, concentrated work cycles called Sprints. Scrum is one of the most popular Agile methodologies. It is an adaptive, iterative, fast, flexible, and effective methodology designed to deliver significant value quickly and throughout a project. Scrum ensures transparency in communication and creates an environment of collective accountability and continuous progress.

    KANBAN - In Kanban the workflow is visualized: work is broken down into small, discrete items and written on a card which is stuck to a board; the board has different columns and as the work progresses through different stages (e.g. ready, in progress, ready for review etc) the card is moved accordingly. In Kanban the number of items that can be in progress at any one time is strictly limited.

    XP (Extreme Programming) - Extreme Programming is successful because it stresses customer satisfaction. Instead of delivering everything you could possibly want on some date far in the future this process delivers the software you need as you need it. Extreme Programming empowers your developers to confidently respond to changing customer requirements, even late in the life cycle.Extreme Programming emphasizes teamwork. Managers, customers, and developers are all equal partners in a collaborative team.

    "Values" differences between SCRUM, KANBAN and XP

    SCRUM - Here, the values are articulated below.

    1. Focus

    2. Courage

    3. Openness

    4. Commitment

    5. Respect

    KANBAN - Here, the values are articulated below.

    1. Transparency

    2. Agreement

    3. Balance

    4. Respect

    5. Understanding

    6. Leadership

    7. Collaboration

    8. Customer focus

    9. Flow

    XP (Extreme Programming) - Here, the values are articulated below.

    1. Communication

    2. Simplicity

    3. Feedback

    4. Courage

    5. Respect

    "Principles" differences between SCRUM, KANBAN and XP

    SCRUM - Here, the Principles are articulated below.

    1. Roles Guide

    2. Empirical Process Control

    3. Self-organization

    4. Collaboration

    5. Value-based Prioritization

    KANBAN - Here, the Principles are articulated below.

    1. Start with what you do now

    2. Agree to pursue incremental evolutionary change

    3. Initially, respect all roles, responsibilities and job titles

    XP (Extreme Programming) - Here, the Principles are articulated below.

    The principles that form the basis of XP are based on the values just described and are intended to foster decisions in a system development project. The principles are intended to be more concrete than the values and more easily translated to guidance in a practical situation.

    "Roles" differences between SCRUM, KANBAN and XP

    SCRUM -

    Core Roles:

    - Product Owner

    - Scrum Master

    - Scrum Team.

    Non-core Roles:

    -Stakeholders

    -Scrum Guidance Body

    -Vendors

    -Chief Product Owner

    -Chief Scrum Master

    KANBAN - No existing roles. Some teams enlist the help of an agile coach.

    XP (Extreme Programming) - Tracker, Customer, Programmer, Coach, Manager, Tester. Anyone can be Doomsayer, Gold Owner (may be the same as the Customer).

    "Key metrics" differences between SCRUM, KANBAN and XP

    SCRUM - Sprint Velocity (2 weeks).

    KANBAN - Cycle time.

    XP (Extreme Programming) - Iteration time (2 weeks).

    "Activities" differences between SCRUM, KANBAN and XP

    SCRUM -

    1. Initiate

    2. Plan and Estimate

    3. Implement

    4. Review and Retrospect

    5. Release

    KANBAN -

    1. To Do

    2. Development

    3. Test

    4. Release

    5. Done

    XP (Extreme Programming) -

    1. Planning

    2. Managing

    3. Designing

    4. Coding

    5. Testing

    "Practices" differences between SCRUM, KANBAN and XP

    SCRUM -

    1. Planning

    2. Daily Scrum

    3. Review and retrospective: Sprint Review and Sprint Retrospective

    4. Extension: Backlog refinement and Scrum of Scrums

    5. Artifacts: Product Backlog, Management, Sprint Backlog, Product Increment, Extensions (Sprint burn-down chart, Release burn-up chart)

    KANBAN -

    1. Visualize

    2. Limit Work-in-progress

    3. Manage Flow

    4. Make management policies explicit

    5. Improve collaboratively (using models and the scientific method)

    XP (Extreme Programming) - Extreme Programming has 12 practices, grouped into four areas, derived from the best practices of software engineering:

    - Fine scale feedback:

    - Pair Programming

    - Planning Game

    - Test Driven Development

    - Continuous process:

    - Continuous Integration

    - Design Improvement

    - Small Releases

    - Whole Team

    - Shared understanding:

    - Coding Standards

    - Collective Code Ownership

    - Simple Design

    - System Metaphor

    - Programmer welfare:

    - Sustainable Pace

    "Change philosophy" differences between SCRUM, KANBAN and XP

    SCRUM - Teams should strive to not make changes to the sprint forecast during the sprint. Doing so compromises leanings around estimation.

    KANBAN - Change can happen at any time.

    XP (Extreme Programming) - A high degree of developer discipline along with continuous customer involvement for the duration of the project.

    "Cadence" differences between SCRUM, KANBAN and XP

    SCRUM - Regular fixed length sprints.

    KANBAN - Continuous flow.

    XP (Extreme Programming) - Iteration.

    "Release methodology" differences between SCRUM, KANBAN and XP

    SCRUM - At the end of each sprint if approved by the product owner.

    KANBAN - Continuous delivery or at the team's discretion.

    XP (Extreme Programming) - At the end of iteration.
     
    #1
    Rakesh Deshpande likes this.

Share This Page