views:

143

answers:

6

I have been trying to get our software department to adopt some kind development process methodolgy. We only have 9 developers, and about as many projects. Currently, we can only be described as chaotic. Or perhaps 'crisis driven development' as I've seen another SO user call it.

Using Kanban seems like a it could be a good fit for us. So I've discussed it with everyone else, everyone thought it sounded good. But when we discussed how the board(s) should be arranged, everyone wanted to do one board per person.

Now, I've never tried Kanban, or any methodology really, but it feels like having each person managed on their own board would negate the benefits a Kanban process is supposed to provide. This notion makes me sad, and want to say 'ho-hum let's scrap this whole idea.'

Do you think implementing a Kanban board per developer can be worthwhile?

+2  A: 

If you must have a multitude of boards, wouldn't it be better to have a board per project rather than a board per developer ? Maybe in time some natural groupings of projects (and therefore consolidation of boards) will emerge, maybe not.

One purpose of the boards is to serve as "information radiators". A large number of project boards progressing at a snail's pace broadcasts the message "we are seriously overloaded" and/or "someone needs to set some priorities". A large number of per-developer boards just radiates the message "we don't do teamwork around here".

timday
+1  A: 

Hi there.

My feeling is that it might be better to use one Kanban board, with all the developer tasks on it, rather then one board per developer. Reason I think this is because the idea is that Kanban is a visual tool for all team members, and if each dev has their own board, then I think it misses the idea a bit.

Subnote

If you're using Microsoft TFS, then you could use use Telerik Work Item Manager. I've used this myself and it's great. Each developer runs a copy of the tool on their PC, and they can view their work items on a visual task board (with colour post-it's). This board can grouped and filtered by various ways, so a developer can see all their own tasks, but then they can change the filter to view all the tasks on the project.

(If you're not using TFS, apologies for the uninteresting subnote :)

Cheers. Jas.

Jason Evans
+1  A: 

Kanban is actually as system for restricting flow through a system, which is why we have WIP (Work In Progress) limits on kanban boards, and as a person can do only one job at once I don't think this could work.

Having one board per developer really doesn't give any advantages (And I'd argue it's not really kanban). One board per project is a better idea.

Then if another developer joins in for some tasks you can still see the overall progress of the project.

dalton
+1  A: 

I think it might be worthwhile to have another discussion with your group. Before adopting any kind of new technique/practice/methodology, one should be very eyes-open about why you want to adopt it, and what problem you're trying to solve. It almost sounds to me that you've stumbled upon Kanban Boards and want to adopt it without really knowing what problems you're tryying to solve.

My advice would be to try do some more thinking or analysis on the problems you see in your environment, do some root-cause analysis if you can (something like the 5-whys), and then try find some practice that will help you solve those problems.

The very fact that people in your group suggested using a board-per-developer implies to me that a. they don't understand the kind of problems they have, and that you're trying to solve, and b. they don't understand what Kanban boards are trying to achieve. I.e., your problems are such that using Kanban boards will not solve them.

Joshua Lewis
+1  A: 

It's not wrong to have a board per developer. The board is there to visualize the work. If the developers work on different projects, then it would be easier to visualize project-specific work with separate boards (which is usually the case). If your developers work on separate projects, then they work on separate projects. Technically, they're not really a single team, but more of a "practice". From that perspective, it might be a more natural approach to have them working separate boards.

When I work on personal projects on my own I still use a Heijunka Box - what software developers in the west often (mistakenly) call a "Kanban Board" - and I do this to visualize work, work scheduling, and to help limit the number of things I'm working on at once.

Scott Bellware
+1  A: 

I've implemented Kanban for my team which does Operations Automation (more or less half Ops work and half Dev work). Here's what we found worked best for our team. We have a common column for INBOX/Backlog.. Then a 'in development' column broken down into 5 sections, one per developer, with a per-developer WIP Limit. Then another common column for 'to integrate', and finally a common column for 'release to production'.

The advantage of Kanban is that the WIP limit ensures developers can focus on what they are doing - in our case each developer is fairly autonomous in working on their project, but we have the common columns for INBOX where a developer can pull any new task, and for 'integration' / 'production' where the team-lead is involved in shepherding the change through the remaining steps.

So my recommendation is to have some common columns (perhaps your backlog and your release) and have some columns that are per developer (like 'in development'). That way each developer can manage what they are working on, and at the same time the board can help visualize the state of all work that is flowing through the pipeline.