There’s a lot of Spinal Tap activity these days, which is no
surprise given that the rock “mockumentary” This
is Spinal Tap celebrates its 25th anniversary this year. The recent “Unwigged and Unplugged”
tour featuring Michael McKean, Christopher Guest, and Harry Shearer playing Spinal
Tap and other songs has just been released on DVD. Spinal Tap re-recorded several of their songs with several
celebrity guests and released the “Back from the Dead” album.
While listening to the Keith Emerson-featured “Heavy Duty”, I started thinking about some lessons we can learn from Tap in the software world:
1. What the customer asks for isn’t always what they want. (a.k.a. “the Stonehenge principle”) As famously demonstrated when the band provided the specifications to the stage prop for their epic Stonehenge, the customer wasn’t happy when they got exactly what they asked for. When building software, we need to listen to the customer describe what they want, then deliver frequently and get feedback to make sure they get what they need.
2. Experiment, but avoid the Jazz Odyssey. Experimentation is a good thing; it leads to innovation, productivity improvements, and insight into difficult problems. But self-indulgent experimentation without focus is counterproductive. Here I’m thinking of technical design and refactoring experiments/spikes – make sure you have an objective so you’ll finish having learned something.
3. The performance is best when the band is together. Nigel Tufnel and David St. Hubbins fought frequently, but productively resolving the conflict and channeling that energy led the band to write and perform at their best. Derek Smalls acted as the facilitator (“lukewarm water” to Nigel’s fire and David’s ice), a role that is needed to help software teams stay together. As Esther Derby and Diana Larsen taught me at the Secrets of Agile Teamwork workshop, this facilitator role doesn’t always have to be one person – it can rotate, as can many of the other roles of Agile Leadership.
4. Good tools go to eleven. Spinal Tap required special amplifiers to create their distinctive sound that gave them the title of “England’s Loudest Band”. While the movie example is a gag, I can identify with the reverence that Nigel displays when describing his favorite amp. For me, I get that same feeling when using IntelliJ IDEA – it continues to delight me after all these years of day-to-day use. The lesson is simple – good tools make us more productive.
5. “Have a good time, all the time”. This rock & roll philosophy offered by keyboardist Viv Savage is important to remember. Many of us got into software development because it was fun, but it’s easy to forget when we get stressed out by some deadline or difficult bug. Brian Marick mentions joy as one of the key values of great teams, and I agree – I’ve done my best work when I was having a good time.
What about you? Have you got any favorite Spinal Tap-isms that apply to software development?
A great post and a great movie. Never thought of it from a programming perspective.
Another example of programming in movies is that of heat: "Don't let yourself get attached to anything you are not willing to walk out on in 30 seconds flat if you feel the heat around the corner"
http://javadots.blogspot.com/2009/08/software-design-comes-to-hollywood.html
Posted by: Itay Maman | September 06, 2009 at 08:35 AM