I’ve wondered about this question for almost two years now. I’ve held this position at two different companies and both places had completely different interpretations of what Technical Program Management is. I decided I wanted to do my own research and went to the internet to see if I could find an answer. I didn’t find much. Most of the information I found was from a few years ago and my search results didn’t return anything more recent. I then turned my attention to Twitter and put out a message to my followers that I was looking for Technical Program Managers. No responses came back even though I know that people that are technical program managers based on their profiles. After a few weeks of just searching for what this great profession is all about, I decided that the best way to get information was to create the information myself. Since I couldn’t find anything concrete, other than a few high level articles, I decided I wanted to create the ultimate resource on Technical Program Management in case there were other people out there pondering about what it means to be a Technical Program Manager.
Technical Program Management falls in between two roles. The first role is project management. Most project management professionals learn how to manage well defined projects. They learn the skills to manage schedule, budgets, and risk. They know how to plan, how to triage, and how to communicate project statuses well. The other role is that of a Scrum Master. The Scrum Master helps guide a software team towards completion. They know the software, they know the architecture, and they know what the priorities for the software team. A Scrum Master sometimes helps with the planning and triaging of software related issues. They also have to be able to communicate really well. As you can, the roles between a Scrum Master and project manager are similar, but yet completely different. Enter Technical Program Management.
Technical Program Management is a position that requires you to be technically competent, understand software/hardware, and be extremely organized. The role is more demanding that regular project management because software is unpredictable. If a project manager tries to manage a software project with traditional PMP level techniques, they will most likely fail. Or, they will probably be very frustrated because software does not behave like a bridge or building behave. Software is research and it is always changing. Software is never done, which by itself is a problem for project management because there is typically an end to a project. Technical Program Management requires skills in not just planning, but in communication with multiple different stakeholders. TPM is not just managing a software project, it is managing all the teams and different stakeholders that have to come together to build a project. It also requires that you have ability to have difficult conversations and challenge team members. Scrum Masters can make good Technical Program Managers, but being a Technical Program Manager is much more involved. Technical Program Managers have to worry about all aspects of a project, not just what the software team is doing. It requires constant communication with leads from other technical and non-technical teams.
As you can see, the field of Technical Program Management can be exciting. It is a job that will not allow you to be bored. It requires constant communication in all forms of expression. An effective Technical Program Manager will know how to build trust and community with their teams. They’ll know how to influence a team to go above and beyond to deliver a world-class product. Technical Program Management is an amazing field that requires many different skills to all come together to help deliver a product. In the next article, we’ll explore the role of a Technical Program Manager in more detail. Stay tuned!