A few years ago I spent quite a bit of time racing as part of the crew of a 30′ sailboat. Lately thoughts of that time have been popping back up, and I’m finding it a pretty apt analogy to a lot of things that happen in software development.
The most concrete of these thoughts is that crewing on that sailboat was the single most intensive team coordination experience that I’ve ever had. You didn’t need to be the fastest sailboat out there to compete effectively – but you bloody well better have a smoothly functioning team. Anything less and you weren’t competitive.
Of course, all of this follows in that I tend to be a very team oriented person when it comes to working and getting things done. I can work solo (I can sail solo too), but my most fulfilling moments come from working as part of a team.
Don’t know why this is all popping up, except that I have insomnia tonight and that’s racing through my head.