Kanban and Scrum – Intention and Implementation

In my last post I introduced the idea of a PVC System – one which exemplifies Pull, Value and Capability – and closed by posing the question as to whether Scrum could be considered to be a PVC System. In answering that question myself, I realised that there is another distinction which I will describe in this post. In doing so, I am also re-entering the great Kanban and Scrum debate, with the goal of learning rather than fighting!

The XP Community popularised the concept of programming by intent; writing code which describes what it is doing rather than how it is doing it (programming by implementation). I believe the same distinction can be used to describe methods, and can help differentiate Kanban and Scrum. Kanban is an intention-revealing method. The intention is to reveal the workflow, visualise the work, limit work in progress, establish a cadence and continuously improve. How to do that is up to the team. They can use any workflow, visualisation, WIP limits, cadence or improvement mechanisms. Scrum on the other hand is an implementation-revealing method. The implementation is described in terms of the Sprint and the associated roles, meetings and artefacts. Even if the implementation is described in abstract terms, as Tobias Mayer does, (and Tobias’s interpretation of Scrum is one I respect greatly) I still consider it to be focussed on implementation.

This is not to say one is better than the other. An implementation is ultimately required, and Scrum has proven to be a very good one with which I have had considerable success. But is Scrum a PVC System? I think it can be, if implemented with an intention-revealing mindset. If the Sprint, roles, meetings and artefacts are implemented in way which reveals the workflow, visualises the work, limits work in progress, establishes a cadence and continuously improves, then it will be implemented with the right intent. I expect that most cases of “Good Scrum” will fall into this category. On the other hand, if the Scrum Sprint, roles, meetings and artefacts are implemented in a mechanical way, then I suspect that the workflow will remain hidden, the work will not be visualised, work in process will not be limited, a cadence will not be established, and continuous improvement will not happen. This is when we get cases of “Bad Scrum”. Thus ScrumBut is not when the Scrum practices aren’t followed per-se, but when they are followed with the wrong (or no) intent.

So Kanban and Scrum are like apples and oranges (to jump to an different analogy). Both are good for you, and both can go together – with other fruit – to create a tasty fruit salad. But they are different. Kanban is intention-based and Scrum is implementation-based.

VN:F [1.9.22_1171]
Rating: 4.7/5 (3 votes cast)

From KFC Development to PVC Systems

I’ve been revisiting my earlier KFC Development work in light of my more recent focus on five primary practices. This is an brief overview of what’s changed, and what my mental model looks like now.

Firstly, I’ve stopped referring to the practices as such, in favour of calling them aspects. Practices always felt slightly wrong, but at the time I couldn’t think of a better way of describing what I wanted to be practical, rather than theoretical points. I think aspects still allows that practical focus, without giving the impression of being a prescriptive process. So the aspects are:

  • workflow
  • visualisation
  • work in process
  • cadence
  • continuous improvement

How does the KFC triad fit into that then. Here’s my thought process, which focusses more on conceptual ideas.

  • Kanban. In this context, Kanban is the tool. As I have become more interested in Systems Thinking, I have become less focussed on the tool. What is more important is the concept behind the tool. Kanban is a great way to create a pull system, but there are others; drum-buffer-rope and CONWIP are a couple. Kanban seems to be the one that’s easiest to explain, and the one that caught people’s imagination, but really its about Pull.
  • Flow. Given the first concept is Pull, and we should flow where we can and pull where we must, then I think Flow comes under the concept of Pull. What I tended to find myself talking about with Flow, however, was what should flow. There’s not point having a pull system where work flows smoothly if the work is useless, so the second concept is really about Value.
  • Cadence. Having identified Cadence as a Aspect, it can’t really be a concept as well. I talk about Cadence as a means of achieving predictability and reliability and of demonstrating capability. Cadence is just one way of doing this however, so the third concept is really about Capability.

So instead of KFC Development, I have moved to thinking of a Kanban System as a PVC System – one which exemplifies Pull, Value and Capability, and that can be described in terms of workflow, visualisation, work in process, cadence and continuous improvement. I quite like the ‘plasticity’ metaphor that springs to mind with this new triad; “the capability of being moulded, receiving shape, or being made to assume a desired form”. Its probably not very environmentally friendly though!

For me this also leads to the question of whether a process (such as, for example, Scrum) is a PVC System. That’s the subject of another blog post though!

VN:F [1.9.22_1171]
Rating: 4.4/5 (7 votes cast)

CfP: LESS2010 – International Conference on Lean Enterprise Software and Systems

This is a belated announcement about LESS2010, whose Call for Papers for LESS2010 closes tomorrow – June 15th.

LESS2010 is the International Conference on Lean Enterprise Software and Systems, in collaboration with the Lean Software and Systems Consortium (LeanSSC), to be held October 17-20, Helsinki, Finland. CfP details can be found at http://less2010.leanssc.org/call_for_papers/ with submission details at http://less2010.leanssc.org/submit/.

Note that we have clarified the submission requirements. The instructions should be used as a guide. However, content is more important than style initially, so submit whatever is best to give us a good idea of your proposal. Any accepted submissions will need to eventually be expanded and conform to Springer’s LNBIP format for publication.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

LeanSSC 2010 UK

The Icelandic Volcano Ash Cloud meant that non of the European Speakers could present at the LeanSSC Atlanta 2010 conference. Additionally, many attendees were unable to make the event. As a result, we have put togther this small mini-conference to allow the speakers to share there ideas and experiences, and ensure that the time and effort put in to prepare is not wasted!

We have chosen to collaborate with the UK Agile Coaches Gathering, are are hosting the event at Bletchley park immediately before that get together, so that anyone wanting to attend both can hopefully save on travel and accomodation.

The following speakers are confirmed:

  • Karl Scotland – A Kanban Universe
  • Simon Baker & Gus Power – Product Development in the Land of the Free
  • Liz Keogh – BDD: A Lean Toolkit
  • Benjamin Mitchell – Using Kanban to Get Knowledge and Continuously Improve
  • Mattias Skarin – Converting A Scrum Team to Kanban

Because this is a free event, with limited places, please only sign up if you are genuinely intending to come!

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)

A Kanban Multiverse – not from LeanSSC Atlanta

I should have been at the LeanSSC Conference in Atlanta this week, but unfortunately Eyjafjallajokull intervened. This is the Prezi I was going to use. It may not make much sense on its own but hopefully gives a flavour of what sort of things I was going to talk about. I’m hoping to put together a post together to flesh out the details.
Update: I posted a write-up on the Management 3.0 site
VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Defining the Last Responsible Moment

I was involved in a recent twitter discussion with Chris Matts about Lean’s “Last Responsible Moment”, and he set a challenge to come up with a usable definition. Chris’s opinion is that there isn’t one, compared to the Real Options equivalent. This then, is my response to that challenge.

I will define the Last Responsible Moment (LRM) in terms of Cost of Delay, as used by Don Reinertsen, and Benefit of Delay, a related term that came up in an email conversation with Julian Everett. In short, the Last Responsible Moment is just before the Cost of Delay outweighs the Benefit of Delay. Its not necessary to be able to quantify the costs and benefits very accurately because any evaluation is going to be better than none!

In his challenge, Chris used the example of knowing the Last Responsible moment to submit a session for Agile2010. I’ll use that example to explain my definition.

Firstly, the Cost of Delay for submitting to Agile2010 goes up at the submission deadline, because when you can no longer submit, can can no longer get accepted, and thus can no longer receive speaker benefits including conference registration, complimentary hotel nights. However, that does not make the submission deadline the LRM, because there is no benefit in delaying submission due to the open commenting and review process. Thus the LRM is actually as soon as the submission system opens. From then on, submitters are losing the opportunity to improve their submission.

What would happen if the Agile2010 submission process wasn’t as open or iterative? In that case, then there would be benefit in delaying, because it would allow more time to refine a submission before entering it. The Benefit of Delay would drop off just before the deadline, however, so the LRM would be then.

A third scenario, as suggested by Chris, is that a speaker might have something so important and valuable to say, that the Benefit of Delay doesn’t actually drop off at the submission deadline. There may be a Benefit right up to the conference itself because a speaker can turn up with a Soap Box, or propose a session for Open Space. The Cost of Delay remains the same, due to the loss of speaker compensation, but the Benefit might always outweighs the Cost.

Finally, in this scenario, a speaker might choose to register for the conference early anyway to take advantage of any early bird deals, and book flights and hotels early to get good prices. This would reduce the Cost of Delay, and thus potentially reduce the Benefit needed to make it worthwhile not requiring an official speaking slot on the program.

To summarise, understanding both the Cost of Delay and Benefit of Delay can be a practical way of defining the Last Responsible Moment. Real Options thinking provides ways of influencing the Costs and Benefits of Delays to gain some flexibility.

VN:F [1.9.22_1171]
Rating: 4.0/5 (2 votes cast)

Facilitating A Kanban Konversation

As I mentioned in my Scrum Gathering Musings, I came up with a twist on the Goldfish Bowl format which I used during the Kanban Exploration Deep Dive.  Here are some more details.

The Goldfish Bowl format works really well for facilitating a focussed discussion with a large number of people. It keeps the active voices to a manageable number, while being open for anyone to join in if they have something to add. Apart from providing a solution to my challenge – keeping a spirited debate under control – it also seemed appropriate that the limited number of chairs provided a means of limiting “Voices In Conversation”.

However, there was one thing about the Goldfish Bowl which didn’t seem appropriate. With a Goldfish Bowl, when someone wants to join the discussion, they fill an empty chair as part of the conversation, and force someone to leave to free up a seat again. That seemed to be like “pushing” in to the discussion. What it no-one wants to leave? So instead, I moved the empty chair out of the discussion, and made it a Queue. If someone had something to contribute, they could fill the “Waiting to Talk” seat, which would be a signal to the “In Conversation” people that one of them should leave when ready. I was pleased to find that this change worked really well. Rather than the discussions being interrupted when people moved around as they figured out who would leave, the conversations flowed smoothly as people moved in and out naturally. Initially the “Waiting” person had to wait some time, but once we got used to the system, this seemed to be less of a problem.

These are the instructions I used:
  • 4 “In Conversation” seats and 1 “Waiting to Talk” seat
  • Only “In Conversation” people may speak
  • If you want to join the conversation, fill the “Waiting to Talk” seat (if it’s empty)
  • When someone “In Conversation” leaves, that is a signal to move from “Waiting to Talk” to be “In Conversation”

I wondered whether we would evolve the system, by increasing or decreasing the number of seats in each state, but that didn’t happen. Its something I’ll look out for in the future. I’d also love to hear if anyone uses this format, or has already done something similar.

VN:F [1.9.22_1171]
Rating: 4.8/5 (4 votes cast)

Did I Mention The LeanSSC?

I’ve just posted an entry on the LeanSSC blog, introducing myself, and talking about my involvement with the group. Its the first of what I hope will be a series of posts introducing a number of the founder members of the Lean Software & Systems Consortium. The goal is to create some more visibility and transparency of who the LeanSSC is and what we are trying to achieve. In addition we have created a public Yahoo! Group where we hope that we can more openly discuss the ideas advocated by the LeanSSC.

While I’m talking about the LeanSSC, I should highlight that if you’re thinking of going to the Atlanta conference and haven’t booked yet, the price gores up again in April. Book now while you can at $995. And if you’re not thinking of going, why not?!? The program looks excellent, and having just begun piecing together my talk, I’m really looking forward to it. I’ll be bringing together some ideas on visual management kanban board techniques which I’m calling the Kanban Multiverse.

An added benefit of coming to t he conference is that the Technical Advisory Board is also meeting at the same venue on April 20th (Tuesday) and is open to all conference attendees. To attend all you need to do is to show up a day earlier, and to register for the conference and collect your badge on Tuesday. The registration desk volunteers will direct you to the room for the TAB meeting.

I hope to see you there!

http://atlanta2010.leanssc.org/
VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Scrum Gathering Musings

I came away from the Scrum Gathering last week feeling surprisingly positive about the future of the Scrum Alliance. All in all it was a very enjoyable conference, and my overall impression was of a community which is more open and inclusive than I have perceived it to be for a long time. Talking to Tobias Mayer at the end he put it quite nicely – the Scrum Alliance is about transforming the world of work, and not about defining Scrum.

My Kanban Deep Dive seemed to be well received. I had a great group who were very engaged and willing to enter into the spirit of lively debate, including Jean Tabaka, Lasse Koskela and Jurgen Appelo. My goal was not to “teach” Kanban, but to explore some of the key elements, and how they compare to Scrum. After some inspection and adaptation, the discussions centred around “how will these ideas change the way I work?” It was interesting to hear some diverse opinions and discover how people would take away what we covered. I also came up with a new format inspired by Kanban – the Kanban Konversation – a pull-based variation of the Goldfish Bowl. I’ve blog about this separately.

Other sessions I went to included a couple on Lean Thinking and Scrum, including a great summary of Statistical Control Charts by Mark Strange – something I never thought I would see discussed openly within the Scrum Community! Mike Cottmeyer also hosted a useful OpenSpace session on Scaling Agile in which we explored his ideas about using a Kanban approach to co-ordinate Agile Enterprises.

The OpenSpace itself was hosted by Harrison Owen, creator of the format, and it was insightful to hear him talk about its origins, and how he typically uses it. I liked the more fluid way of creating the market place. Proposers were limited to stating the problem they wanted to discuss, and their name – no rambling descriptions or explanations. The market place itself was had no explicit schedule – proposers just added a post-it with a time and location to their problem. The schedule seemed to self-organise into more of a structure later on. One thought I had was that OpenSpace as used by the Agile community may itself be overkill for how we use it. I’ve never been to an Agile OpenSpace in which we needed to solve a specific problem by yesterday. Rather they are forum for open conversations on a variety of topics relevant to the conference and community. Much like the conversations I generally find mysefl involved in over a beer (or Mohito this time) in the evening. I wonder what would happen if we simple hired a bar for a couple of evening and people came along for a drink and a chat? Oh wait, that’s XTC!

To sum up my thoughts after the Scrum Gathering, it seems to me that the Scrum Community is now seeing itself as part of the picture, and not he whole picture, which can only be a good thing.

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Systems Thinking, The Vanguard Method and Software Development

I’ve recently read John Seddon’s “Freedom from Command and Control“, which introduces his approach to Systems Thinking – the Vanguard Method. A few key points really struck home with me and helped clarify my thoughts on some of the challenges I’ve come across recently.

First is the following simple diagram, which shows that Management is responsible for defining the System, which is ultimately what defines Performance. Management’s role should be to analyse Performance, and change the System to improve it.

Agile initiatives are usually begun in order to improve performance. Seddon says that in order to analyse Performance, we first need to understand the Purpose of the System. Then we should create Measures to provide knowledge of how well we are meeting that Purpose, before finally applying a Method which meets that Purpose, using the Measures to help refine the Method.

Finally, Seddon says that understanding Purpose involves understanding Demand, and in particular, Seddon introduces the concepts of Value Demand and Failure Demand. Value Demand is what do our customers ask us to do because it add value, and Failure Demand is what our customers ask us to do because we failed to something, or do something right in the first place.

I’m increasingly aware of Lean and Agile methods being used for the sake of it. While Scrum, XP and Kanban will generally serve common software delivery Purposes, such as delivering real benefits and in short timescales, using them without recognising the Purpose will often result in no real improvement in Performance. Lean and Agile methods are often used just as alternative delivery approaches within an existing System, rather than as means to change the System itself. These organisations can be thought of as “wall-dwellers”, using a method within existing boundaries, rather than “wall-movers”, moving the boundaries to help create a System which helps meet the Purpose. To quote (or paraphrase) Russell Ackoff, this is “doing the wrong thing righter, rather than doing the right thing”.

Do you know what the Purpose of your software development process is? Do you have Measures about capability against that Purpose? Do you know what your Value and Failure Demand is?

VN:F [1.9.22_1171]
Rating: 3.6/5 (12 votes cast)