SDM Kanban - bike-bill/readyset-gfm GitHub Wiki

Software Development Methodology: Kanban

Related Documents

Kanban is an Agile framework that emphasizes visualizing work, limiting work in progress, and optimizing flow. It is a flexible and continuous delivery approach that enables teams to adapt to changing priorities and requirements.

Core Principles of Kanban

  1. Visualizing Work:

    • Work items are represented on a Kanban board, providing a visual representation of tasks and their status.
    • The board typically includes columns such as "To Do," "In Progress," and "Done."
  2. Limiting Work in Progress (WIP):

    • Kanban encourages setting explicit limits on the number of tasks that can be in progress simultaneously.
    • Limiting WIP helps maintain a steady workflow and prevents overload.
  3. Managing Flow:

    • Teams focus on optimizing the flow of work from the beginning to the end of the development process.
    • The goal is to minimize bottlenecks and ensure a smooth and efficient workflow.
  4. Continuous Delivery:

    • Kanban emphasizes delivering work continuously rather than in fixed iterations.
    • Tasks are pulled from the backlog based on capacity, allowing for a more adaptive and responsive development process.

Kanban Board

A typical Kanban board consists of the following columns:

  • Backlog:

    • This column contains a list of all the tasks that need to be done.
  • To Do:

    • Work items that are ready to be pulled by team members.
  • In Progress:

    • Tasks that team members are currently working on.
  • Review/QA:

    • Work items that are awaiting review or quality assurance.
  • Done:

    • Completed tasks that have been delivered.

Advantages of the Kanban Model

  • Visual Management:

    • The Kanban board provides a clear visual representation of work, making it easy to track progress.
  • Flexibility:

    • Kanban allows for changes in priorities, making it suitable for projects with evolving requirements.
  • Continuous Improvement:

    • The emphasis on flow and limiting WIP encourages teams to continually improve their processes.

Disadvantages of the Kanban Model

  • Lack of Time Frames:

    • Kanban does not inherently provide defined time frames for task completion, which can be challenging for projects with strict deadlines.
  • Dependency on Team Discipline:

    • Success with Kanban relies on the discipline of the team in managing WIP limits and maintaining the flow.

Conclusion

Kanban is a versatile methodology that suits projects with changing priorities and a need for continuous delivery. Its emphasis on visual management and flow optimization makes it effective for teams aiming to improve efficiency and responsiveness.