« What's this about Outsourcing? | Main | Resistance is Natural »

February 19, 2013


Nice article. I like the comparison of Agile to Jazz improve. As a Novice programmer I am having trouble finding coding equivalents to "scales" and "sheet music" (sticking with the music analogy). Way back when, I was a pretty good Jazz trombone player. The way I got there was practice the basics over and over until they are part of you. I have not been able to find these basics for coding to practice over and over(or don't know that I am looking right at them), any suggestions? I have the Pragmatic Programmer and Pragmatic thinking and learning.

Eric, the books in our field that describe effective practices are the sheet music, and the practices themselves are the scales. We used to call the practices "études" in an attempt to convey this meaning.

Imagine if everyone in the world wanted to become a jazz musician, because it paid really well. A few really excellent jazz musicians would write some inspiring books about jazz music. Then some *good* jazz musicians, tired of gigs and the road life, would write books trying to teach people how to play jazz. Then some *serviceable* jazz musicians, unable to get books published, would be satisfied teaching some of the basics to people in person, but never understanding why they never become good jazz musicians.

Pretty soon, people who teach for a living notice that jazz is hot, so they buy books on jazz, steal the content, rearrange it into their own courses, and sell them to unsuspecting novices. Many of these novices don't even know that they'll never become professional jazz musicians this way...

...except that a bunch of night clubs suddenly hire these inferior "musicians", tolerating mediocre (even poor!) jazz, throwing up their hands, saying "I don't know how to hire good musicians" or "I can't afford anyone better".

You get where I'm going.

Because only the best jazz musicians make a comfortable living at it, and most of the really good ones never do, we don't have this problem. People practise furiously because they love to do it, and if they become Oscar Peterson, it's almost entirely by accident.

In software, it's not like that. Some organisations see Agility as a goal, and want shortcuts to achieve it. Some organisations see Agility as a goal, and want to figure out how label what they do as Agile. Their customers keep hiring them. This boggles my mind.

That said, there are a number of restaurants out there who hire mediocre jazz pianists to plunk away at well-known standards, just so that the diners have some background noise to ignore.

Love the ship it let's get started attitude Andy.
And the reminder that the goal isn't agile.
It's great music, products, and services.

Cheers - Jonathan

Yeah, skip the estimates and plans! But keep in mind, everything is in balance...
Are you ready to not be able to estimate how much you will have on your bank account for this month of work?
Are you ready to not be able to plan if you will be let to go on a vacation or will be kept in the office iprovising? ;)

The comments to this entry are closed.

About Me

  • Andy Hunt is co-founder of The Pragmatic Programmers, LLC, and is well known as a programmer, author, and publisher. His email signature, "/\ndy", dates back to the paleolithic days of uucp and ihnp4.

    See my home page. Follow me on twitter at @PragmaticAndy or subscribe to this RSS Feed

Books I've authored

Where I'm Speaking

Are you a nerd?

  • I am nerdier than 96% of
all people. Are you nerdier? Click here to find out!
AddThis Social Bookmark Button