Balanced Software Development

Agile2009 provided me with 3 sources of ideas which all complemented each other, and which I think make an important point that I want to repeat.

Firstly, on the flight over, I read John Shook’s blog post about his work with Starbucks. In it, he responds to the suggestion that by advising Starbucks on using Lean methods, he is transforming them into a robotic fast food joint like McDonalds. That suggestion sounds similarly like the common claim that Kanban transforms software development back into a robotic process. The piece that stood out for me was this:

Toyota combined old IE Scientific Management principles and techniques with social dimensions appropriate for the modern world. Even workers who do “manual labor” with their hands are knowledge workers. Front-line employees become the scientists.
By redefining roles, Toyota changed the answer to the question of who is the scientist in scientific management.

In other words, Scientific Management is still relevant for knowledge work, when the workers are the scientists. That keeps the balance between the Process and the People.

Secondly, Alistair Cockburn talked about three pillars of Effective Software Development in the 21st Century in his Agile2009 keynote. The 3 pillars are:

  • Cooperative Game
  • Craft
  • Lean Processes

Again, this to me demonstrated the need for a balance between the People and Process focussed elements.

Finally, I attended Jon Dahl’s talk on Aristotle and the Art of Software Development. This focussed on the differing ethical philosophies of Kant, and Mill and Aristotle:

  • Kant looked at the Acts, known as Deontology. This can be equated to looking at Process.
  • Mill looked at the Effect, known as Utilitarianism. This can be equated to looking at Outcome.
  • Aristotle looked a the Actor, known as Virtue. This can be equated to looking at the Participant.

Chatting with Matt Wynne after the talk, we both had the same thought. While individuals will probably sway to one form of these philosophies, there is room for all of them, and again, a balance is good. I would even go so far as mapping the three philosophies on to Alistair’s three pillars.

  • Deontology is Lean Processes
  • Utilitarianism is Craft
  • Virtue is the Cooperative Game

In many of the recent discussion I have seen and been involved in on Lean and Agile, and Kanban in particular, it seems to me that most of the debate is because the various participants are talking from the perspective of one of these pillars or philosophies. We should remember that they are all important, and that achieving the right balance is what is going to help us be successful in delivering valuable software.

Reflections on #Agile2009

I’m just about recovered from Agile 2009, and about to disappear off the grid for a much needed break in the sun. Before I do so, I wanted to jot down my immediate reflections on the conference while they were still fresh.

The conversations in between sessions are always great at the Agile conferences, but this year, I think these conversations were the main highlights for me. I met lots of new people who I’d only previously known online, as well as re-acquainting myself with people who I usually only see once a year. My top 3 highlights were:

  1. Discussing team maturity and explicit and implicit Kanban WIP limits with Alistair Cockburn.
  2. Splitting hairs on the finer points of Lean (Kanban) and Theory of Constraints (Drum Buffer Rope) with Mike Cottmeyer (apparently it was a highlight for Mike as well)
  3. Debating all sorts of ideas around Kanban with Arlo Belshee and Bonnie Aumann – including drawing on beer mats and using beer glasses and other implements to aid visual representation.

As far as scheduled sessions went, Mary Poppendieck gave a good talk on Workflow and Scheduling in which she nicely transitioned from a time-boxed schedule to a kanban work-flow using a form of cumulative flow diagram. Jon Dahl also gave a thought provoking talk on Aristotle and the Art of Software Development, which for me tied in nicely with Alistair Cockburn’s keynote, and some other thoughts I’ve recently had. I’m planning on blogging more on both these topics more when I get back off holiday. See you then…

Agile 2009 and Scan-Agile

I’m going to be at Agile 2009 next week in Chicago. I’m not presenting any sessions this year, but I’ll be hanging around the Kanban stand at the Freshers Fair, and probably spending some time in Open Jam to hopefully catch up with people in person while I have a chance.

I’m also really pleased to have been invited to speak at the Scan-Agile conference in Helsinki, where I’ll be talking about Five Steps to Kanban. Here’s the abstract.

A Kanban System for Software Development provides an alternative means of creating an Agile Development process using Lean Thinking. Creating a Kanban System is not as simple as adopting a previously defined process as a starting point. Instead, a team needs to come up a model of its own process which will form the basis for further continuous improvement. This talk will introduce 5 steps that a team can use to create their own Agile process using a Kanban System for Software Development.

Support the Agile Fringe

Agile 2008 was driven by the vision of a music festival (e.g. Glastonbury).  In the same way that music festivals encourage new and emerging acts, Agile 2008 had a Breaking Acts stage with the same goals.  Agile 2008 also had a Questioning Agile stage in order to be transparent and encourage debate about Agile.  Agile 2009 has lost both these stages.

David Anderson has written an open letter to the conference committee proposing an Agile Fringe stage which will encompass both these areas.  The intent will be to allow an explicit means for the Agile community to encourage innovation and be open to new, different or rediscovered ideas and thinking so that we can continue to learn and improve in new directions.

If you agree with these sentiments, please go and read the letter on David’s blog, and show your support by signing the letter with a comment.

Update: I should also say that I have both privately and publicly supported Johanna and the conference committee.  You can also show support for the conference committee on Johanna’s blog.