views:

68

answers:

4

I lead a small team of six developers, and we are currently implenting a number of agile practices. Most of our work is single-programmer projects, as well as small (2-3 day) maintenance tasks on existing systems.

I was interested in the application of Scrum in our situation, but someone recommended Kanban as possibly being a more suitable methodology. Can someone recommend a good, concise tutorial that discusses how to use Kanban for software development?

+1  A: 

Generally, agile project management methodologies are for teams, and thus are very hard to adapt for single-programmer projects. This especially applies to Kanban, because you need a group of people for that.

It is possible however for a single developer to do Scrum (aka Solo Scrum), but Scrum was not intended for that, and the only way to successfully implement it is to be an experienced Scrum-teamplayer who adapts his experience on a solo scenario. Don't try this when starting with Scrum/Agile - you won't get nowhere, and you will definitely end up in chaos.

All in all, I don't think that Kanban and/or Scrum would be the right choice for you in the described scenario...

HTH!
Thomas

Thomas Weller
What would you suggest?
CraigS
See my other answer...
Thomas Weller
+1  A: 

I'd stick to other elements of the agile/XP programming methodology which are not related to project management, but more directly to programming (things like e.g. TDD, Continuous Integration, or pair programming...). They definitely make sense and are useful on their own.

Concerning project management: The essence of all agile methodologies is to establish short feedback cycles on various levels. How you would do that in your concrete situation depends on many factors. But it looks like it won't be a standard solution...

I'd recommend you talking to some experienced team leads and/or consultants about that, whoever is available to you.

Thomas Weller
+1  A: 

I don't agree that Kanban doesn't suit described situation well.

  1. While solo Scrum doesn't really make sense, there is such think as Personal Kanban and some folks use it to improve personal productivity. Kanban as the approach scales down very well even to a single person.

  2. Even though most of projects are single-developer you work as a team. I may be wrong but this probably means there are more folks engaged in the project during its lifetime (PM, tester, etc). It may also man that you switch tasks from time to time. This renders the argument about solo methodology irrelevant even though projects are typically done by a single developer at any given moment. In such environment however it is difficult to implement Scrum since it isn't easy to coordinate all projects in a way they all fit the same time boxes.

  3. Kanban deals very well with unplanned tasks (e.g. maintenance work) even when tasks are small.

Actually I worked a few years ago in a team similar to the one you describe and I believe Kanban would suit there very well. Unfortunately I didn't know Kanban then.

If you look for Kanban tutorial I can recommend you Kanban and Scrum - making most of both - a minibook from Henrik Kniberg and Mattias Skarin. It is well written and presents what Kanban is all about. Especially if you already know Scrum you will get much of the book as there are many comparisons between the two approaches.

pawelbrodzinski
A: 

Here is the digest of very good Kanban tutorials and articles with short intro http://www.targetprocess.com/blog/2009/05/lean-and-kanban-software-development.html

Michael Dubakov