Organinizing Software Projects with Kanban

Kanban is absurdly simple yet insainly useful! Just like your revision control system, you can not do without a Kanban board!

Expect the task list to be ever evolving. During the discovery session and defining the MVP you will begin to identify an initial set of tasks, and as the project precedes additional tasks will be realized.

Whenever and however a new task is identified, that task will be placed on the kanban board in the to do list section.

The item is ordered in the to do list according to its priority amongst the other tasks on the to do list.

Stacking Small Victories

Keep the tasks small, quick turn arounds of less than an hour to a day or two max. If tasks become three or four days they most likely can and should be broken into smaller tasks.

This is important because the development team needs to see victories and needs to have successes. Likewise management needs to see progress as well and customers need to experience new features and improvements.

Assigning Todo Items

As a person or resource becomes available, it is matched up with the next task in the to do list according to the needs of the to task and the skill of the person available.

The task or the kanban card is then assigned to that particular person and moved into the Work In Progress (WIP) list.

I am needing to explain kanban here because there’re many good references that do a better job than I could. Here are a couple that i like:

  • TODO Kanban explained youtube
  • TODO Kanban explained webpage

To sum it up, the WIP(work in progress) keeps going until it is complete. This means tests have passed and code reviews have as well.

Eventually the task is moved into the Complete column and the software is delivered to the customer. (More on the software release process later).

Work In Progress

Take some time here to note things of particular interest while working on a particular task.

Using github as an example, we can have our kanban card link to a Github issue. That Github issue is then assigned to the person working on a particular task.