For the past five years I have considered myself to be a Agile SCRUM enthusiast. However, recently I have started to doubt the process in terms of it working effectively. Some of the key issues I have are:
- The planning overhead which comes around every iteration
- The reliance on promoting productivity by limiting the time available during an iteration
- A successful iteration relies on accurate estimation and that is always accurate right!?
- Retrospectives are negative by nature
Of course there are many benefits that SCRUM brings to the table, such as the focus on iterative development, continued customer engagement and measurable performance (that one is the manager in me).
Recently I have been researching Kanban as an alternative option to SCRUM. Kanban literally throws sprints out of the window – not to mention those long planning meetings. This methodology focuses on continuous flow – driving productivity by limiting the number of work items in progress at any one time. The focus is on completing what you start. One phrase these past few days which has stuck with me which I think I read on the Kanbanize blog was – Stop starting and start finishing. I believe this sums up Kanban’s essence perfectly.
The visualisation of flow is certainly not new or that different to what you do with a information radiator in SCRUM – yes you may have more “steps”, should you desire. But the idea is to represent a queue based system where work items are pulled and flow along the process.
You can use swimlanes to represent service classes which in turn can be used to prioritise items according to the business rules within your organisation. I am certainly intrigued to see if Kanban can increase productivity and as they say eliminate waste (i.e. Planning overhead) through its methodology.
Any developer would be hard pressed to argue that context switching between different work items makes you more productive. You become naturally less effective when you are constantly required to pick you one piece of work, then another all at varying stages with different requirements. It can also be quite demoralising in one sense – but finishing work… now that is a good feeling!
Be it Kanban, SCRUM or whatever else… Finding the right process and molding it to fit your organisation and processes is always key. I am looking forward to trialing Kanban to see if it can “deliver”. I am sure it too will have its own drawbacks, the key will be is which is the most effective and enjoyed overall (it’s important to like what you do right!).
Finally, the most straight forward way to setup a Kanban board would be to use a physical whiteboard for example. I have always been a fan of physical boards from my early SCRUM days, simply as it provides a tangible view on where things are at. There was always something satisfying about moving those cards to the “done” column.
However, physical boards have limitations and can become messy. Also for remote workers, access to the board becomes a issue which brings us back to a virtual online board. Again I have been looking at the various feature sets for many such tools. In the past I have used Trello, YouTrack and typically in the most part JIRA Agile. One online offering which has caught my eye, is the Kanban board from Kanbanize. In terms of features it seems to meet most of my requirements. However, moving away from JIRA (no matter how much some elements annoy me!) would be a considerable step away from the Altassian eco-system which I am not sure about. The success and adoption of such a tool will more than likely play a key factor in how well our experiment with Kanban goes! I guess, time will tell!