Raj Pai's Blog

What are the C# PMs up to this month?

During the implementation stages of the product cycle, Program Managers at Microsoft are often described as the glue that holds the product team together.  We are responsible for making sure that the different disciplines within the C# team are working well together towards common goals, and that our team is working well with the other groups we depend on or that depend on us.  At this stage of the product cycle, PMs also work in concert with Dev and QA leads to drive the bug triage process.  This is where we make the tough calls to maximize the product quality, WHILE maintaining a schedule, AND ensuring that we are shipping a compelling developer experience to our customers.  Sound tricky?  Check out one of MS Build’s triage meetings that was recorded a couple of months ago to get a behind the scenes look on how these meetings are run.

 

So when dealing with something as complex as shipping a new version of Visual Studio, how do PMs stay sane?  We prioritize.  Without a list of priorities that we can all march towards, chaos ensues.  Given that the product cycle is so fluid, we often have to refresh our priorities from one month to the next or even from one week to the next.

 

So here’s what the C# PM team is focused on for the next several weeks:

1)      Support the Whidbey Security push.  As you may have seen in Soma’s or Natalie’s blog posts, at this phase of the product cycle we are driving hard to ensure that our product is secure through reviews, threat models, automated scanning tools like FxCop and PREfast, and extensive testing.  PMs are keeping the team focused on security and making sure that any/all issues that are discovered are absolutely locked down.

2)      Bugs.  Triaging bugs, investigating bugs, and closing bugs.  Typically when bugs get assigned to PMs, it’s because the desired behavior is unclear or has side-effects that were not originally considered in the specification.  Thus, until PM is able to articulate the correct design for a scenario, devs are blocked from fixing it.  So it’s important that PMs are efficient in resolving their bugs so we are not a bottleneck to the rest of the team.

3)      Developer community engagement – hit monthly objectives.  One of my goals as the GPM of the Visual C# team is to make community engagement part of the culture of the PM team so that it’s a natural extension of our everyday jobs.  In some ways we are making good progress towards this, and others ways we have a long way to go (look forward to entire blog posts on this subject).  Until we are all living and breathing community so that transparency just happens naturally, we are going to “attack” the problem in the classic PM way – set time-sensitive goals, measure ourselves against those goals, and iterate until we get better.  Every PM has areas that they are focused on (examples include MVP interactions, chats, forums, etc.).  We are going to continue to raise the bar in each of these areas so that we can tighten the loop with our community and as a result build products that delight our customers.

4)      App. Building.  One of the most fun parts of the job – we take a week, organize into teams, and build applications using the product.  This is a great opportunity for us to see how well all the pieces we work on actually end up fitting together, and get broader perspective on how real world users experience Visual C# and the debugger from end-to-end.  Additionally, it has the nice side-effect of us discovering some of the more elusive integration bugs by banging on the product.

5)      Whidbey presentations and demos.  We have a lot of presentations and conferences coming up this year (it’s always sooner than you think), and we so many awesome features and scenarios to present.  This is good time for us to start pulling together our slides and demos so that we can do a great job showing off our baby. 

 

If folks are interested, I’ll periodically update you all on what we’re up to.  Let me know!

Published Friday, January 14, 2005 12:45 AM by rajpai

Comments

 

Sushant Bhatia said:

I am rubber, you are glue...Sorry I couldn't resist poking fun at the "described as the glue that holds the product team together." :-)

This post is quite interesting. About bugs, you mentioned that they are typically assigned to you if side effects occur that were not planned for. Do architects of the system get invoved in this phase too and especially with what seems to be a design issue?

I would also like to ask how when you do the App. Building, you can actually cover all if not most of the possible uses for C#. Obviously you cannot cover all the bases so how do you go about choosing that subset which covers a market majority. Do you base you decision on the number of users who are gonna program in a certain way or do you base it on industry use of certain key companies?
January 14, 2005 8:53 AM
 

Raj Pai said:

Hi Sushant. Good questions.

When design issues are exposed in the product, PMs are responsible for determining what all the options are and the respective costs/risks. This typically involves working with the devs who were responsible for defining the architecture of the given area. Depending where we are in the product cycle, management approval (GPM, Dev Manager, QA Manager) may be required to justify more complicated architecture changes. Changes to existing designs after the spec is frozen are known as DCRs (design change requests.

With respect to app building, this is just one of the tools we use to understand how customers use our products. We also engage heavily in usability testing, focus groups, design reviews with customers, and by regularly interviewing devs who use our products on a long term basic. We only have a limited amount of time for app building so we're only going to get a taste of what ours user experience. For app building this time, we are splitting off into different sized teams. One team of seven will work on the beginning of an enterprise focused app. We have several teams of two that will try pair programming on small apps. Finally we will have a few teams of four that will work on mid-sized apps. We've found in the past that app building helps us gain experience with the product outside the areas we own, helps identify design or quality issues, and is great for team-building.
January 14, 2005 1:52 PM
 

Patel Goel said:

Fascinating blog! Your job sounds very exciting! Why the name "whidbey"?
January 17, 2005 12:00 PM
 

Raj Pai said:

Hello Patel, yes my job is very exciting! Sometimes a bit hectic, but definitely fun.

Geographical landmarks and locations are a common source of codenames for Microsoft products. Whidbey is an is an island in Puget Sound, north of Seattle. For a list of other Microsoft codenames and the products they refer to, check out: http://www.dnjonline.com/articles/backend/codenames.asp
January 17, 2005 10:15 PM
 

Ashish Sharma said:

Stumbled upon your blog via Eric Gunnerson's blog and I subscribe to his regularly. So I'll add yours to my RSS feeds list too. Very interesting blog and I'm sure I'll learn more from your posts.

Thanks.
January 18, 2005 7:14 AM
 

Mark Groves said:

Definitely interested in how things are going, also our company is moving to MSF, and any insight you can give on what PM do on a daily basis would be helpful.
January 18, 2005 4:49 PM
 

Raj Pai’s Blog : What are the C# PMs up to this month? | Music said:

January 1, 2008 8:21 AM
Anonymous comments are disabled

This Blog

Syndication

Tags

No tags have been created or used yet.

© 2008 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker