If applications are built by teams of people (users, business analysts, architects, designers, developers, testers, project managers.....did I miss anyone? probably.), then why aren't those teams treated more like they are in sports? No matter how good the individual team members are, unless they work together as a unit they just won't be that good (<ahem>...anyone remember Team Canada from Torino?).
It's surprisingly similar, when you think about it. Turnover in a development firm is just like trades in pro sports. Looks at what happens after the trade deadline. Teams make moves and then they struggle until they figure out how to replace the missing pieces and where to put the new ones. Retirement? Yeah, that works. Rookies, too - there's always the new kid with the cert (or junior league experience) who needs some time and help in order to move up to that next level. Every team needs that veteran leadership that comes with experience, but also the energy line - the keeners who are always up on the next big thing.
As much as development teams and pro sports teams are the same, there's one HUGE difference: PRACTICE! Depending on the sport, a team will generally practice twice for every time they play, "for real." You gotta figure out who's good at what, who's gonna do what when, and what the plays are. I figure that's gotta be one of the biggest reasons that so many projects fail. Every project is just another practice and, just when the team's starting to gel, someone retires, or quits, or goes from developer to business analyst (watch a centreman play defense!) and then it takes a whole bunch more failed projects in order to get enough practice in, and the cycle starts all over again.
Pro sports players get paid to practice - why not your dev team? I'll betchya that if you put together a development team and practiced regularly - where you're expected to fail, and learn from those mistakes, you could find yourself with the Detroit Red Wings of application development: 45 wins out of 65 games = 70% success ratio. Who wouldn't like that number, compared to the current trend (isn't 70% of projects that fail?).
Oh yeah....there's one more big difference between a development team and a pro sports team: I don't know about anyone else, but I know I'll settle for a lot less than $3.75 million a year for 4 years....! (But I'd take it, if you offered. ;)





I think it comes down to perception and value.
Employers don't fight hard enough to keep good people (and teams) around because many, quite sadly, feel that while they may miss the person, it is perceived they are easily replaced, skill-wise. That's the state of affairs with many big organizations, no matter where they are located.
If the senior executive don't value their employees, this has a very negative top-down effect. Again, huge part of the reason why people go out on their own and freelance, or set up shop with another few people (3-5 at most) to create their own small company.
I believe these folks crave the positive team atmosphere and value its importance to their business success. Bigger companies aren't agile enough to make this change, or at least without some hefty investment and social upheaval, which most are unwilling to make.
Posted by: Geof Harries | 2006.03.20 at 05:46
One other big difference that influences what you're talking about: unions (yuck!).
Posted by: Andrew Robulack | 2006.03.21 at 15:37
I hope you don't mind me posting this, it is related to your discussion.
I also posted this over at justwerks.
A friend of mine who is a team lead with Bell based out of Vancouver is looking to recruit 2 software developers.
I informed him that I didn't know of any personally except for the few whose blogs I was recently exposed to.
He is looking for the best, and has been travelling to recruit. If you think you would make the cut, or would like more information, please feel free to e-mail me and I'll put you in touch with him.
That is, if anyone would like to put their theory to the test...
Posted by: Samson Hartland | 2006.04.24 at 21:43