July 2008

Modeling kanban systems as Petri nets

You might think there’s only so much one could say about moving sticky notes around on a whiteboard, but no, there’s still quite a bit left to cover on that topic. One of the nice things about computer science / informatics is that it provides us with such wonderful tools for describing the behavior of complex systems, especially for event-driven systems like our kanban-regulated software development workflows. If we have a lot to say about this subject, it might help to say some of it in more precise language.

This Petri net diagram describes a basic module of the type of kanban system that we’ve been using to manage software development processes. This is a simple pending->working->complete workflow, but this module can be chained together to add additional steps.

The example has a WIP limit of 3. If all 3 kanban tokens are in the busy state, then no tokens will be available, so the work item transition from pending to in-process cannot fire. As soon as an in-process work item completes, then a busy kanban token will return to the available state, and enable the transition of a new work item out of the pending state.

A curious thing about our model here is that it does not impose any queueing order. A manufacturing system might have a FIFO queueing rule, and therefore require some additional model detail. Our system has no such limitation, so our simple little model is pretty representative just like it is.

We can describe additional features of real-life workflows by using the Color and Hierarchy extensions to Petri nets. There are also other variations of the kanban signaling mechanism that we might tinker with. But we should be able to describe most anything we can think of, and I’ll revisit this topic in a coming article.

Comments (6)

Print This Post Print This Post

Email This Post Email This Post



As more people become interested in Lean ideas and their application to knowledge work and project management, it’s helpful to find ways that make it easier to get started or learn a few basic concepts that can lead to deeper insights later. For those that are curious about kanban in an office context, it’s not unusual to find people who are either currently using Scrum, or have some understanding of Scrum as representative of Agile thinking. One way or another, Scrum users are an important constituent of the Kanban audience. Since Scrum can be described as a statement in the language we use to describe kanban systems, it is also fairly easy to elaborate on that case in order to describe Scrum/Kanban hybrids…

read this paper…

Comments (0)

Print This Post Print This Post

Email This Post Email This Post


Software development pull systems at Agile 2008 Toronto

There’s a nice theme going on at this year’s Agile conference from practitioners of kanban and other pull-like systems. I wanted to make a t-shirt that said something fun like Have you pulled your kanban today?, but ultimately got voted down.

Here’s a list of pull-related topics. Please let me know if I missed anything.

Tuesday, August 5

Agile Game Development with Clinton Keith: Agile video game teams have adopted not only Scrum and XP, but are adopting Lean, Kanban and other practices to find ways to make better games.

Wednesday, August 6

Value Stream Mapping – Extending Our View to the Enterprise with Alan Shalloway: As effective as Agile teams have become, many times it isn’t the team that is the problem. In many cases, the structure within which the team exists is more problematic than the performance of the team itself…

Come and Take It! Lean Pull Applied with Rod Coffin and Don McGreal: The concept of “pull” from lean manufacturing challenges mainstream approaches to software development and reconsiders how value is delivered to the customer by inverting the thought process and focusing first on delivery.

GTD + Kanban + Round Robin for Product Owners with Thomas Nilsson: This demonstration will show how a Kanban board (task board with “states”) can be combined with a “round robin” scheme to keep analysts and Product Owners working on multiple tasks of high priority, but with potentially long lead times and fuzzy done criteria.

Thursday, August 7

Future Directions for Agile with David Anderson: How does our definition of agile evolve? How do we learn and adapt as a community? What about new ideas like Behavior-Driven Development, Kanban, Real Options, and others? Are they agile or not?

KFC Development – Finger Lickin’ Good with Karl Scotland and Aaron Sanders: This workshop explores three important Lean concepts – Kanban, Flow and Cadence (KFC) – which can be combined to generate a more pipeline-based approach to software development, as opposed to the more common timebox-based approaches of more Agile methods.

Estimating Considered Wasteful: Introducing Micro-Releases with Joshua Kerievsky: Micro-releasing has simplified our process by eliminating traditional agile planning activities…Instead, our focus remains on the mini-release. What important user story or stories do we most need to ship to production in the next few days?

Friday, August 8

Starting a Kanban System for Software Engineering with Value Stream Maps and Theory of Constraints with Corey Ladas: Any process with a recognizable workflow can be made into an efficient pull system by applying the kanban method. We can use kanban to transform either a traditional phase/gate software development system or a time-boxed iterative system into a lean continuous-flow system.

Comments (4)

Print This Post Print This Post

Email This Post Email This Post


E-mail It
Socialized through Gregarious 42