Should Project Managers be technical?
admin
There has been an ongoing debate around on whether a software project manager should be technical. I have worked with project managers who are technical (a part of them is still a developer) and project managers who are non-technical (people who know how to get things done, and not exactly how to do it).
However, one sure thing is that a project manager must know the processes involved in executing a specific project. A project manager in construction Industry should know the process of how buildings are constructed and similarly a software project manager should know what the software is all about, how is it built and what processes are involved.
Project managers need to understand enough about the technology so that they can make tradeoff decisions (or help product owners make tradeoff decisions) about what will actually make it into the release. The more PMs understand the product under devleopment, the better decisions they will make–or guide the project team to better decisions.
Here are the two extreme situations I would like to avoid: the un-knowledgeable PM and the PM who would rather be the architect. I’ve worked with several organizations who thought that PMs in other industries, such as event planning, would make great PMs of software projects. Nope. Not a chance. The PM needs to understand the process of the project. And in addition to the process, understanding enough about the product and the tools can help a PM assess risk and manage it during the project.
In my experience, the PM as architect is just as bad. This PM understands the process and the technology and ignores the work of the PM. If the PM is focused on development instead of managing the project, the project suffers as much (although differently) as if the PM was ignorant of the project.
As Johanna suggests, a lot also depends on the kind of team matrix as well. If a project manager does not understand nuances of technology but is proficient in management, overall processes, execution methods and scope, it helps to have people in the team who can take up complete accountability on technical aspects of implementation.
What do you think?