<< Banner day: the reader is empty | Main | "We both love soup" >>

Clarification on small teams

chris on 2007-Nov-29 01:44 AM

There's a nice response from Bob on my thoughts on small vs large teams. He raises a bunch of good points, go read 'em.

Re-reading what I wrote, it sounds a bit like I'm a large team guy. People I work with know better: I'm quite the opposite. The largest development team I've ever worked on is what I'm on now -- seven developers, four on the server-side (including me) and three for the application on our wearable device (although we get to steal them sometimes). And one of the server-side folks came on four weeks ago.

And even at one point when we had the potential of bringing other folks temporarily on the team for our last three months before product intro, I resisted. Primarily because software isn't a generic thing you're building, it only makes sense in a context. And our domain (nursing homes) isn't something you can pickup overnight. So I saw that maybe we could get lots of code produced, but we'd be cleaning it up for the life of the product.

Anyway, what I wrote was primarily a response what I saw as some naive thinking. When someone says that a team of three people can do anything, I hear "I've never put a system into production." (Yes, it's hugely unfair.)

But reaction pieces aren't affirmative, they don't really tell you what a person thinks, just what he doesn't think. So here's what I think: small teams kick ass. Products designed and built initially by a small team tend to have a greater cohesion than those built by larger groups, and I think this is an overlooked benefit for maintenance programmers.

But small teams can be risky, too. Developers tend not to talk about risk because we think we can steamroll over it by heroics and cleverness. You have to be much more careful about hiring -- bad apples spoil any team, but they're immediately fatal to a small team. And it's even riskier if you need to move quickly -- it takes time to find the right people.

Of course, the alternative is risky as well. Hiring any warm body may seem productive at first ("we hit our hiring numbers!"), but it won't buy you success. And adding warm bodies to a project in trouble is a sure way to tank it.

A number of the strengths of small teams have a double-edge. For instance: on a small team it's easier to trust everyone, to know that they're going to do their job so you don't need to cover for them. But when something unexpected comes up there are fewer people to deal with it. So people tend to work longer hours. Which isn't so bad for a short time, but that has a bad habit of going longer than anticipated. Not so good for people with families.

Compared to this, choices among programming languages or even frameworks seem secondary. Or maybe teams choose these things to fit the folks working there? (If they're able.)

Comments

No comments to display.

New comments are disabled.

Optimize for the norm, not for the exception.
-- Unknown

Archives
4/2008 (2) 3/2008 (2) 2/2008 (4) 1/2008 (3) 12/2007 (2) 11/2007 (8) 10/2007 (3) 9/2007 (2) 8/2007 (8) 7/2007 (5) 6/2007 (19) 5/2007 (4) 4/2007 (2) 2/2007 (4) 1/2007 (4) 12/2006 (8) 11/2006 (7) 10/2006 (11) 9/2006 (6) 8/2006 (2) 7/2006 (3) 6/2006 (14) 5/2006 (1) 4/2006 (5) 3/2006 (12) 2/2006 (14) 1/2006 (18) 12/2005 (12) 11/2005 (10) 10/2005 (9) 9/2005 (3) 8/2005 (6) 7/2005 (18) 6/2005 (12) 4/2005 (6) 3/2005 (21) 2/2005 (13) 1/2005 (12) 12/2004 (14) 11/2004 (23) 10/2004 (23) 9/2004 (22) 8/2004 (7) 7/2004 (12) 6/2004 (23) 5/2004 (29) 4/2004 (24) 3/2004 (34) 2/2004 (21) 1/2004 (31) 12/2003 (16) 11/2003 (37) 10/2003 (32) 9/2003 (24) 8/2003 (21) 7/2003 (29) 6/2003 (27) 5/2003 (27) 4/2003 (26) 3/2003 (41) 2/2003 (29) 1/2003 (38) 12/2002 (46) 11/2002 (41) 10/2002 (45) 9/2002 (99) 8/2002 (111) 7/2002 (7) 6/2002 (19) 5/2002 (18) 4/2002 (7) 3/2002 (8) 2/2002 (22) 1/2002 (13) 12/2001 (4) 11/2001 (5) 10/2001 (5) 9/2001 (6) 8/2001 (6) 7/2001 (5) 6/2001 (5) 5/2001 (4) 4/2001 (4) 3/2001 (3) 2/2001 (6) 1/2001 (3) 12/2000 (1) 11/2000 (2) 10/2000 (7) 9/2000 (7) 8/2000 (6) 7/2000 (13) 6/2000 (6) 5/2000 (2) 4/2000 (3) 3/2000 (8) 2/2000 (4) 1/2000 (4)

All Tags
ada advertising aging aimeeman airlines ajax alcohol animals annoyances ant apache api astronomy attention baby badsoftware barackobama beauty bicycle bicycling birthday biz blog blogging books brain broadband browser build bureaucracy california cars cartoons cats charity chores classifieds clothes clown codegeneration coffee collaboration comics commercials communication community conference config corporate cpan css curmudgeon cwinters.com daily life dancing database datetime dating dc death debate design development distributed diy documentation dormont doublespeak driving dumb ebay ecommerce econ education ejb ella email embedded environment etech exercise expat family farming feed fiber fiction food fun furniture future gambling games geek gentoo geology gis government grammar greece groups gui hair hardware harrypotter hate health hiring history holiday house http ide identity illness imap ipod isp j2me jamming java javascript javaspaces jini job journalism kickass kids kinesis language lazy links linux lisp list lists living mac madison management map marriage maven media medical memory messaging meta military money movies moving ms150 music naked niagara nostalgia nyc oi2 opensource orm outsourcing parenting patent patterns pennsylvania perforce perl personal photography photos pinball pittsburgh planning politics postgres postgresql presentation privacy programming proliant proxy pseudoscience purity quiz quote race radio rant refactoring reflection relationship releases religion rest reunion review ricksantorum rules sandiego scatological science scm scripting security serendipity server servlet sex shell silly slang sleep soa soccer solaris specialization speech sports spring standards starwars steelers struts suburbs swing sysadmin tags team technology telecommuting terrorism testing thnkpad tradition transaction transportation travel traveling tutoring ui unix uptime usability usergroup vacation vc vocollect voice voting vpn walmart washingtondc weather web webservices wedding wiki win32 work writing xml yapc zeroconf