Did you hear about the facebook addicted criminals story on Sheryl's keynote speech at Advertising Week! (She is the COO of Facebook. She explained a true story of a criminal entering to a house, seen facebook in the computer. Logged in to it but didn’t log out ! :) He must be a Facebook addict like me.
Ok where did this Facebook story came up.. Ok.. Now I can remember , I saw someone’s FB status said today that treat every problem as an opportunity. I believe in it ! I have been always whining about my home only weekends.. But now Ive kept my whining aside and learned to use it as an opportunity to spend little time on reading..
Never mind all that.. Lets get in to the point.. Scrum and Kanban.. I see some heated up discussions going on….!. Its sad that some people believe that scrum is a god given solution to all the problems.. Scrum is great and it works in the right context! But not in all the contexts. I saw an article published by Crisp.se, they ask what do you think is the best tool … Fork or spoon? Good example. I know It’s a senseless question. So if you ask me again what’s best Scrum or Kanban I would say it’s a senseless question.(But I admit that I have not used Kanban in practice) But if you ask what’s much more prescriptive, definitely I can see that Scrum is more prescriptive than Kanban. However all the agile methods are much much less prescriptive than waterfall methods and that’s why those are mostly referred as light weighted methods. When the prescriptiveness is less in a tool, one should use more creativity and brain to make it work, but you get less constraints and high freedom.
Scrum works perfectly in product development.. But I can foresee its definitely going to be failed when you cannot plan proper sprints, when you can’t have that committed time for committed user stories. The best example is maintenance projects. How long you can commit to ? 1 month sprint ? 2 weeks sprint .. No.. most the time you cant go beyond 1 day I suppose.
In the article written by Henrik Kniberg, about how you can make scrum works with Kanban, he describes the adaptiveness and prescriptivenss of various methods beautifully. There he compares RUP , XP, SCRUM , KANBAN, and another Agile method called Do what ever :) ( which most of us are frequently used to :)) He rates the Prescriptive to adaptiveness scale of these methods as RUP (highest 120+ ) XP (13) Scrum (9) , Kanban (3) and Do what ever as 0 . As he says “RUP is pretty prescriptive – it has over 30 roles, over 20 activities, and over 70 artifacts, this may be one reason why RUP implementations end up being heavy weighted compared to Agile methods such as SCRUM and XP”
The main difference between XP and scrum is that , XP stress on how to do work such as test driven development and pair programming.. But Scrum doesn’t tell us about how we should do development. So scrum is definitely going to be more adaptive than XP.
Lets look at RUP and SCRUM now.. Most the time Im in firing line about Scrum as most my colleagues are coming from "sort of RUP" environment. I had an interesting discussion today with a PM friend from my PM network, he said RUP is like a dish with too much of salt and SCRUM is like a dish with too less salt. You will not eat both as it is.. there are so much you should take out when you are implementing RUP , same time you need to add bit more essence to SCRUM when you are implementing it in practical environment. (Read my previous post about SCRUM and test cases/use cases.)
Ok looking back to Kanban, Kanban also looks very attractive to a less process person like me LOL
The main differences Ive understood In Kanban compared to SCRUM is that;
1. Scrum tells you when to do planning , when to do the retrospective when to do the next sprint planning.. in Kanban you do as you see the requirement for it
2. In Scrum you are focused on delivering what you are committed to sprint, you do your best.. deliver what you can , next sprint you see how to improve, you measure this by velocity of a sprint, in Kanban you limit your Que in a workflow state. As an example you can say you can’t have more than 2 to do items in the item dashboard at any given time. But in Scrum you commit to user stories and you control the work to do by committed user stories.
My personal view is that Scrum is somewhat lean(But I know there are lots of arguments over this at the moment.) However Kanban is much more Lean than Scrum for sure.
Kanban don't stress about time boxing as far as Scrum revolves around it , Kanban cares about lead time.
To me as I read Kanban can be scaled much easier for multiple teams. But I need to experiment more on that.
I think this is one reason why I think Kanban can be a help in maintenance type of projects when Scrum becomes challenging.. However today there are lots of mix marriages.. Mix when you want to get the best out of them.. I had a waterfall team who had 15 min stand up meeting every morning.. Im going to have scrum teams who will use use- cases for user stories from RUP process. Now I don’t mind combining Kanban with Scrum when its needed.. ! All what matters is the success of the project. All these are tools for you to use them right to get in there.
Following diagram is taken from http://www.infoq.com/articles/hiranabe-lean-agile-kanban