Wednesday, January 16, 2008

To Build Better Software, You Need Fewer People (But Why?)

The logical conclusion for development managers is they should pay inordinate sums for the very best athletes, because they will only get 10 or so working productively on a team. The other logical conclusion is to invest in improving communication in any form possible.

I like to consider the following as worthwhile communication investments:

- Wikis and other online sources that are easily searchable.

- Sufficient face time. Working separately or at home is good for productivity drives, but you have to allow enough communication face time. I like to create a frequent venue where people tell us what they’re working on, solicit feedback, and give demos. Short self-contained development milestones facilitate opportunities to communicate and apply mid-course corrections.

- Screening for great communicators at interview time. I like to run folks through a mock architecture review. I have them choose some piece of software they’re proud of and present it to the group. I think this matters a lot more than impromptu brain teasers and the other ilk one sees in some interviews.

- Focusing on team chemistry. Some managers think their job is to put as many IQ points in the room as possible. I think it is to assemble a group of people that love the idea they’re working on and love working with the team they’re on.

I’ve put all this into practice for a long time, and gotten excellent results.

No comments: