Tuesday, July 15, 2008

Small teams: PM or tech lead?

So you're trying to assemble your development team for a software project. You are limited in the number of overhead resources you can afford. Which is better - looking for a strong tech PM type (e.g. someone that can control the project variables - scope, budget, product quality, etc.) or looking for an architect / master coder / lead by example team lead type? Unfortunately, most often than not, the two skill sets don't come in the same package. A lot of small teams (3 - 6 developers) are often forced into having one or the other. The tradeoff may be forced not only by budget constraints but also by trying to avoid a top heavy small team.
The answer - as anyone working with consultants is already predicting - is that it depends. A higher complexity project - using new and unproven technology, building something from scratch will lean the balance in favor of the team lead type. Immovable milestones and a bunch of developers with gold plating tendencies will lean the balance in favor of the PM type.
Regardless of what you decided need most, the mistake to avoid is blaming the project woes (if any) on the absence of the person / type you did not choose. A project, like anything else in life, is subjects to constraints and imperfect situations. Once you made a decision on who will lead your project down in the trenches, live with it.
For example, assume you do not have a team lead to bring the team to consensus once in a while. Well - losing some efficiency by allowing too much bikering about some of the technical decisions is just an opportunity cost of better project control (assuming your tech PM is doing a good job).

1 comment:

Justin Winthers said...

I prefer the tech lead / master coder type myself.