Do You Play Jazz or Classical?

Tom Collings
5 min readMar 1, 2021

Ever since I was very young, music has been a part of my life. There has always been music playing in my house, and I was encouraged to take up instruments to learn how to play along.

I started on the drums. Good grief, my parents were patient.
I started on the drums. Good grief, my parents were patient.

Classical musicians have an incredible talent. They are able to see a technically challenging score and play along with it, recognizing the nuances of phrases and intonations that the composer had envisioned when the piece was written. The truly great ones work with the composer to refine the score, adding notations to really draw out the emotions of the piece. Getting many of these talented musicians together in an orchestra produces a piece that a great conductor can draw out of the individual talents.

When attending a classical performance, the expectation of the audience is to hear the composer’s work, and the conductor’s interpretation of that work. The musicians play along to the score — exactly along to the score — and during the performance they only react to the conductors cues: never to the audience, and almost never to the other musicians. The paying audience has no part at all in the quality of the performance.

Yeah, this still holds true even if Leopold is conducting
Yeah, this still holds true even if Leopold is conducting

Improvisational jazz musicians take a fundamentally different approach to their performances. The song may be known, but the arrangement is handled in real time according to the various skill sets of the musicians. For example, the cornet may call “we’re doing a ii-V-I in E-Flat minor, 150 bpm with a shuffle feel, I’ll take the main melody, we’ll cycle solos, watch each other for cues. Drummer, count us in.” In this case, there may be a score but none of the musicians are relying on it. They rely instead on their experience as musicians. Also, the feedback cycles are not on a sole conductor, but instead on listening to what the other musicians are playing and mostly to how the audience is reacting to their playing.

That last point is an important distinction: the audience here is not paying to hear something exactly as it is written, but instead will hear a unique piece tailored to the wants and mood of the audience. The audience is a part of the arrangement, as opposed to a passive listener.

Joe Oliver was pretty awesome
Joe Oliver was pretty awesome

There’s a parallel here to software consulting. If you, as a software consultant, go to a customer site with a single score — and play that score, expecting the customer to appreciate the greatness of that composition — you’ve just done your customer a disservice. Even if the customer is expecting to hear some Salieri, and you bring the Mozart, you’ve still just executed a one-way performance with no feedback from the listener.

Salieri was talented, if a bit jealous. Good reason to be too, given the shadow cast by Mozart.
Salieri was talented, if a bit jealous. Good reason to be too, given the shadow cast by Mozart.

If you bring an opinionated playbook, and strongly adhere to those opinions, you’re playing a score that the customer may not have paid to hear. “I’m going to die on the hill of TDD, pair programming, lean ceremonies, and user-based design!” Great. Is the customer resistant to those practices? Are they even set up to handle those things? Are you going to spend most of your consulting capital on something that the client is going to throw away after the engagement? Or are you going to spend it on sound technical decisions? If you’re strongly holding on to those strong opinions, you’re not listening to the customer. You’re forcing your composition down their throat whether they want to hear it or not.

Whereas if you arrive at a customer site with a set of tools that are be a part of a playbook, listen to the customer needs, and use those tools to meet those needs… then you’re playing jazz. If a customer has never paired, and their network is blocking remote control screen sharing… how do you achieve the fast feedback cycles of development that pairing usually provides? What if you’re refactoring an old JEE app to be cloud-compliant? does TDD even make sense when the story is “replace those EJB structures with spring annotations”? what tools are in your box to meet those needs? How are you reacting to your audience to give them a good performance?

An answer to this I often hear is “We should just refine the playbook! Make that decision part of the score!” I’m not a fan of this answer. Refining the playbook is just the lead viola moving the crescendo start a beat earlier. It doesn’t teach everyone else in the orchestra to listen to the audience and each other and tailor their performance accordingly. It just reinforces the idea that the score is all that is needed, which again suggests you don’t need to listen to your audience.

This audience was clearly expecting more than a talking picture.
This audience was clearly expecting more than a talking picture.

A musical score is a good thing, but it can’t be the only way a musician approaches a performance. And a software consulting playbook is also a good thing — but it can’t be the only way a consultant approaches a customer. Just as the best musicians have a broad set of fundamentals and the ability to decide which to apply in real time, the best consultants have a broad set of tools that they apply based on their customer feedback.

--

--

Tom Collings

Practice Lead with VMware. Outdoor enthusiast. Amateur banjo player.