You wouldn’t put together a band where all four musicians played the guitar. Somebody needs to drum and sing. Similarly, QA teams need specialists across a range of skill sets and experience. And that’s just one of the rock-and-roll lessons that creative teams can learn.
Even if you’re a software developer or tester by trade, you might also play a mean guitar in your spare time. Certainly there is a long history of synergy between music-making and software. What are the factors behind the synergies? How does one inform the other? And in particular: What can software teams learn from rock bands and other musical groups?
Veteran software pro Kevin Trowbridge played trumpet and guitar in a jazz band when he was in college. He sees connections among mathematics, software, and music. “Qualities shared by musicians and mathematicians are a love of abstraction, extreme attention to detail, and willingness to invest thousands of hours into learning very esoteric skills,” says Trowbridge, who worked on 15 different software teams in the San Francisco area before joining Qwoted as CTO.
Don Gregori, currently COO of First Factory, made similar observations during a company hackathon. “Late at night, I noticed a few developers taking a break, one playing the saxophone. Two others had brought guitars,” he says. “I was surprised at the number of co-workers who played instruments.”
“Music is mathematical with its time signatures, bar measures, scales, intervals and patterns,” Gregori adds. “Software is also mathematical with its reliance on fundamentals such as algorithms and computational science.”
Of course, parallels between musical and software creation hardly end there. Musicians and software pros work both collaboratively and independently. Musicians practice long hours on their own to perfect their craft; so do software developers and testers.
Plus, both musicians and software developers need to hold in their heads both the entire song and the individual notes that comprise it. That’s true of creating software – and the impact you have on the world. Sometimes, accomplishing that feat requires acknowledging contradictions.
“When I walk out onstage I’ve got to feel like it’s the most important thing in the world. Also I’ve got to feel like, well, it’s only rock and roll. Somehow you’ve got to believe both these things.”
– Bruce Springsteen
Great teamwork matters. One contributor might have an initial idea; then you work together to evolve it into something better. Developers, operations, and testers each bring knowledge to an endeavor – and see themselves as part of a single team.
“I call this the ‘Garcia effect,’” maintains Tom Mercaldo, president of Aquinas Consulting. “The Grateful Dead had a unique style of developing music. One band member would say, ‘I am going to do this on the drums,’ and the next would say, ‘I am going to do this on the guitar,’ and then the next would say, ‘Why don’t you try this on the bass?’ And the music they were playing would evolve until it sounded nothing like where they started,” says Mercaldo.
Here are four lessons you can learn from musical groups that might help you manage and inspire a development team.
1. Aim for more than one ‘axis of diversity’
A band probably wouldn’t have just four musicians all playing guitars and singing at the same time, right? You wouldn’t put together a rock band of four flute players, four keyboardists, one drummer, and zero guitarists, either. Michael Fritzius, president of Arch DevOps, suggests that understanding of roles and skills is a lesson for managers of software teams.
“You don’t want to have nothing but Java programmers or nothing but people who know Microsoft.NET,” Fritzius elaborates. All developers do programming, and although many testers don’t code, some of them do.
Diversity in tech extends beyond race, ethnicity, or gender, Fritzius notes. You need to bring in different viewpoints. Counterbalance the eager recent college graduates with older folks who’ve been around the block a lot more times. Teams should also strive for a range of skill sets and experience across technologies, industry sectors, and development methodologies.
That even extends to personality types, Fritzius says, such as cheerleader, leader, and followers. “You want multiple ‘axes of diversity.’ That way, you’re enhancing your gene pool.”
Sometimes, diversity creates friction. That can be healthy – and even inspire team members to turn frustration into creativity, as was the case for the members of Pink Floyd – as long as team members respect one another.
What if a project comes up requiring talent you lack? Hiring a consultant is a common approach. After all, bands bring in session musicians if a recording requires a phenomenal guitar lead, backup vocals, bongo drums, or a harmonica riff. Alternatively, you can forge partnerships with outside organizations. That’s sort of like what Aerosmith did when the band recruited hip-hop superstars Run-DMC to co-record a revamped version of Walk This Way – which became the first crossover rap/rock hit.
2. Build a climate of respect
Band members spend a considerable amount of time together; so do software teams. If rockers can’t figure out how to get along, you know what happens: They split up. Where did Oasis, The Verve, and REM go? How about Guns N Roses, The Clash, and Smashing Pumpkins? Even Crosby, Stills, Nash and Young quit after 50 years of playing together.
To maintain harmony in the software workplace, team leaders should encourage respect for one and all, Gregori advises. Testers can sometimes get the proverbial short end of the stick when it comes to respect, he acknowledges.
For example, says Gregori, development teams sometimes finish their rounds of scrums and sprints at the very last minute, suddenly delivering a project to testing. Developers need to keep in mind that testers have deadlines, too. As a result, Gregori makes sure that all developers spend some time working in QA, so they can familiarize themselves with the role.
3. Allow for individuality
Collaboration does not suggest that team members are clones. Software organizations need to take risks for the company to move forward with innovation, Fritzius says.
That’s another parallel for math, music, and software development. “Within the mathematical framework, composers can be creative with the notes they use and with the instructions as to how those notes should be played; emphasizing a staccato rhythm is one example. Musicians will play the same notes differently, once again being able to offer their own interpretation,” Gregori illustrates.
Similarly, every programming language offers more than one way to express an intent. “This is the art of programming: the creativity to use science as a framework to build something,” Gregori points out. “And in parallel to how musicians collaborate to create a song, developers generally do not work in isolation. Rather, they work on a piece of the product, merging their code into a repository with submissions of other developers.
4. Keep your cool
Life in a rock band can get– well, rocky. Life in a software organization isn’t always smooth, although certainly, it usually isn’t nearly as wild and wooly.
“There are constant obstacles: paying for things, making tradeoffs, team members arriving and departing. If you let it become drama, it will become drama, so you have to be patient and mature and constantly deescalate. For a lighthearted example, think of the band in This is Spinal Tap,” Trowbridge says.
To find true success in either field, says Trowbridge, you need to keep perspective and to learn how to “switch off” occasionally for an escape.
Human beings learn from both successes and failures, a fact to which many a rock band can attest. After all, even The Beatles had a tough time landing their first record contract – and hey, it didn’t stop them.
One element in playing music well – and creating quality software – is recognizing when a hyped technology helps or hinders the team’s efforts. Our white paper helps you make sense of the real value of machine learning – and when its advantages are overblown.
by Jacqueline Emigh
Jacqueline Emigh (pronounced “Amy”) is an award-winning journalist specializing in technologies used by enterprises, small businesses, and consumers. She has worked full time as an editor for TechTarget, BetaNews, and Ziff Davis. Her stories have also appeared in dozens of other major tech publications, including CIO, Linux Planet, and PC World. Jacqueline holds a B.S. degree in mass communications from Emerson College, with a journalism concentration. From 2017 to the present, she has served as a contributing editor to SD (Software Development) Times.