Eric Lai

At Microsoft, program managers don't program, or manage

By Eric Lai
August 21, 2008 1:26 AM EDT
Besides the 2,000 Microsoft developers apparently working on Windows 7, the operating system also has 500 program managers. A reader, Jordan Cohen, pointed out that PMs, contrary to what they sound like (and what I had written), "are on a level playing field right with the developers and testers." And he cites as proof the blog of someone who would irrefutably know: Windows development chief, Steven Sinofsky.

In a blog from December 2005 when he was overseeing the development of Office 2007, Sinosky explains that he first learned about program managers when he was being recruited to Microsoft in the late 1980s.

"I thought 'COOL!' that has to be a job for me--after all it sure sounds like an incredibly cool role, since it has the title 'manager' in it and if you read/hear the description it sure sounds like you're running the show," he wrote. But "the job title 'program manager' is a bit of a misnomer, since program managers do not program nor do they manage--go figure."

According to Sinofsky, Microsoft first began employing program managers with the development of Excel for the Macintosh in the early 1980s.

"The developers were very busy just trying to make things like printing, display, graphics, etc. work," wrote Sinofsky. "That meant that the place where we were not focusing enough attention was on the usability or the scenarios for how people would use the software."

Thus, a program manager's function is "partnering with development and working through the entire product cycle as the advocate for end-users and customers," he wrote. PMs "focus on the big picture...and on the details of the user experience."

In concrete terms, PMs are responsible for researching requirements for new features and convincing developers and managers that these are worth building.

"Your ability to convince people of your ideas is a lot like trying to get funding from venture capital folks," wrote Sinofsky, who was both a developer and PM earlier in his career.

Once that is completed, PMs write up the specs that developers use to go off and write.

So PMs don't manage developers. But they should serve as a "hub" for all team members, including developers, testers, usability engineers, product designers and/or planners, Sinofsky wrote.

Some vendors such as Google Inc. prefer to release beta versions of features to get direct user feedback. But Sinofsky says that isn't as "sophisticated" as employing PMs, who are supposed to represent the needs of all customers, "not just the ones who do beta test or the ones who take the time to send in feedback or use early products."

Interestingly, in an earlier, related blog on managing feature teams in Office 2007, Sinofsky writes that the software was "built by about 30 product groups, each with about 3-5 feature teams, each with 5-8 developers."

Taking the middle figure in each range, Office 2007 was built using about 780 developers, or 60% fewer than Windows 7 has. The number of PMs was even smaller.

"The entire user interface for Office12 (the old code name) was developed by a team of about 12 program managers," he wrote.


Have you ever been a PM at Microsoft -- or elsewhere? Were your duties similar or different to the ones described? Do you think how Microsoft structures its dev teams makes sense?