What information a Technical Program Manager (TPM) needs to drive a project through to completion

I’ve recently been challenged by my Amazon manager to increase my capacity to be able to manage more projects at once. I’ve been concurrently managing around 1 large software project and then around 2-4 medium to smaller projects. Increasing my capacity means identifying the important, high leverage tasks and focus on driving those tasks and eliminate the rest. In another way, what’s the 80/20 for driving a project?

In order to identify those tasks, the following questions need to be answered:

  • What has been critical in helping me to deliver previous projects?
  • What have I been able to leverage accomplish more with less time/effort?
  • What do I wish I had in the middle of previous projects?

Based off the brainstorming of those questions, I came up with the following:

User Roles

  • Who is the target user(s) for this project?
  • What are the properties of these roles?
  • What problem(s) is this going to solve for these groups?
  • What this helps with?
    • This helps me to be able to play the part of the User when needing to make design decisions.
    • This allows me to see things through the eyes of the target User.
  • Books

Business Impact

  • What is the business impact of completing this project?
  • What this helps with?
    • This helps me to see where we will be making our profit from which will help when needing to make design decisions.
  • Books on this topic

Success Criteria

  • What’s the success criteria for this project?
  • What would make this project successful?
  • What are the metrics we need to monitor?
    • Current?
    • Post launch?
  • What this helps with?
    • This defines what success actually is for the project.
  • Books on this topic

High Level Technical Design

  • What’s the high level design for this project?
  • How does this design fit into the current architecture?
  • UML diagrams are helpful if the project is complex enough.
  • What this helps with?
    • During a project, I need to understand the higher level components being developed so I can ask the right questions and understand when issues arise.
  • Books on this topic

Work Backlog

  • User Stories or Use Cases (Depending on the type of project)
  • Priority of backlog
  • Estimates
  • Acceptance Criteria
  • Issues/Bug list
  • What this helps with?
    • This is the specification for the project and defines the work that needs to be done. This also allows me to
  • Books on this topic

Project Plan

  • Resources
  • Milestones
  • Buffer
    • Vacation
    • Personal Days
    • Sickness
    • On-call rotations
    • Public Holidays
  • What this helps with?
    • This allows me to track the work as the project is in progress, which is turn allows me to know when the project is behind or on track.
  • Books on this topic

Once I have these defined, it’s fairly easy to drive the project forward. All of these need to be updated and groomed, sometimes on a daily basis, but doing so is usually doesn’t require too much effort.