There are two major ways that Kanbans can be used in software development. The team can use Kanbans to run their software development process. These teams can be of any size. Other teams use Kanbans to support their development. These teams are typically very large and have made a significant investment in a product specifically for software development. In this scenario, Kanbans are used to make sure that critical tasks not tracked in the software development application are getting done.
This article focuses on one way that Kanbans for software development. This is the first scenario described above where a Kanban is used to implement the development process.
At Kanbans, we use an Agile based development methodology. Agile development is an iterative and incremental method of managing the design and build activities for engineering, information technology, and new product or service development projects. This approach is highly flexible and generally interactive.
We chose not to use a Scrum approach because of the overhead in implementing that technique. Instead, we use a simplified approach where the focus is on visualizing the work, making sure the team understands the work to be done and getting work done. This approach also provide other stakeholders visibility into the process.
Here is a sample board.
All tasks (features, bugs, refinements or user stories) start in the backlog column. You can use the order of backlog list to prioritize items, since changing the order does not affect the team. Someone needs to be in charge of deciding what tasks need to be worked on next. In the Scrum methodology that role is called the product owner. Usually, the board creator or team leads assume that role. When an item is ready to be worked on, meaning that the task has enough detail to be completed by the team, it gets moved to the On Deck column.
When the team finishes an item, they pull another item from the On Deck column to get the next piece of work. The team should only have a limited number of items they work on at any one time. Limiting the number of Work In Progress (WIP) items keeps the team focused. Once development starts on an item it should be completed. Items should rarely move backward. Changing the design or the scope to reduce the effort is an effective way to keep items on the board moving.
Team members need to make sure that items in the Done column are actually done, not just finished, but Done Done.
Using color tags is an effective way to provide additional visual clues about the type of task. Suggested color tags are:
– User Story/ Refinement/ Bug/ Customer request
– Feature/ Refinement/ Bug/ Attention
If you would like to brainstorm about your board layouts or other aspects of Kanbans please contact us at firstname.lastname@example.org