In the basement, my son is recording an album for a local band from DC. (Go to www.alpineRed.com to learn more.) I'm listening to the guitar riffs and drum tuning and vocal scales as they warm up. And I'm thinking a product team is more like a band than a factory.
A "Dream Team" isn't just a great group of athletes, but a great group of athletes who play together well. The emphasis on "team," not "dream."
Yet look at how many companies start a new in-house project. They pull a few people together, show them a business plan or requirements document, and say "get started."
Or for that matter, nothing illustrates this as clearly as the way companies do partnerships. Some executive signs a deal--for good reasons or not--and says "make it so" to the team. The expectation seems to be that this group of 5-10 people from two different company cultures can start producing results immediately.
Now let's look at how a musical group works. First the team members tend to be friends. They've played together as a group for years. Even so, when they get in the studio, they're playing differently, with mics and cables and a stranger at the console--they're not on stage or in their garage. They're facing each other instead of an audience, so they're standing or sitting in different positions relative to one another than usual. They're probably playing songs that are somewhat new, songs they haven't performed a hundred times on stage. Uh-oh, the bass player is out sick and they've hired a session player. Now there's a "newbie" in the mix. How do you get him up to speed quickly? Adding an outsider adds time to the schedule--he needs to learn the tunes as well as the style of this band.
Each of the people in the band brings a unique set of skills and experiences. The lead vocalist is mostly a singer and only an adequate guitar player. The guitar player can play great lead parts but can't play bass guitar. The keyboardist can also play synth but probably not anything else. Each has different experiences with the songs; surely the one who wrote the song will know the structure more than the others.
And although the engineer is quite familiar with the venue, he doesn't know much about the band: Who is the leader? Who plays too loudly or softly? Who is the difficult one? Who plays one take and who needs many?
How much does this sound like your development team?
A group of guys and gals who have mostly worked together before except for the new guy. It takes a while to get everyone synced, to get everyone on the same page. And the more we're strangers, the more we need to learn the language of the group.
Each of the people on your team brings a unique set of skills and experiences. Some will have more experience with the company's way of doing things, the services available from the infrastructure, the type of code or content that they prefer to work on. A senior person may be inclined to work alone while a junior person needs more handholding. One may be strong in user interaction while another is better with architecture. And some may prefer an agile approach while others favor a more linear way of working.
Sadly, many executives think of product development as factory work. The team meets at 0900, reviews the requirements, and then just starts writing. But writing code isn't factory work. You're not just adding semi-colons to pseudo code.
In partnerships and acquisitions, two different groups come together to try to create something new. They've never worked together and may have different views of how things should work.
(And the same is true for executive teams. I think we've all seen cases where the execs are strong individually but fail to work together. The sales VP doesn't know what marketing is planning; the head of development is working on stuff without thinking about the impact on other groups. While each is doing his own thing, the rest of the organization scrambles to fill in the holes.)
Start thinking of teams as groups of talented individuals instead of drones on the factory floor. They need time to gel as a team; they need to practice working together and learn to trust one another.
Perhaps the best way to create a team is to give them a project with a short timeline that isn't intended to be distributed. Give them a chance to discover their common ground and areas of conflict. Give them a chance to work together as a team before assigning deadlines and deliverables.
Dave Winer of http://scripting.com/ famously said, "When will Silicon Valley get the message that great products are created by people, not companies?" And not just individuals but teams of people, working together toward a common goal.