PM at Microsoft (2005)
blogs.msdn.com
blogs.msdn.com
Another interesting thing to note is that we are trying to reduce the size of projects and break apart the notion of "cores" within an org. The idea is to allow features that span several different areas to be implemented with greater ease. I like the idea but I am concerned with how these features will be maintained after they are completed.
FWIW - I spent about 7 years in MS and now >5 in Amazon - I overall like the MS model, at least from a developer perspective.
It gave you a lot of time to focus on getting your complicated piece right with unit tests - and you could leave the integration tests / PM'ing to the respective folks. Amazon is like where Bing is going - but the end result is that it ends up favoring breadth oriented folks more than depth folks. That's ok if you are building a business logic / app tier, system teams are a different story.
For the same reason, the latest MS path doesn't seem right to me. It feels like they are taking the wrong lessons from startups / AWS.
But again, it has been 5 years since and I don't have the big picture - so I guess I will wait and watch.
Has this 'more-hats' change you describe (specifically ops) changed that at all? Where I work, I hear an argument against offices: that they promote and encourage isolation in what can be an ops-heavy role at times (I see the merits but think there are better ways to combat that)
My company is at orders-of-magnitude different size than MS, wondering if something similar occurs there.
Most people are in offices or in an area with a few people, but (at least for me) our team is scattered around, so we're not nearby each other at all. It's not easy to stop by or ask a quick question without going for a short walk.
Personally I like the office arrangement - you can make it silent, control the temperature, etc. I do wish that teams were grouped more closely together but that doesn't seem to be a concern for anyone higher up.
Yes. He was divisive. Yes. He had failures. But really what you should do is take this for what it is: a successful person talking about success. The real trap is not that he is divisive or wrong about the future, it's that he almost certainly suffers survivor's bias.
Sinofsky's triad model is the epitome of Microsoft beauracracy- I left the company to escape it (I'd have put money on Sinofsky becoming CEO)
I think there was a point where win8 actually cut into MS' sales - and MS has a pretty tight monopoly on the low-end PC market.
And Win8 is where the things Sinofsky talks about - being aware of how ordinary users actually get thing done - were palpably tossed out the window.
In the discussion of what lead to Win8, the perceived virtues of the Mac were monomaniacally pursued. Static design - having an impressive, beautiful look - was everything. Doing tasks was nothing.
And I think earlier MS for all its other evil, had a pretty good record of producing good, usable programs (buggy too but they were careful at finding the features people needed and wanted).
Just look at Windows 8.
That said, PMs at MS have a very challenging job, at least in the parts of Windows where I worked. The joke about MS being a bunch of separate orgs at war with each other was very real, and PMs were the ones who had to cajole, convince, and sell other teams on why they should spend their time doing something that would enable the PM's team to do something they wanted to do. They were the ones who chased people down and got them to agree to do something necessary.
But at the same time I think understanding politics and power, and having a little political skill, is important for everyone because it's how you convince others to help you get things done. People who see office politics as an inscrutable evil just get frustrated when they can't convince anyone to listen to their opinions. And they're easier to exploit and manipulate.
Knowing how the political game works is the best way to protect yourself from those who would play it against you. And if you're too busy doing actual work to play the game, then you need a good PM who you really trust to play it on your behalf.
However, I think you are pointing out that devs get "exploited and manipulated" by, surprise, other PMs. I really can't think of someone else that is good at this. So yeah, just remove PMs that are specialized in "politics".
Now, if you remove "politics" PMs then you could argue that customer support, cross-team requests, etc. will impact developers. In this case, dev managers/leads should prioritize those requests and it should be painful to take away dev time to serve other tasks. If it's painful you will probably invest time in fixing the customer support issue rather than managing your customers. If you are spending too much time serving marketing requests, maybe you just have a bad product that needs improvements before it gets shipped, etc.
I really don't believe easing politics is the way to go.
I see PMs having 3 main responsibilities: Project management, user experience and defining requirements.
The problem with this role is that it's REALLY hard to find PMs who are GREAT at all these different skills.
I would rather have a project manager role, user experience researcher role, designer role, business analyst role, etc.
If the project is too small to define each position, then I wouldn't define a role but rather get people to wear multiple hats. There are devs that are very capable at project management, designers that are also good frontend devs, etc. Or bring external help to support the specific needs of your project.
There are a lot of project managers who can craft a beautiful Gantt chart but know very little about technology. There are a lot of business analysts who are very good at going to a user, asking "What are your requirements?" and then diligently writing down everything the users says and creating a beautifully-formatted requirements document, but who don't have an in-depth grasp/understanding of what the user really needs the product to do. That can bethe difference between a product that meets users' requirements and a product that delights the user.
I think you need to have a single person who is responsible for ensuring that the product should delight the user.
To say that our purpose is to "delight" users just sounds so corny and diminutive, it makes the software we build seem frivolous.