Quantcast
Viewing all articles
Browse latest Browse all 4

Programming as jazz

For your enjoyment and amazement, here is Chris McMahon’s remarkable description of agile development:

This is Ella Fitzgerald and Count Basie doing the song One O’Clock Jump. The song is a twelve-bar blues, which is the jazz equivalent of a database app with a UI. By which I mean: just as every programmer has built a database app with a UI, every American musician has played twelve-bar blues. It is a framework on which many many many songs are hung, from Count Basie to Jimi Hendrix to the Ramones.

This particular video is a great example of agile practice. Listen to how the voice and piano influence each other. This is a lot like pair programming, and it’s a lot like TDD: voice does something; piano responds; piano does something; voice responds. And notice the eye contact. These people are intensely aware of what’s going on instant-to-instant. They have no sheet music (BDUF). They are involved in an activity that takes intense concentration and skill, just like good software development. They are also clearly aware that there is an audience, just as good software development should be aware of the needs of the people paying the bills.

I particularly love it when Ella sings “I don’t know where I’m going from here”. She recovers immediately, of course. It doesn’t get any more agile than that. They are clearly inventing the music as they go along, using skill and experience.

I like Cleveland Eaton the bass player too. I think of him as a tester. He is subtly influencing the structure of the song, changing the dynamics, tying themes together, providing little pushes to the main players. Also, his instrument is much less sophisticated than a grand piano or a human voice, much as testers’ tools are less sophisticated then developers’ tools. For a bonus, here’s a video of the full Basie orchestra featuring a bass solo from Mr. Eaton on another twelve-bar blues. Again, the interaction between bass and piano is wonderfully agile.


Filed under: Machine minds, Miscellany Tagged: 12-bar blues, agile development, jazz, metaphors, programming language Image may be NSFW.
Clik here to view.
Image may be NSFW.
Clik here to view.
Image may be NSFW.
Clik here to view.
Image may be NSFW.
Clik here to view.
Image may be NSFW.
Clik here to view.
Image may be NSFW.
Clik here to view.
Image may be NSFW.
Clik here to view.
Image may be NSFW.
Clik here to view.

Viewing all articles
Browse latest Browse all 4

Trending Articles