A team that I am working with is in the process of implementing Kanban. It occurred to me that for a pure Kanban setup I didn’t know which of the major Kanban software options out there we should use for workflow management.
To answer that question I’ve now done an evaluation of:
- Visual Studio Team Services
- JIRA Software
I figured some of you may have the same question so I’m putting the results of my evaluation up here for you to use for free. Hope it’s of use!
What is Kanban?
Many of you will already be familiar with Kanban, but I will just briefly summarise it here for those who aren't.
The Kanban methodology fits broadly into the Lean world and is commonly associated with Lean software development. It is a process and a set of rules for teams who need to manage work within a complex system. These rules encourage a culture and mind-set that emphasises consistency and predictability of work flow and throughput over utilisation of individuals. This is a departure from traditional Western management and is therefore uncomfortable for some managers. It has its basis in queueing theory and the theory of constraints and is now widely used, with many examples of successful implementations.
At its most basic, Kanban is the implementation of the following rules:
- Visualise the value stream – typically done as a board with columns representing the progression of states that work has to go through
- Show work as cards that traverse the value stream
- Implement Work In Progress (WIP) limits, generally on states in the value stream, though these could be on service classes, types of work or individuals
- The individuals doing the work pull work across the value stream as opposed to work being pushed by them or a manager
- Identify impediments to work progression and focus on addressing slack in the system created by WIP limits
- Regularly inspect the performance of the system to allow for improvement of it.
Performance of the system is measured using particular metrics, such as lead-time (cycle-time) and work-in-progress, and is made significantly less arduous with the use Kanban software to electronically track work.
Common Kanban software options
The common Kanban software tools that we have seen used include Visual Studio, JIRA Software, Trello and LeanKit. Visual Studio Team System and JIRA do much more than provide electronic Kanban boards while Trello and LeanKit are more targeted around visually displaying workflow. For the purposes of this article we are only exploring each software product as it relates to its Kanban features.
Atlassian claim that JIRA is the #1 software development tool used by Agile teams. This cloud-based product includes tools for planning, tracking, releasing and reporting software development activity.
As can be seen in the requirements matrix below, we found JIRA to be quite rich in terms of its coverage of our Kanban requirements.
Visual Studio Team Services
Any team who develops Microsoft or .NET applications will already be familiar with Visual Studio. We use it extensively at Equinox IT for our Microsoft software development projects and we are Microsoft's only New Zealand Gold Partner for the Application Lifecycle Management (ALM) competency as a result of our capability with Visual Studio.
Visual Studio Team Services is a cloud-based facility providing a breadth of collaboration services for sharing code, tracking work and shipping software. For the purposes of this activity, I purely looked at Visual Studio Team Services in terms of our Kanban requirements.
Trello is a little different from both JIRA and Visual Studio Team Services in that it is not only targeted at software development teams, rather at anyone who needs to manage the flow of work using a visual board system.
Like Trello, LeanKit is more targeted on features for visually showing a team's work as it flows through their process. It is promoted to teams of all types, not just Agile software development teams, although these teams would be a common target audience.
Kanban requirements matrix
The following table sets out the requirements we had for a Kanban software tool and my evaluation for each of the tools I looked at.
|Requirement||Criticality||Visual Studio Team Services||JIRA Software||Trello||LeanKit|
|Visual work board (Kanban specifically, but flexible) that provides:||H||x||x||x||x|
|Visual representation of WIP limits and obvious visual feedback when limits are broken. WIP limits settable per:||H||x||x||x|
|Work Item type||M|
|Easy manipulation of work items to traverse them through the workflow||M||x||x||x||x|
|Definable and amendable workflow||H||x||x||x||x|
|Multiple work item types (with types visually represented differently)||H||x||x||x|
|Work items represented individually including visual representation of:||H||x||x||x||x|
|Blockers / impediments||H||x||x||x|
|Time in state||L||x||x|
|Links per state to notes / documentation for the purposes of tying them to Definitions of Done and Ready.||M||x||x|
|Minimum Work Item data points:||H||x||x||x||x|
|Linking between Work Items||M||x||x||x|
|Categorisation of Work Items||M||x||x||x||x|
|In-built charting / reporting:||M||x||x||x|
|Chart: Cumulative Flow Diagram that supports or provides:||M||x||x||x|
|Views by both number of items and by cumulative size||M||x|
|Numeric display of band thickness||L|
|Selective grouping of states||M||x||x|
|Chart: Lead Time Distribution including:||M||x||x|
|X-axis in both time and time per sizing unit||M||x|
|Ability to identify specific data points on the chart||M||x||x|
|Flexible start, end and interval size||L|
|Views by both number of items and by cumulative size||L||x|
|Report: Due Date Performance||L|
|If any of the specified in-built charting / reporting isn’t available, then export of data for external visualisation:||H||x||x||x|
|Full work item state transition history – including timestamp per transition and initial state||H||x|
|Full work item size change history – including timestamp per change and initial size||H||x|
|Full work item assignee change history – including timestamp per change and initial assignee||H||x|
|Work item ID||H||x||x||x|
|Work item type||H||x||x|
|Work item title||H||x||x||x|
|Work item description||H||x||x||x|
|Work item categories||H||x||x||x|
|Real-time (un-delayed) data||H||x||x||x|
|CSV or Excel spreadsheet export||H||x||x||x|
The versions that I assessed (or date assessed if unspecified on a cloud deployment) for each Kanban software product are:
- Visual Studio Team Services (18 November 2015)
- JIRA Software Cloud (15 November 2015, v 6.4)
- Trello (20 November 2015)
- LeanKit (16 November 2015)
In the context of the current client engagment JIRA Software was chosen as the preferred Kanban software product, primarily because of the access to underlying data it provides, which allows us to create the metrics we need to manage the system.
Despite selecting JIRA in this instance, at Equinox IT we are also active users of Visual Studio, LeanKit and Trello depending upon the circumstances and needs of our teams and those of our clients.
Let me know what Kanban software you have used on Agile development projects and what you have found has worked well and what has not.
You may also be interested in my article JIRA and Trello user stories - how to customise and print them.
Ray Cooke is a Development Manager and a Lean & Agile Business Transformation Coach, based in Equinox IT's Wellington office.