Using Agile in less-than-perfect situations since Y2K
Have you ever thought about what makes great bands great? One of my favorite bands to listen to on and off in this decade has been The New Pornographers. After listening to them for eight years or so, I finally decided to find out something about them and discovered that AC Newman, the leader of the band had put out a solo album a while back. I’ve listened to snippets several times, but never bought it. More recently I found that one of the other singers/songwriters, Dan Bejar, has a band called Destroyer that is more or less his solo venture. Listening to the snippets of Destroyer’s album on Amazon.com, I realized why I hadn’t bought AC’s album. Before I lay that out, let me digress a bit… then I’ll tie it all back to software development management for you.
The Beatles were a great band. Amazingly great. As Zaphod Beeblebrox might say, “amazingly amazing.” The success is attributed to Lennon/McCartney, right? So, why weren’t John Lennon’s albums as popular? What about Wings? Pink Floyd is my all-time favorite band, but I’m not a big fan of Roger Waters’ stuff. (The Final Cut is low-down on my Floyd ranking.) I like the Gilmour-led albums, but I can certainly tell the difference.
That same difference is there between The New Pornographers and their solo efforts. In all three cases, one songwriter (Newman, McCartney, Gilmour) has a musical aesthetic that is focused a bit more on the melodious and harmonious and softer emotion. The other (Bejar, Lennon, Waters) brings a complexity and depth from cacophony, the unusual, and harsher emotion. Neither one works as well on its own as the pair do together. McCartney’s work comes across as audio candy. Some of Lennon’ work was great, but a lot of it was pretty much impossible to listen to. I happen to enjoy the melodious/harmonious more so I like a lot of Wings stuff and the Gilmour-led Floyd. Because of that I’ll probably buy AC’s album before Bejar’s, but I know I still will miss the other’s influence.
So, I promised to tie this back to software development… I have been working with a partner on a new feature for my current project. He and I have a tendency to agree, but to come at problems from different, often opposite, directions. I wanted to build bottom-up; he thought top-down. I wanted to be strict here and willing to let things slide there; he wanted the opposite. What I’ve found is that while we may discuss things for a bit longer than we might like, we eventually come up with a better overall product because we’re looking at it from those different angles.
So, is what we’re building worthy of comparison to Sgt. Pepper’s or Dark Side of the Moon? No, probably not. But it is better than it would have been if either of us had designed it alone.
And that is the moral of the story… good teams are made up of people who can work together and respect one another. But the best teams (and bands) are made up of people who are not identical. They compensate for each another’s gaps and even resonate to amplify their abilities beyond what would be possible if each worked as an individual. When building a team, don’t try to find people just like you or even just like your favorite developer. Find people who are different — just make sure they are willing to bend enough that the band doesn’t break up due to “creative differences” before the end of the project.