While extreme programming (XP) and scrum frameworks are pre-agile manifesto (2002), Kanban ideas from Toyota manufacturing were first applied to software maintenance projects by 2007. Software maintenance project involve fixing defects in existing commercial version.

In early 1940s, Toyota optimized its production after how supermarkets stock their shelves. Supermarkets stock just enough products on the shelf to meet customer demand. This consumer demand-pull driven inventory match results in significant reduction in inventory cost at supermarkets. Toyota implemented this philosophy on its factory floors, wherein the assembly teams would signal whenever they had excess capacity and were ready to pull more materials.

Kanban Development in Software

This "just in time" Kanban framework was first applied to the software maintenance project. In software project implementation, the amount of work in-progress (WIP) is always kept at the level of team capacity. Product owner prioritizes the work items. With backlog prioritized, WIP defined, team has clear focus resulting into higher output. When the team finishes one of the backlog item, it picks up the next high Kanban or card from prioritized backlog. So the process continues.

This also means that Kanban does not stipulate fixed uniform time box iteration. Rather Kanban is ideally suited for continuous integration (adding new code to existing base, building and testing throughout the day) and therefore continuous delivery (delivering or releasing tested quality code to customer at regular frequency).

In Kanban, team uses Cycle Time as the key metrics. Thus, the two diagnostic tools for any Kanban Teams are control chart (the cycle time of an issue in the workflow) and a cumulative flow diagram (the number of issues in each stage of the workflow). These tools provide team with ability to spot at which stage the capacity is constrained and hence increased number of issues. Essentially, the Kanban teams focus on optimising software delivery to customers.

Scrum vs Kanban vs XP

As a software product company, we see that each of these three agile frameworks bring value during the software product lifecycle.

While a new product is being conceptualized, designed and technology feasibility is being tested, extreme programming (XP) lends itself best to this amorphous concept design phase.

On the other hand, once the concept has been converted into an architectural design and prototype, the bulk development is best done using scrum all the ways to the commercial release.

Finally, when most of the product is commercially released.

JamBuster’s SoftAgile and SoftALM provide configurable Kanban Boards that visualize work items in each stage of the work flow.

jambuster’s softagile and softalm configurable kanban boards

Browse More About Kanban Methodology