What is a PM (Program Manager)? While the Program Manager role seems unique to Microsoft, in general, when you map it to other companies, it’s a product manager, or a project manager, or a combination of the two. At Microsoft, there are various flavors of PMs (“design” PM, “project” PM, “process” PM, etc.) and the PM discipline can be very different in different groups. I’ve also seen the PM title used as a general job title, in the absence of something more specific.
At Microsoft it’s a role that means many things to many people. In general though, when you meet a PM at Microsoft, you expect somebody who has vision, can drive a project to completion, can manage scope and resources, coordinate work across a team, bridge the customer, the business, and the technology, act as a customer champ, and influence without authority. From a metaphor standpoint, they are often the hub to the spokes, they drive ideas to done, they take the ball and run with it, or find out who should run with the ball. Some PMs are better at thought leadership, some are better at people leadership, and the best are great at both.
Here is a roundup of some of my favorite points that elaborate, clarify, and distill what a PM is, what a PM does, and how to be one.
Attributes and Qualities of a PM
Here is a list of key attributes from Steven Sinofsky’s post -- PM at Microsoft:
- “Strong interest in what computing can do -- a great interest in technology and how to apply that to problems people have in life and work”
- “Great communication skills -- you do a lot of writing, presenting, and convincing”
- “Strong views on what is right, but very open to new ideas -- the best PMs are not necessarily those with the best ideas, but those that insure the best ideas get done”
- “Selfless -- PM is about making sure the best work gets done by the team, not that your ideas get done. “
- “Empathy -- As a PM you are the voice of the customer so you have to really understand their point of view and context “
- “Entrepreneur -- as a PM you need to get out there and convince others of your ideas, so being able to is a good skill”
Here is an example of PM qualities from Sean Lyndersay’s post -- Exchange team defines a Program Manager:
- You are passionate about working directly with customers, able to clearly articulate customers requirements and pains to executives, architects and developers.
- You have experience building strong teams and have a passion for mentoring.
- The ability to work with multiple teams to develop a plan to provide this value to the customers.
- You understand how software features will impact and/or modify the marketplace once they are shipped.
- You have a love of innovation and the ability to think through big, long term ideas.
- Demonstrated expertise at prioritization and project management.
- You are hands-on with software development, and passionate about user experience, both as an end-user and administrator.
Microsoft Careers site on Program Manager
Here is a description of a Program Manager from the Microsoft Careers site:
“As a Program Manager, you’ll drive the technical vision, design, and implementation of next-generation software solutions. You’ll transform the product vision into elegant designs that will ultimately turn into products used by Microsoft customers. Managing feature sets throughout the product lifecycle, you’ll have the chance to see your design through to completion. You’ll also work directly with other key team members including Software Development Engineers and Software Development Engineers in Test. Program Managers are advocates for end-users, so your passion for anticipating customer needs and creating outside-the-box solutions for them will really help you shine in this role. As a Program Manager you will have the ability to lead within a product’s life cycle using evangelism, empathy, and negotiation to define and deliver results. You will also be responsible for authoring technical specifications, including envisaged usage cases, customer scenarios, and prioritized requirements lists.”
Chris Pratley on Program Manager
Here are some points on Program Management from Chris Pratley’s post -- Program Manager:
- “One way to describe PMs is that they not only "pick up and run with the ball, they go find the ball". That really defines the difference between "knowing what to do and doing it", and "not knowing what to do, but using your own wits to decide what to do, then doing it". That means as a PM you are constantly strategizing and rethinking what is going on to find out if there is something you are missing, or the team is missing. You’re also constantly deciding what is important to do, and whether action needs to be taken.”
- "... In Office, there are "design" PMs who mainly work on designing the products, "process" PMs who mainly work on driving processes that make sure we get things done, localization PMs who are sort of like process PMs but also sort of like developers in that they sometimes produce code and make bits that ship in the product..."
- “This ‘jack of all trades’ or ‘renaissance man’ … acted as a hub of communication, and made the marketers job easier, since they had someone to talk to who could take the time to really understand the outside world, and the devs could talk to someone who spoke their language and was not ridiculous …”
- “You’re also constantly deciding what is important to do, and whether action needs to be taken. The number of such decisions is staggering. I might make 50 a day, sometimes more than 100 or even 200. Most of the time there is not nearly enough hard data to say for certain what to do, and in any case almost all these decisions could never have hard data anyway - you need to apply concentration and clear thinking.”
- Start off with excitement and enthusiasm for the new job.
- About 4 weeks into the job, you start to feel strange. People keep asking you to decide things you don’t know anything about, as if you’re some kind of expert.
- By month two, you're convinced you are the dumbest person on the team by far.
- By month four, you have lived through a torture of feeling incompetent and a dead weight on your team.
- By month six, you have a great moment.
- By month 12, you have developed your network of contacts that pass information to you, you are a subject matter expert on your area, and people on the team are relying on you because you know lots of things they don't know. You have made it.
Joel Spolsky on Program Manager
Here are points from Joel’s post on How To Be a Program Manager:
- “Having a good program manager is one of the secret formulas to making really great software”
“According to Joel, Charles Simonyi invented the job “Program Manager”, but Jabe Blumenthal, a programmer on the Mac Excel team in the late 80s, reinvented the job completely.”
- “What does a Program Manager do? “Design UIs, write functional specs, coordinate teams, serve as the customer advocate.”
- “How To Be a Program Manger - Making Things Happen, by Scott Berkun, Don't Make Me Thin, by Steve Krug's, User Interface Design for Programmers, by Joel Spolsky, and How To Win Friends and Influence People by Dale Carnegie.“
Ray Schraff on Program Manager
Here are point from the comments on Chris Pratley’s post, Program Management:
- “Once they find the ball, PMs don't pick up every ball themselves... but they own the task of making sure that every ball is picked up and carried to the correct endzone by SOMEBODY. “
- “PMs translate technology to English “
- “PMs translate English to technology”
Sean Lyndersay on Program Manager
- “My favorite definition involves an analogy: A program manager is to a software project what an architect is to a building.” See Reflections Program Management at Microsoft.
- “… the PM occupies a unique position in most software engineering structures – sort of the hub of a bumpy wheel (with dev, QA/test, design, usability, marketing, planning, customer support, etc. being the spokes). See Someone has an Interesting View of PMs (at least at Yahoo!)” See Someone has an Interesting View of PMs (at least at Yahoo)
- "You are the center of the hurricane, the eye of the product development storm. You have passion and more, you have vigor. You are fueled by pure energy and endless drive. You are reading this and wondering why it's not in bullet-points because that would have been more efficient. You are working on a game that merges poker with chess in your spare time because neither game uses your full capabilities and talents. You have no use for extraneous clutter or mundane activities and you wonder what is holding up the full-scale integration of robots into the home – its 2007 already and doing the dishes remains as mundane and inefficient as it ever was. You are thinking that this job description is taking too long to read, and you are right. So, here is the rest of it in bullet points." See Exchange team defines a Program Manager.
- “With regard to where ideas come from, what we like to say is that the job of program management is not to have all the great ideas but to make sure all the great ideas are ultimately picked. The best program managers make sure the best ideas get done, no matter where they come from.” See The Job of Program Management.
Steven Sinofsky on Program Manager
Here are points from Sinfoksy’s post on PM at Microsoft:
- “Learn, convince, spec, refine”
- “PM is one equal part of a whole system.”
- “PM is a role that has a lot of responsibility but you also define it--working in partnership with expert designers, clever developers, super smart testers, etc. you all work together to define the product AND the responsibilities each of you have”
- “… the PM role at Microsoft is both unique and one that has unlimited potential -- it is PMs that can bring together a team and rally them around a new idea and bring it to market (like OneNote, InfoPath).”
- “It is PMs that can tackle a business problem and work with marketing and sales to really solve a big customer issue with unique and innovative software (like SharePoint Portal Server).”
- “Where developers were focused on code, architecture, performance, and engineering, the PM would focus on the big picture of "what are we trying to do" and on the details of the user experience, the feature set, the way the product will get used.”
- “A key benefit of program management is that we are far more agile because we have program management. That can be counter-intuitive (even for many developers at Microsoft who might be waiting for their PM to iron out the spec). But the idea that you can just start writing code without having a clear view of the details and specification is a recipe for a poorly architected features.”
- “A great PM knows when the details are thought through enough to begin and a great developer knows when they can start coding even without the details for sure. But like building a house--you don't start without the plans. “
- “A good book that describes the uniqueness of PM at Microsoft is Michael Cussumano's book Microsoft Secrets or his new book, The Business of Software.”
My Related Posts