The American Idol season finale starts in a few minutes and I am really hoping that Adam Lambert pulls it out tonight.... that guy can really sing. Okay... okay... this is not a blog about American Idol... just had to get that off my chest. But in all seriousness... that is what I am planning to do with my evening... watch Adam Lambert take home the crown. Just had to pound out a quick post to get a few questions out into the blogosphere before the Adam Lambert victory party begins.
Okay... really.... no more Adam Lambert... I want to know what you guys think about all this Kanban stuff and how it fits with the rest of agile...
Over the past few days I have been dipping in an out of the Kanban boards and paying a little extra attention to what David Anderson is writing over at www.agilemangmement.net. David did a nice piece this week asking if Kanban is just a tool? The conversation has been great and I appreciate the time and energy everyone is putting into the discussion. I am learning a lot. That said, there was one particular quote in David's last post I would like to discuss:
There has to be a way to make use of this entire body of knowledge. However you slice it... it is up to us to know how to use all this stuff and choose the best practices for the situations we find ourselves in. Once we see things through that lens, it becomes less about who is right and who is wrong... and more about how to apply this stuff... and when to apply this stuff... and more about how we can move the industry forward the best we collectively know how.
"So Kanban (pull) changes the underlying paradigm from project-centric to flow and value-stream centric." - David Anderson
I'll admit, I am still getting my head around all this Kanban stuff. If we are using Kanban within the sprint to put visibility around the flow of work within the iteration, I get it. If we decide the iteration is waste and decide to go to a total pull system... cool, I get it. If we are able to increment an existing application little bits at a time, I pretty much get it. Are we going too far saying that our industry is moving away from the project-centric paradigm? If that is the case, we need to at least establish context.
Are we working on incremental changes to an existing product? Okay, I get Kanban. Are we working on a support queue? Okay, I get Kanban. I can see how Kanban is more than a tool in that context... it embodies the values of Lean thinking... pull, flow, value, waste elimination, and continuous improvement. It becomes not just a way of measuring and limiting work in process but a way of thinking about the work itself. In that context, projects don't make a whole lot of sense.
What I don't get is how we are going to do pull and flow and only work on a single slice of the application at a time when we are doing a large scale system implementation. When we are building an application from the ground up and there is no foundational architecture. When it takes time to established a shared understanding of the overall product vision to converge on an acceptable technical solution. What about when we are working on a system of systems? What if some of those systems are external suppliers of systems that have to integrate with our system?
What about when we have incremental investment and have to be done at some given point in time? No release planning? No iteration planning? No product backlog? Have we moved past the triple constraints when our customer expects delivery at a certain time, at a certain cost, with some idea of what they are getting for their dollars? Does Kanban work here too... if so, is it the same Kanban we were talking about before?
I think that in some ways Scrum is hitting a wall because some of us think that Scrum is the answer to everything. Is Kanban the new answer to everything? Is it going to replace Scrum and XP or DSDM or AUP or Crystal? I can't even imagine how we can have these conversations without understanding where and when is the best context to apply these principles. I feel like a broken record but there is a time and place for all these techniques.
There has to be a way to make use of this entire body of knowledge. However you slice it... it is up to us to know how to use all this stuff and choose the best practices for the situations we find ourselves in. Once we see things through that lens, it becomes less about who is right and who is wrong... and more about how to apply this stuff... and when to apply this stuff... and more about how we can move the industry forward the best we collectively know how.
Adam Lambert or Kanban... you decide?
Addendum 5/21/2009: I was really bummed that Adam didn't win... oh, well.
Addendum 5/21/2009: I was really bummed that Adam didn't win... oh, well.
