January 10, 2010

Solving for the iron triangle with kanban and scrumban

Life is full of lim­i­ta­tions: No park­ing, no run­ning, no diving, no stair­way etc.

One of the keys to project man­age­ment is know­ing and embrac­ing the lim­i­ta­tions of a project. One of the other keys is being able to help others see and embrace the same limitations.

In soft­ware devel­op­ment there’s been a lot of talk about “Fast. Cheap. Good. Pick two”. But I think the most common iron tri­an­gle we face is actu­ally “Scope. Sched­ule. Qual­ity. Pick two.”

Very few clients would ever actu­ally pick Scope and Sched­ule, and say “Meh. To hell with quality.”

So the real lim­i­ta­tions of our dis­ci­pline are Scope and Sched­ule, because almost no one wants an on-​time piece of garbage, or an incom­plete piece of garbage.

There are two strate­gies that I use to embrace these limitations:

Kanban (fixed scope)

If you haven’t heard of Kanban, I rec­om­mend you read up on it as it really is a great system. Here’s just one quick tuto­r­ial, and my run­ning list of links.

For me, the essence of Kanban is fixed scope, but flex­i­ble sched­ule. Sure, you can quote a lead time — an aver­age of how long it’s taken fea­tures to go from the back­log all the way to done in the past — but that’s an esti­mate, not a commitment.

This works great if you’ve got clients who are flex­i­ble enough to accept a fairly open-​ended deliv­ery date.

Scrumban (fixed schedule)

Scrum­ban is a great tran­si­tional step for teams and clients when trying to go from Scrum/Agile or, shud­der Water­fall, to Kanban.

In Scrum­ban you’ll fix a sched­ule, a release every two or three weeks sim­i­lar to Scrum. But unlike Scrum you don’t fix the scope for the sprint.

Instead you work with the client and the team to come up with a pri­or­i­tized back­log of items for that sprint.

Work during the sprint is popped off the top of the back­log stack, so that the most impor­tant work (as judged by the client) is done first.

If the back­log stack gets too small, then, aside from cel­e­brat­ing your pro­duc­tiv­ity, the team and client can regroup and fill the back­log up again.

If the back­log isn’t com­pleted by the end of the sprint, that’s OK because we decided to fix sched­ule (and qual­ity), not scope.

In con­sul­ta­tion with the team and the client, you can take the remain­ing items and start the next sprint with them, or throw them all out if pri­or­i­ties have changed!

Filed under: Kanban, Management

Previous:

Related

Comments