Blog

Developers need project managers too!

Oftentimes, lead developers wind up playing the role of project manager. For a small project, its OK because the level of administrative overhead is small. For large projects, its the wrong call.

In resource constrained environments, lead developers are often asked to wear many hats. In small companies, this is both understandable and acceptable. Spending the extra money on a dedicated project manager when the lead developer can play that rol–albeit not as effectively–for only the opportunity cost of time may not make financial sense.

However, once a team is working on a project with critical mass, utilizing a project manager becomes essential.

Reason 1: Developers develop better than they manage. Though this is a generalization, and there are developers who manage quite well, the reason that they are on projects as developers is because they can deliver solid code. While they may be good at customer management, administration, milestone setting, and all of the other things that a project manager excels at, theyre probably better at coding. In economics, its the idea of comparative advantage.

Reason 2: Every minute a developer spends on project management is a minute not spent on coding. Most projects have timelines for a reason, and anything that could divert a developer from delivering on that timeline is something that brings on additional risk to the project.

Project managers handle the administrative tasks that set up the developers to be able to get into a zone and crank out great code. They knock down obstacles that come up. They are the face of the project and interact with the customer, keeping the developer from having to answer the customer questions that come up. The project manager can also help manage expectations and keep the project from veering like a driverless car.

Project managers are not a panacea to a project. Putting a project manager on a project will not guarantee delivery. Its still up to the developers on the project to actually produce the code that satisfies the customer needs. When time and resources are constrained, then a willingness to invest in project management skills can increase the chances of successful delivery.