February 4, 2012

BigVisible Blog

An Agile Team is an Engine

[In a private email discussion with the other BigVisible coaches I came up with the following metaphor. I thought it might be of general interest, so I'm reproducing it here with a few small edits.]

An Agile team is like an engine. An engine needs four basic things to work well:

  1. Feed it lots of fuel and air at the right moment.
  2. Ignite the fuel and air at the right moment to generate power.
  3. Transfer power to the drive line to do some useful work.
  4. Remove waste gasses at the right moment to maintain volumetric efficiency on the next stroke.

Agile teams need similar things:

  1. Feed them valuable ideas to implement at the right moment.
  2. Implement high-quality software at the right moment to realize value.
  3. Transfer that value out to the customer so that they can do their work.
  4. Receive feedback at the right moment to maintain the delivery of value on the next iteration.

Extending the metaphor:

  • Scrum is a bigger engine. It is theoretically capable of generating higher output, if you give it all of the things above.
  • XP (or “technical practices” if you prefer) is a well tuned ignition system. You need it to maximize efficiency and clean power output.
  • Kanban says, “Find the bottleneck and eliminate it.” That is great advice (For engines too) but maybe not specific enough to tell us how to make a Civic beat a Ferrari. [Note: I deliberately diminished the importance of finding and eliminating bottlenecks here. To be clear, I think it is one of the most important skills a coach (or engine builder) can have.]
  • Effective product ownership and related business practices are your intake plenum. The fastest way to sap an engine’s power is to starve it here (That’s why they call it the “throttle.”)
  • Your direct line to your customer is like your exhaust system. The tighter and twistier and more packed with crap it is the less power you will get.

To go fast you need all of these parts to work together. So, start with a bigger engine. Sure, why not? Start with more efficient spark. Sure, why not? If you want to get faster you’ve got to understand the whole system, and it more or less doesn’t matter where you start.

Comments

  1. Kevin Marsh says:

    I would add that an agile team without the right insulating support functions is useless. I have seen high-performance teams that tried to operate in context of a complex environment without success. Supporting roles like the right level of product mgt / requirements input, architecture / design decisions, testing rigor, and implementation assistance can make the difference here. Else the team is like a supercharged engine with no way to ensure a steady supply of intake and no way to transfer power to the wheels.

  2. Chris Chan says:

    Kevin, I agree – that’s why we have airbags to help provide a safe way to recover and continue on our journey

  3. Adam Sroka says:

    Hi Kevin:

    I agree in principle that we need all of the supporting systems to make our Agile team useful. In fact, that was the thesis of the post.

    Some of the things you mentioned I meant to imply when I said “effective product ownership and related business processes.” Others, I think, will vary from one organization to another. A very Lean implementation of Agile may not need these things, but some organizations may see significant benefits to them.

  4. Adam Sroka says:

    Chris:

    Ouch! I knew someone would eventually beat my metaphor to death ;-)

    BTW, airbags aren’t for “recovering and continuing our journey.” You are probably thinking of brakes. Airbags are for surviving failure so that we can perhaps drive a different car some day.

  5. Chris Chan says:

    Well this metaphor is getting bigger…..

    I see brakes and accelerator as a way to change pace (when something is going well, we want more and when something is not working, we want to slow down and stop). The steering wheel is a means to change course.

    So back to airbags – I think if we combine our two statements, it would complete the picture – “Airbags are for surviving a failure so we can recover and continue our journey”.

  6. Johnny says:

    … and the accelerator is the Planning, the dashboard the Review, the tune-up the Retrospective, the OBD the Daily Standup, the mechanic the ScrumMaster, the driver the Product Owner … :-)

  7. neurofen says:

    interesting metaphore. I think kanban is a little more important than you state. kanban i more like having your Civic on a highway and controlling its speed – less stop starts so it arrives at its destination at least as fast as the Ferrari.
    Tuning that process, to eliminate bottlenecks, is the responsibility of the entire team, not just the coach (engine builder). In truth, the engine is part of a dynamic system.

Speak Your Mind

*