XP2010 had a banquet including a jazz keynote by a couple of seasoned, Norwegian jazz musicians, Jon Pål Inderberg (sax, vocals, body percussion) and Bjørn Alterhaug (double bass). They performed for us, and talked about improvisation and things like structure, freedom, trust, etc. It was food for thought and a great experience.
I’ve seen other metaphors for software development, such as gardening, cleaning a kitchen, making a film, technical debt, construction, and martial arts. Last week I was inspired by the jazz keynote and by @agilemanager to think about musical performance as a metaphor.
What to play in a concert is decided in advance – for a classical concert well in advance, and in detail. A jazz band, however, often finalizes the playlist just before the concert, even modifying the playlist as the concert goes on.
The plan for the performance of a single jazz tune is often subject to variation and “planned uncertainty”. For example, the band knows where an improvisation part starts, and knows on what cue to move to the next part, but they don’t know in advance what happens in between or how long the part is going to be.
The adaptive nature of a jazz concert or a song enables an agile response to change. There is focus on flow towards delivering value to the customer (and each other), instead of doing a certain amount of ordered work. Circumstances can be taken into account, like the mood of the audience, interruptions, etc.
From the jazz keynote: Embracing Errors as a Source of Learning
A successful jazz concert produces an amount of music that’s never been played before, while a successfull classical concert should vary only in subtle interpretation details. F.ex., it was unusual for Miles Davis to practice with his band; he wanted to hear something new in each concert, and said to them that they were being paid to rehearse on stage.
Whatever type of music, a good musician spends time learning her craft, both practicing by themself and doing music with others.
Collaboration, WIP Limits
Have you noticed that during a drum improvisation the rest of the band dials back, sometimes all the way back? Some instruments playing less makes more room for others, there’s imitation and learning from each other, and there’s collaboration and conversation going on.
Sometimes a composer (of any kind of music) or a jazz performer impose restrictions in order to foster creativity. Those limits can be rhythmical, tonal, or on any degree of freedom. (Cue “One Note Samba“…) Such limits increase throughput of ideas, and give more room for important information that the composer or musician might want to accentuate.
Instead of everybody doing “their own thing”, a jazz musician can be quiet, listen, and then contribute to what the others are doing. Slack, i.e., doing nothing and listening, makes room for others and opens you up for creativity. You can be ready and agile, and then contribute where the song is going.
Kanban is Agile Jazz
Don’t get me wrong: I love lots of classical music, and I think there’s room for various agile tools in a software development toolbox.
Kanban is one of the most adaptive tools, however, with focus on flow, WIP limits, starting with the existing process and continuously improving step by step.