Thursday, Dec 22, 2005, 12:00 PM in The Spout
PM Skill #0: Know Your Job
I've been a Program Manager (PM) at Microsoft now for about 2.5 years. Before that, I've been a managing contractor, a lead author, an engineering manager and a chief architect (both for commercial and shared source projects). Over a 12 year career, I've not only contributed to lots of shipping projects, but have lead several.
Most recently, I've been applying that experience to being a PM on a real Microsoft product team, which is its own unique experience. I've only been doing it for a few months, during which I spent a lot of time studying internal PM training materials and asking my exemplar PM brethern how they do it. At the same time, I've been helping a colleage get up to speed on just what it means to be a PM, so I thought I'd use this blog for what I think it's best at -- writing down what I believe and having people tell me where I got it wrong. So, consider these posts (like all posts on this site) to start with "in my opinion."
A PM's job is to ship the right thing on time and on budget, while keeping your team happy. There's a lot in this sentence, so let's break it down:
- "ship" -- first and foremost, the job of any PM is to start with a goal, either self-imposed or assigned, and ship an implementation of that goal. If you don't ship, the rest doesn't matter.
- "the right thing" -- unfortunately, shipping ain't enough, you also have to ship the "right" thing by some definition of "right." This is the most ambiguous part of the job, because any one goal can have many, many implementations and even the goal might not be the right one. My personal definition of right includes getting buy in from your team, your management, your partners (internal and external) and your customers (internal and external). You're allowed to do whatever makes all those folks happy (and good lucking finding the intersection : ).
- "on time, on budget" -- this is all about execution. As a PM, it's your job to lead your team through planning, scheduling, resource management and delivery.
- "keeping your team happy" -- this one is hardest for many engineers, because it involves keeping your team happy, focused and productive. There ain't no rule book for this one, although I find a useful technique to be something widely known as "management by walking around." Many folks won't tell you how they really feel in a meeting, but if you can catch 'em on a phone call or in their office, 1:1, they'll give you their real "gut," which is vital to making sure that folks are happy, motivated and on the right track.
I've got more opinions about other vital PM Skills, which I'll post as the spirit moves me, but hopefully at the rate of about 1/day 'til I'm dumped the entire contents of my brain, making room for other things. : )