I have been doing software product/project management or product strategy for well over 15 years. (Long since FI but delaying RE for various reasons.)
The job requirements vary greatly between companies or even departments but there are commonalities.
Product Manager:
- You need to be or become the expert on your product functionality, its strengths and weaknesses.
- You are also very familiar with your competitors products, their strengths/weaknesses and plans for the future.
- In most companies a Product Manager is very close to the customer and prospective customers. They gather requirements, conduct focus groups, manage user communities, present at industry events, present/run corporate visit events, etc.
- Product Managers take the information that have gathered from the items above and use them to write requirements documents and product plans. You will also write feature/functional design documents for future releases.
- You may also be responsible for ROI and market share analysis though many software companies tend to ignore this (to their peril IMO)
- You will present and defend these plans to your management and possibly senior/executive management.
- Using these documents you will negotiate with development to come up with a compromise plan that development can build with the resources/time available but still meets the functionality needed.
- Creates and delivers the internal and external launch events/training
Program Manager:
- Tends to be more focused on the successful execution of the plans defined and approved above.
- Defines the detailed execution schedule with input from development, QA, documentation, training, support and any other team involved in the project.
- Tracks and manages the schedule. Adjusts and accommodates for the inevitable issues, missed deadlines, and "oh shits" that WILL happen during the project.
- Ensures all members of the project team understand the schedule, the critical deliverables/dependencies and have the resources/information they need to complete their tasks.
- Negotiates with product management, senior management if (when) compromises to product functionality or schedule need to be made.
- Ensures all corporate requirements are completed. This includes things like legal approval, security certification, accessibility, export compliance, etc.
- Conduct regular status review meetings with all key participants to ensure all teams are aware of the project status, progress against plan, cross-team inter-dependencies, and changes to schedule.
- Act as a facilitator providing and finding answers to the myriad of questions and issue regarding the project
This post is getting long so I am not going to detail the responsibilities of the product strategy role but suffice to say that it is even bigger picture focused that the product manager. The strategist will consider the product's interrelationship with the companies other products/corporate strategy, the appropriate future for the product, "blue sky" concepts for leapfrogging the competition or creating an entirely new market.
The dividing lines between these three roles can vary greatly. In some cases all are done by a single person, on the other extreme there might be multiple people owning different parts of a single role.
The program manager role is the most detail oriented, the strategist is the most big picture. The program manager usually has the least customer interaction. All roles involved a lot of writing and interaction with people outside of your direct reporting structure.