Software companies often use project managers heavily to manage the client destined offerings. The expectation of the PM is to not only manage the business aspects of the project (timeline, budget and scope), but also have a perfect understanding of the technical aspects of it- but how technical do you really want your PM to be?
I’ve heard criticism of a software PM be that she was too technical, and would end up micromanaging the resources. I’ve heard criticism of a different software PM be that he wasn’t technical enough because he often was confused by technical limitations of the proprietary platform they were offering customization of. These of course, are extremes, and most companies want something that falls somewhere in the middle. Some of the reasonable expectations could include:
- Ability to document client needs in both business and technical perspectives
- Ability to articulate what talents they require in a resource
- Ability to speak to all stakeholders (clients, management, resources) in terms they understand and understand what each level is saying, and be capable of translating it to the other level.
- Ability to QA
- Ability to decipher what attributes make a talented resource
- Ability to have a full understanding of all components of the build- not only why it’s done, but how it’s done.
- Solid understanding of the production life cycle enough to tweak the processes
- A good enough understanding of the time involved to be able to tell if a resource is fudging them on the time estimates they’re providing
At the end of the day- any more than that could be handy in a pinch- such as ability to set up environments for development, testing or production, or the ability to perform code audits, but the above are the bare bones that one could reasonably expect of a technical PM.