Last Tuesday, Andrew Stellman and Jenny Greene came to the Boston SPIN to talk about Beautiful Teams, the topic of a wonderful book they’ve just published. A book I believe Scott Berkun captured best when he said, "Stop complaining about your coworkers. Instead, get your team and your boss to read Beautiful Teams." And of course, once you hear Andrew & Jenny talk, or read their book, you just can’t help but think about the teams you’ve worked on… what makes the good ones great? What makes the awful ones so unbearable? Is there a recipe out there for creating those wonderful, beautiful teams that are so exhilarating to be a part of?
The best damn team I ever worked on was a startup. Right in the Internet hey day. It was exciting. It was fast paced. We worked 80+ hour work weeks, slept at the office, rarely had enough money for anything beyond the next couple of payrolls. But we were developing things no one had ever developed before and getting written up in magazines and had the ultimate brag factor over the cool things we were doing with audio and video. We had Microsoft begging us to tell them our secrets, AOL wanting to buy us (they eventually did). We took trips to the WinAmp and MTVi offices and went to RealNetworks parties hosted in museums. Man, we were HOT.
We were, in fact, certifiably bad-ass in the sheer amounts of innovation we were able to deliver. We had this amazing VP of Engineering who would come in and tell us we were going to do these absolutely insane things and we’d all look at her like she’d finally lost it. But then, the craziest thing would happen and we’d actually find a way to do them.
But then… one day, it became not so hot. We grew big enough to need a "real" CEO, and with him came a team of "real" business executives. And these business folks thought they knew all the answers and so before we knew what was happening they’d booted that VP of Engineering – the absolute heart and soul behind our software – right out the door. They brought in a new VP who told us that he thought perhaps our reputation "exceeded" us, and you can just imagine the developers couldn’t find the exit door fast enough. And, of course, nothing was ever the same after.
What happened?! How could we have created such greatness? And then, how could it be ripped away from us so easily?
In software development, we give a lot of weight to the practices we follow – is your project agile? Are you doing TDD? Continuous Integration? Daily Scrums? And it’s not that these things aren’t important. They’re extremely important. But, the thing is that they’re not most important. And, when you stand them up next to what is most important – the people and the teams – it really puts them in perspective. We weren’t doing any of these things in our hey day and yet it was by far the most productive team I have ever – and probably will ever – have the pleasure of working on.
On the flip side, how many of us have been on teams where we’ve been handed a whole laundry list of "best practices" we must follow and have found those to be the most miserable, ineffective teams we’ve ever worked on? How does this make sense when we’re talking proven practices that are considered the best our industry has to offer? And I would say they were doomed from the start when someone decided they had so little respect for the team that they felt the need to dictate those best practices to us rather than giving us goals and training and having enough respect for us, the team, to find our own best practices.
And when I think back to that great startup, that’s exactly how it was. Sure, the goals were out there – seemingly impossible pipe dreams. But we were given time and space to learn what we needed, and the autonomy to figure the best way to achieve those goals on our own. That, and a wonderful, brilliant set of people, and we were unstoppable.
There’s a lot of recipes for successful teams in Beautiful Teams. But for me, personally, I can’t help but think the #1 factor – the thing that trumps all else – is simple respect. And it is a wonder that we put so much time and energy into buying the right books, going to the right conferences, reading the right blogs if we’re going to ignore this most vital component of software development. Just like Soylent Green, that secret ingredient — It’s people!
What was the best team you ever worked on? What about the worst? What do you think made them so?
Update: Abbot of Unreason answers these with his own stories of beautiful teams in Coding Cats. Check it out.