<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>How Software is Built &#187; triage</title>
	<atom:link href="http://howsoftwareisbuilt.com/tag/triage/feed/" rel="self" type="application/rss+xml" />
	<link>http://howsoftwareisbuilt.com</link>
	<description></description>
	<lastBuildDate>Fri, 25 Jun 2010 19:53:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<copyright>2006-2007 </copyright>
	<managingEditor>scottswigart@technologyevangelism.com (How Software is Built)</managingEditor>
	<webMaster>scottswigart@technologyevangelism.com (How Software is Built)</webMaster>
	<ttl>1440</ttl>
	<image>
		<url>http://howsoftwareisbuilt.com/wp-content/plugins/podpress/images/powered_by_podpress.jpg</url>
		<title>How Software is Built</title>
		<link>http://howsoftwareisbuilt.com</link>
		<width>144</width>
		<height>144</height>
	</image>
	<itunes:subtitle></itunes:subtitle>
	<itunes:summary></itunes:summary>
	<itunes:keywords></itunes:keywords>
	<itunes:category text="Society &#38; Culture" />
	<itunes:author>How Software is Built</itunes:author>
	<itunes:owner>
		<itunes:name>How Software is Built</itunes:name>
		<itunes:email>scottswigart@technologyevangelism.com</itunes:email>
	</itunes:owner>
	<itunes:block>no</itunes:block>
	<itunes:explicit>no</itunes:explicit>
	<itunes:image href="http://howsoftwareisbuilt.com/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<item>
		<title>Interview with Britten Martin &#8211; Group Manager &#8211; Customer Service and Support &#8211; Microsoft</title>
		<link>http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/</link>
		<comments>http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/#comments</comments>
		<pubDate>Fri, 21 Dec 2007 01:24:34 +0000</pubDate>
		<dc:creator>campsean</dc:creator>
				<category><![CDATA[Sean Campbell]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[Britten Martin]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[support]]></category>
		<category><![CDATA[support engineers]]></category>
		<category><![CDATA[system center]]></category>
		<category><![CDATA[triage]]></category>

		<guid isPermaLink="false">http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/</guid>
		<description><![CDATA[Interviewers: Scott Swigart and Sean Campbell Interviewee: Britten Martin In this interview with Britten Martin we talked to him about: The role of support inside Microsoft. A walkthrough of how a support request is handled. The ways in which the outside community can interact with the internal support processes. How a product is supported differently [...]]]></description>
			<content:encoded><![CDATA[<p><b>Interviewers:</b> <a href="http://howsoftwareisbuilt.com/about-scott-swigart/">Scott Swigart</a> and <a href="http://howsoftwareisbuilt.com/about-sean-campbell/">Sean Campbell</a></p>
<p><b>Interviewee:</b> <a href="http://howsoftwareisbuilt.com/about-britten-martin-group-manager-customer-service-and-support-microsoft/">Britten Martin</a></p>
<p>In this interview with Britten Martin we talked to him about:</p>
<ul>
<li><a href="http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/#support">The role of support inside Microsoft.</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/#walkthrough">A walkthrough of how a support request is handled.</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/#community">The ways in which the outside community can interact with the internal support processes.</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/#beta">How a product is supported differently in beta than when it&#8217;s finally released.</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/#bugfix">How a bug eventually become a fix in the product.</a></li>
</ul>
<p><span id="more-122"></span></p>
<p><b>Scott</b>: &nbsp;Britten if you could just introduce yourself for the record. That is usually a good place to start, and then I&#8217;ve got an initial question after that.</p>
<p> <b>Britten</b>: &nbsp;Cool. So, my name is Britten Martin, I am a group manager within CSS which is Customer Service and Support. I&#8217;ve been with Microsoft since 1999 where I came in as a support engineer supporting Windows 2000. So I have been a support engineer, I have done some work with our outsource partners in a partner technical lead role, then I moved into frontline management and did that for about three years. In my current role I am a manager of managers, I have an organization of about 75 people and I am the global sponsor for System Center Support, which is your SMS and MOM products.</p>
<p><a name="support"></a><b>Scott</b>: &nbsp;So  talk a little bit about what falls under the scope of support inside of Microsoft. I mean, engineering rather has its domain, marketing has its domain: what is support defined as and what are kind of the responsibilities roll up under that inside Microsoft?</p>
<p><b>Britten</b>: &nbsp;That is a good question. It really depends on which segment of support. It is a great clarifying question, Scott, because I am within Commercial Support which is the enterprise-based support, your back&#8209;end, your servers, many of your big customers that buy dedicated support contracts, the government, many of the major companies around the world. We also have certainly have a consumer end which is your home user running Vista, Office, also Xbox, Zune. Any product that you can think of that is released by Microsoft has support. So really what it is, the thing that separates, I think, Microsoft from other companies in that, is that no matter what&#8217;s out there, you can pick up the phone, call 1&#8209;800&#8209;MICROSOFT, tell them what your product is, and you&#8217;ll get through to someone to support your issue. Although it certainly depends on the customer segment that you are in, who you are routed to, where you go and how much it costs.</p>
<p><b>Scott</b>: &nbsp;Sure.</p>
<p><b>Britten</b>: &nbsp;In Commerical Support, we support customers who have technical how-to questions about the products and certainly those who are getting error messages.† Also, if you need help setting it up, if you need more consultative type services, we do that as well.</p>
<p><b>Scott</b>: &nbsp;OK. Then one other thing I was somewhat curious about too is &#8209;&#8209; one thing I have always been curious about I guess &#8211; is how a problem works its way through the cycle.</p>
<p><b>Britten</b>: &nbsp;OK.</p>
<p><a name="walkthrough"></a>: &nbsp;So, you start out when the phone&#8217;s ringing and you have one customer, two customers, and three customers: they seem to be having a similar issue. How does it work its way through the process from the technician helping them on the phone, to maybe later on deciding it needs a KB on it, to maybe a hot fix, to maybe being rolled up in a Service Pack?</p>
<p><b>Britten</b>: &nbsp;That is a good question too. OK. I will speak in today&#8217;s terms because major things have shifted over the last couple of years. There used to be a lot of process behind just what you were saying, which is, you know: &quot;When do we do a KB? How many issues before we make a hotfix?&quot; Nowadays with the advent of blogs, which is kind of, what you are doing, you know, what this interview is about, in support we have become a lot more proactive with getting immediate information out to our customers. I will give you an example from my group, within System Center: last week we had an issue with SCCM, the new version of SMS. Just like you described: one call, two calls, three calls. All of a sudden we are like, &quot;Wait a minute, there&#8217;s something going on here!&quot;</p>
<p> So we got some information together, dumped it out into our blog so it was out there. On the back&#8209;end our support engineers, who are your front&#8209;line resources, are working with the escalation team, our escalation engineers who do the debugging, who look at source code, who work with the product group. They are debugging the issue, and they get it down to, &quot;OK, this is clearly a bug.&quot; At that point, that escalation engineer has a hotline per se to the product group, they pass along all of their research, they are reproducing the steps, reproduce the issue, send it on to them, all the documentation.</p>
<p> Then it is kind of in the product group&#8217;s hands to decide, &quot;Is this something that we need to fix now. Do we need a hotfix, is it just something that we can put documentation out.&quot; You know kind of that form of decision making process. In this case it was a major issue, it was a deployment blocker, huge customer pain, so they released a hotfix. Then once again, depending on the urgency, is it a publically available hotfix or is it something that you have to call support to get a hold of? In this case, we knew this was a major issue so we made it available out on Microsoft.com, put a KB article out there, and linked the hotfix to it. Therefore, customers could immediately just go and download that hotfix.</p>
<p> Down the road certainly that&#8217;s going to be in the Service Pack 1 or similar, so you can pretty much figure for all of our major products, any bugs that we fix, or any hotfixes we release up until, there&#8217;s a cut&#8209;off date, will make it into the Service Pack.</p>
<p><b>Scott</b>: &nbsp;And then talk to me a little bit about the timeframe, right, between the time where maybe the first few calls came in, until the time that hotfix and that KB article are out there. </p>
<p><b>Britten</b>: &nbsp;Well, once again it is very, very dependent upon the criticality and the widespread nature of it. </p>
<p> In this case from first call to KB/hotfix was about five days. In addition, some of those delays &#8209;&#8209; they had identified the code, they had written a hotfix within about two days, but there were some delays, you know, going through legal on official KB review, and getting everything up there and replicated. So from beginning to end, about five days.</p>
<p><b>Scott</b>: &nbsp;Yeah, that is fast. I do not think most people would ever think of Microsoft turning something around that quickly.</p>
<p><b>Britten</b>: &nbsp;Some times, I think Microsoft is seen as very slow to respond, but in reality, itís often not the case.† †If it is truly a deployment blocking issue or something that causes widespread customer pain you will see a quick turnaround on it and you will definitely see the documentation out there in a timely manner. I have been here eight years, I have seen issues where it was tough to figure out what the fix was, what the resolution was. Where it was something that would hide itself into multiple components so it was a complicated fix to write, it takes a little longer. However, if we can identify it, if we do a good job on the support side with identifying it, providing reproduction steps to the product group, you know, they can turn it around quickly.</p>
<p><b>Scott</b>: &nbsp;So one question then too, would be, what does the triage process look like if after reproducing the bug you quickly realize that it has security implications versus something that&#8217;s a deployment blocker, which might be the next layer and then further down which are just kind of usability or general  problems in using the software?</p>
<p><b>Britten</b>: &nbsp;Yeah, I think, once again when you are running into security type issues what you get with that is even more resources thrown at the problem. We have security aliases internally, they have product group members, and they have certainly a high-level support presence as well, that if something comes out we can fire it up and quickly. There †is a whole process that is enabled. Let us say there is a new Sasser or Blaster or any of those. We have processes in place that will quickly call together members of support, product group. We have open lines 24 hours a day. It is kind of the war room type mentality.</p>
<p> It has product group members on it. It has support members. So people on the field can call in and say, &quot;Look, I have got an issue with this bug or with this security hole and just want to make sure I have the up to date information&quot;. So they can call into this grid, they can get the information.</p>
<p> On the back&#8209;end, it is hard to say how long it is going to take, depending on the fix but you are going to have even more resources available. You will see a fix as quickly as we can get it out there. After the Sasser/Blaster/Nimda pain, we really turned the corner not only on product development but also on the support side to ensure we could have a quick turnaround.</p>
<p><a name="community"></a>: &nbsp;What do you think the level of community involvement is in the support process because obviously that is a huge piece of the open source model. Right down from many eyes looking forsecurity bugs to a very well populated mailing list where there is a high discussion level, traffic, and things like that. However, at the same time with the closed source support process while the team is staffed potentially adequately with full time employees, there are general concerns out there with a closed source model in terms of how much the community can get involved.</p>
<p> So what are the avenues the community can actually affect the support<br />
process at Microsoft and/or see what is happening under the covers of the support process?</p>
<p><b>Britten</b>: &nbsp;Yeah, I will tell you that it has really been something we have been working on for the last few years. The product groups and the support teams have been trying to find ways to tap into that community model because there are many folks out there that do our support day in and day out with customers that have a lot of knowledge that could be helping the broader community.</p>
<p> So, one of the things that we have is the MVP program, the Microsoft Most Valuable Professional. One of the things that these folks do is to actively take part in the public newsgroups for our products. I can point to a couple of products &#8209; Small Business Server is the poster child for that. It has a very strong community. Customers can go up to the Small Business Server forums and post problems and the MVPs will quickly get involved to help resolve the issue.</p>
<p> There is a lot of energy around building a stronger MVP community and empowering the MVPs to help solve customer issues. Many of the product groups have CPE, Customer Partner Experience, teams, that are really focused on tapping into that partner community.</p>
<p> Another example from my world System Center Essentials, or SCE. We actually launched support for that on a complete forum based model, where we had engineers from CSS monitoring the forum, and we worked to build strong partner participation. If the partner could not answer the question, or did not answer the question within 24 hours, someone from support would jump in. We are trying to grow more community presence around support.</p>
<p> </span>Globally, there is more partner presence out there as well. A good example is SoftGrid or Softriciy, a recent acquisition. In Europe, before Microsoft took over, there was not really a ton of dedicated support. It was all done through the community. Therefore, we have been looking and trying to learn from them on how they involve the partners, and how we can keep that type of interaction going. I know there is a log of energy around this and it is a<br />
huge initiative. </p>
<p><b>Sean</b>: &nbsp;Well, one question which is really back to the second part of the original question which, is that a lot of the product groups in Microsoft are being affected by the open source model.† For example recently we talked to Shawn Burke who has been instrumental in getting the source code† for the framework out the door. How much of push to learn from the open source community is affecting the support team in general? For example could you see a day where the status on bug fixes is more open and less a black box until the actual fix arrives out on the web?</p>
<p> <b>Britten</b>: &nbsp;So thinking more about &#8209;&#8209; I am partner, I am out there. I find a bug or a hole, I put it out there, and really being more transparent if that is going to be fixed. Is that kind of&#8230;?</p>
<p><b>Sean</b>: &nbsp;Yeah, exactly. I realize it&#8217;s not going to be a plate glass window &#8209; it never is. But at the same time I think a lot of people will look at support right now and say, once I send in my support request I don&#8217;t really have a lot visibility of how they are stacking it, ranking it, prioritizing it, and where it goes, until maybe I get an email that says you have been deferred. Right?</p>
<p> So I am just curious, I know a lot of the product groups specifically are trying to expose a fair amount of their development processes, so I was curious if maybe that was making its way over to the support side.</p>
<p><b>Britten</b>: &nbsp;You know it is a fair point. Let&#8217;s say you are running a beta version of the product and you are involved in the one of the official beta programs, such as TAP ñ our Technology Adoption Program.† †The beta version is fully supported and you can actually go and directly file a bug. In addition, I know that they try to make a lot of that process transparent, so you know if the bug is a duplicate. Is it being fixed? Is it being deferred to the Service Pack 1&#8230;whatever. So actually, I know on some levels we do that.</p>
<p> On the support side, I think we make good use of our blog. There is a huge blogging effort, because there is a lot of knowledge within our support engineers and within our internal databases. For one reason or another that has never been made public. So I think we try to do some of that as well. But I can see the point. I mean maybe someday and maybe that some day is not too far away where you can log in and say, here is a bug that I submitted. Alternatively, even better for Windows, here is the bin of things that are going to be fixed in the next two weeks, months, whatever.</p>
<p><b>Sean</b>: &nbsp;Exactly</p>
<p><b>Scott</b>: &nbsp;Well, and so you know not every support request anymore comes in through a phone call, right? There are things like the Connect site. There are things like Windows Error Reporting services. I guess if you would not mind talk for a minute about some of the different channels that, a problem can kind of come in through and&#8230; Go ahead.</p>
<p><b>Britten</b>: &nbsp;No, no, it is fine. So today, and if I use Americas Commerical Support as a kind of a measuring stick, somewhere around 85% of our support issues come in via the phone &#8209; very traditional means of operation. We are really trying to push more of our online type offerings. One is online submission where you can go up and create your issue; you can attach data, submit it to a support engineer. That support engineer reviews that data and calls you back, hopefully with an answer.</p>
<p> The Connect site is a lot more beta focused at this point. I am not an expert there, but that&#8217;s where you get into many of the cool things where you can actually submit bugs and all that. We also have the managed forums, which we talked a little bit about. The managed forums are a completely different avenue. Most of those are staffed by Microsoft support engineers as well as product group representation and the partner community.</p>
<p> </span>So you have an issue with Windows, you can go up to a specific Windows forum, post a question. You might get an answer fromsomeone in the product group, a partner, or a support engineer. Therefore, you have those as well.</p>
<p> </span>On the consumer side, they do really cool things with automated responses. Therefore, you submit an issue and it checks your data, checks your error log to see if it is a known issue. Before you would hear back from the support engineer, you might get an automated response with, you know, try these two things. If this does not work respond back and the engineer will contact you, then as you said, you had the whole Watson or error reporting. The error reporting stuff is very cool, because regardless of bugs filed or anything else that goes on, all the product groups take all of their Watson or their error reporting data and they make sure that as they look to roll out service packs, with new versions of products especially, they want to handle those top 15, top 20, top 50 Watson issues. They want to make sure that they are knocking those off.</p>
<p> Therefore, it is an interesting mix of many different avenues for customers to submit data, and in some cases, a Watson log, the error reporting, customers might not always think they are really contributing to the next version of the product, when in essence, they truly are.</p>
<p>  <a name="beta"></a>: &nbsp; I realize, too, that you are right, that is largely a mechanism for when a product is in Beta. I guess, I have two questions, but one is a follow up on this thread initially. Talk a little bit, I guess; about how a product is supported differently while it is in beta, versus once, it has been released?</p>
<p><b>Britten</b>: &nbsp;That is a good question. We have a few different types of beta opportunities for customers.† There are more formal relationships, such as TAP (Technology Adoption Program) and RDP (Rapid Deployment Program).† With these formal programs, customers agree to deploy this product into some type of production environment. In return, they get access to submit bugs, they get access to product group members, and they get<br />
  access to dedicated support engineers. </p>
<p>From within support, let us say we have a new version of Windows, we might have three or four support engineers in the US dedicated to this beta support. These engineers get a hold of the product early, they get access to product specs, they visit the product group, and they may even get to go out on site to customers who are deploying this product so they get some real world hands on experience.</p>
<p>Now, that is for the structured beta program. If you&#8217;re not a customer in one of these programs, you likely can still download beta copies of the software. Even in these situations, there is support out there, through the forums that we talked about before. Once again, you probably get answers from those same beta engineers and some of the product group folks. You just do not have that one-to-one interaction in a lot more, you know.</p>
<p>Does that make sense?</p>
<p><b>Scott</b>: &nbsp;Yeah. Yes, very much so. One of the other things that &#8209; I will kind of circle back to something you said earlier &#8211; If it needs code to solve the problem, you know, if it is not just configuration file that was messed up or any one of the myriad of things that could cause a problem. You know, some registry key got corrupted or whatever. However, it actually needs the coding hot fix, you could hand it over to the engineering, send it over to the product team and they triage it, compared to other stuff.</p>
<p> I mean, have you ever run into situations it seems like this would inevitably happen where they&#8217;ve got their engineers dedicated to building the next version of the product, and meanwhile, there&#8217;s an endless list of bugs in any complex software that they could be tasking engineering resources with. In addition, it seems that they kind of have to make that call about pulling people off engineering new features to work on a hotfix or something like that.</p>
<p><b>Britten</b>: &nbsp;Yeah.</p>
<p><b>Scott</b>: &nbsp;And how does that process of triage work? Because support is kind of on the front line with the customers, it seems like sometimes you guys might have to go back to them and say, &quot;Um, you know the time frame that you&#8217;re looking at fixing this in probably isn&#8217;t really going to work, so think about it again.&quot;</p>
<p><b>Britten</b>: &nbsp;Right. In addition, I will tell you, it is really dependent upon the product group. You look at something like Windows. Windows has a whole team, and you hear it from time to time called Win SE. ,Windows Sustained Engineering. They have a whole team dedicated to current version, and whatever supported versions are out there, on the hotfix front.</p>
<p> </span>With some of the smaller products, you may run into situations where they have to pull developer resources off the next version to fix current version or legacy version problems. However, I tell you, in my time here, I have never seen that as being a blocker in getting something fixed. If there is truly an issue that needs to be resolved in the current version of the product, especially if its security related, you can be assured that they will find someone to handle it.</p>
<p> However, as a general rule of thumb, all big product groups have sustained engineering, folks that are dedicated to current version problems, or legacy version, so it is not necessarily that huge resource problem that you would think.</p>
<p><b>Scott</b>: &nbsp;OK. Therefore, many times, they are not pulling people off features. They have people who are dedicated just to the maintenance and hot fixes.</p>
<p><b>Britten</b>: &nbsp;Right. That is your sustained engineering folks, for the most part. As I said, I think you would run into some smaller product that might not be in that same boat, but the major ones have sustained engineering.</p>
<p><b>Scott</b>: &nbsp;It seems, too, like support, it is a little bit of a difficult situation, because, I guarantee, if I call with any bug, it is a critical show&#8209;stopper. The world will end if it does not get fixed. So how do you kind of manage customers, who are generally going to feel the importance of their bug is high, but Microsoft does not necessarily determine it so in the grand scheme of things?</p>
<p><b>Britten</b>: &nbsp;Yeah. I tell you, our people are experts at conflict management and really setting customer expectations, and certainly the empathy piece as well. I mean, you have to be empathetic with the situation, but you also need to be very transparent and upfront.. It is saying, &quot;Look, here&#8217;s where the bug is at this point. It is something that may or may not get fixed. Here&#8217;s the timeline.&quot;</p>
<p> With many of our customers in the Commercial space, these customers also have account managers that are Microsoft employees that really serve as the liaison between support and the customer. Therefore, we do a lot of work with the account managers to help us on the customer maintenance side of things, when maybe the messaging isn&#8217;t as good as we&#8217;d like it to be.</p>
<p> However, frankly, all major problems end up getting fixed. They might not get fixed in the period the customer would like to see it, but, between a hotfix, the next service pack, and the next version of the product, all issues do end up getting resolved.</p>
<p> Once again, it is really just dependent upon how many customers are having the same problem. Is it something that other customers could run into? In addition, really prioritizing, like you said before. I mean, the product group, while they have a sustained engineering team, has a limited number of resources, and they need to prioritize what are the big-ticket items that need to be worked on.</p>
<p> However, that skill of conflict management is one of the key pieces for successful support engineers, because, every day, when we answer the phone, when we respond to an email, that is generally that networking administratorís worst day of the year. The servers are down. They are catching heat from their management.† Something is going on, they are being yelled at. Our engineers deal with this on a day in and day out basis and as a result, they get very good at handling the heat.</p>
<p><a name="bugfix"></a>: &nbsp;So one question  I am curious about is, how do you deal with it when the support engineer knows that it is really a usability issue and not a bug, sure there is a sequence of phone calls and bug reports, but it is pretty clear that this isn&#8217;t a bug, it is more of an issue of usability. And it might be in the land of the undiscovered feature right? We were told, if I remember, some person in the office team told me that something like 90 percent of the feature requests for office, are already in the product, but nobody knows the feature is in there. So how do you people educate the product teams and what does that flow look like? How do you finally classify that, &quot;OK this isn&#8217;t really a bug, it is an issue of usability?&quot;</p>
<p><b>Britten</b>: &nbsp;That is a good question.</p>
<p><b>Sean</b>: &nbsp;Because obviously the product team, like everybody else is blind to what they build, right? Of course, it is useable. Because I built it, I mean every developer has fallen to that problem and we all have seen some pretty horrible UIs over the years. So how does the support team educate the product teams on this point?</p>
<p><b>Britten</b>: &nbsp;Yeah. In the past, if you back up five years, 10 years, support was as you said an island. We were out here, taking all the heat and there was limited interaction with the product group. About five years ago, things drastically changed.† we started doing what is called supportability in our world. We review what are the top issues, how long does it take us to solve those issues and how much do they cost the company for us to support these issues?</p>
<p> Therefore, we came up with a list of the top 10 issues. We then present that back to the product group. Now the interesting thing about that is the product group actually funds us to do support for their product. So, when they see that a problem in their coding is †costing them $800,000. they to take some notice , and say wow OK, what does right look like, what are we missing here?</p>
<p><b>Sean</b>: &nbsp;Well, just a quick follow up to that. What are some examples of things where you feel like you touched the product, and you made a real delta that the customers ended up bettering from, but at the same time you folks probably would never personally got credit for it</p>
<p><b>Britten</b>: &nbsp;That is right. I donít have a list in front of me but DNS is one that consistently scored high for Windows 2000 and even some into Windows Server 2003.In addition, there was so much push and so much interaction that there were some major changes that happened later in 2003 and into 2008 that have drastically changed the way DNS works. </p>
<p>Another one I can give you that clearly had all the supportability people driving this was terminal server licensing. Terminal server licensing, when you go back to 2000 and once again, kind of into 2003 with a complete and utter nightmare for something that should be very simple. Consistently that silly process ended up top two, top three on our supportability list for Windows Server. And some very small tweaks based on advice provided by support completely changed this, dropped out of the top 10, out of the top 20 in support issues and saved the company a lot of money.</p>
<p> Those are two examples of technologies I know we beat on. However, on all the products out there, SQL, Exchange, Windows, SMS, MOM, they had the supportability groups that review the top 10 issues. In fact, I was just in Redmond last week, looking for the SMS side and they do cool things with it. I mean they look at top 10 issues for previous version of the product, look at the top 10 issues for current version, and review whether or not they fixed the top 10 call generateors? If not, what do we need to do to make sure it is in the next version that we do? Support is a huge data mine that we are just starting to realize the power of all the data that we have.† We are a great voice of the customer.</p>
<p><b>Sean</b>: &nbsp;One quick follow up to that and then Iíll turn it back to Scott. I am curious because you mentioned that five years ago there was some type of a change, right? In addition, all of a sudden, you folks were a lot more integrated. What drove that? In addition, I realize with all changes ongoing, there is probably stuff you can say and stuff you cannot, but I am sure somebody reading the interview is going to be like, &quot;Wait, wait, and ask him that.&quot; So what drove it at a high level?</p>
<p><b>Britten</b>: &nbsp;I think that is fair. I wish I had some great and gory backroom drama to share, but if it happened, I just donít know the details.† In my opinion, you know, part of it was just the fact that, wow, especially on the Enterprise side, Windows Server 2000 started to really turn the corner and become a huge enterprise related product. People were out there buying it and implementing it and someone on the CSS side as well as, I can guarantee you, the Windows product group was like &quot;We need to tap into this.î </p>
<p> Around this time, I was a support engineer and I suddenly realized that the product group was really listening.† In all businesses you started hearing about some monthly conference calls where we were there to provide feedback on top issues.</p>
<p> It was a time when we were moving from being just a consumer, home user company to being a legitimate player in the enterprise. In addition, there was a lot of pressure at that point to make sure these products were just better, and I think someone realized &quot;Wow, CSS has a lot of knowledge out there; we need to tap into it.&quot; </p>
<p><b>Scott</b>: &nbsp;Well, how much now do you guys get involved in product development from the standpoint of, you guys are looking at the product, while it is in development and saying, &quot;You know what, if that error happens, there is no way we will able to trace it back and figure that out. We need instrumentation here, we are going to need these things, spit it out to a log file, we are going to need these kind of support features built into the product to be able to kind of quickly<br />
  and officially troubleshoot things.&quot;</p>
<p><b>Britten</b>: &nbsp;That is a huge piece of our beta involvement. I know we talked about it before. For each beta, we dedicate engineers from our support teams to the pre-released product. Well, one of the way they make an impact is by providing that ongoing feedback to the product group. They are not only working with beta customers, they are not only answering newsgroups, but they are also messing with the product itself.</p>
<p> </span>Therefore, they filed their own bugs. They have supportability war room meetings where they say, look there needs to be some logging here, or this error message does not make sense, or if this component is blowing up, I need something to trace it back. That is generally our involvement. </p>
<p> </span>We do spec review. So many of our engineers have been on betas before, they are hooked in with the product group contacts. As the next version of the product is being planned, our engineers get involved to review specs, and just generally throughout the beta process from the beginning of our involvement through RTM, we are providing that ongoing supportability feedback.</p>
<p> </span>So not only are we always supporting our customers, but we also look to help the product group on the supportability side. It is like you said, I mean, they are focused on here is a new component, here is a new thing that customers can use, maybe not always focused on how would I support that if it breaks?† Letís be honest Ö if we donít provide our feedback to the product group on what we need, it just causes more pain for us once the product is released.</p>
<p><b>Scott</b>: &nbsp;One other one question is, so a new product is coming out and how do you get support folks up to speed on it?  In the OpenSource model the development team in some cases is the support team and there is a tight integration between that team and the open source community so there isn&#8217;t really a need to educate the &quot;support team&quot; in this case. So how do the support engineers come up to speed on a given product?</p>
<p><b>Britten</b>: &nbsp;This is another benefit of our involvement on the beta side.† †We get access to the source code. We get engineers playing with the product. We get that constant interaction with new builds of the product as it comes out. As a result, months, in some cases years, before the product actually ships, we have experts on this product.</p>
<p> </span>Now, our experts certainly might be great technical writers, but we have a group called Global Technical Readiness. These folks are really program project managers who will say, &quot;All right, we need Vista training for our support engineers.&quot; Therefore, they get their list of top issues. They get a list of new components, features, all of that. In addition, they start mining for data using these beta resources to come up with, &quot;Here&#8217;s what engineers need to know. Here are the troubleshooting pieces; here are the top issues we have seen with our beta customers. Make sure engineers know this and that.&quot;</p>
<p> </span>Therefore, over the course of this beta cycle, we are also in the background writing our own training. So these engineers write the training and as RTM approaches, depending on the training strategy, they might train all their engineers or a subset of the engineers. However, the knowledge is based off spec; it is based off beta engineer experiences, and beta engineer customer interaction.</p>
<p>  In addition, the product group, in recent years, has really stepped up to help with training. They will review our training. They will provide insights. They will attend beta deliveries of the training and help the trainer get comfortable with the material and the product.</p>
<p> </span>In some cases, the product group will also do a session of live meetings on, &quot;Hey, here&#8217;s how we intended you to support the product. Here are the supportability features that we thought would be helpful.&quot; Therefore, you get a lot of interaction with the product group as well. From the beginning of the product to the end, not only are we helping customers on the beta side, but also our selfish win is to get the training that we need.</p>
<p><b>Scott</b>: &nbsp;So, let me ask the flip side of that, right? So, you mentioned Configuration Manager. You&#8217;ve got System Center Configuration Manager 2007 coming out. Everybody wants to learn it&#8230;</p>
<p><b>Britten</b>: &nbsp;Sure.</p>
<p><b>Scott</b>: &nbsp;&#8230;because everybody is motivated. Have do you rather incent people to keep wanting to support the previous version when there is something new, shiny, and interesting.</p>
<p><b>Britten</b>: &nbsp;At least on the Commercial stage, I do not know that I have ever really run into that problem.</p>
<p><b>Scott</b>: &nbsp;OK.</p>
<p><b>Britten</b>: &nbsp;Just simply because, in the enterprise customer segment, what you generally see is not the consumer model where a product releases, and everybody goes and gets the new version. However, it is a gradual uptake, usually. So, say Configuration Manager. Right now, and I can give you the specifics on this one, it is 10% of our total SMS volume. Therefore, engineers get a couple of SCCM cases, but they get the majority of SMS 2003.</p>
<p> </span>In our minds, that is beautiful. Because what happens is, slowly over time they can build their SCCM knowledge while still providing that long held knowledge on SMS. They can help those customers resolve their issues. Therefore, it is a slow mix that generally happens. I do not know, it is &#8209;&#8209; they are tech junkies. They love the new stuff, but I guess maybe we all know that we have to pay our dues with the old stuff as well. [laughing] I do not know.</p>
<p><b>Scott</b>: &nbsp;OK. That makes sense.</p>
<p><b>Britten</b>: &nbsp;That&#8217;s a good question but it never really happens quite that way on the Enterprise side of support.</p>
<p><b>Sean</b>: &nbsp;What it sounds like for you folks, is that from an enterprise standpoint, you can point to pretty clear statistics on customers who are significant accounts. Alternatively, you could point to customers who, for lack of a better phrase, probably spend a fair amount of revenue, right. In addition, it is probably easy to also look at the segment of the market and say, &quot;We&#8217;re not going to give up 15% of SMS just because SMS, the latest version is out&quot; &#8209;&#8209;or in this case, obviously the rebranded version.</p>
<p><b>Britten</b>: &nbsp;Right.</p>
<p><b>Sean</b>: &nbsp;Because you folks can point to real metrics in terms of your percentage of the number of people who are putting in support requests and things like that.</p>
<p><b>Britten</b>: &nbsp;Right.</p>
<p><b>Sean:</b> Thanks for taking the time to talk with us Britten.</p>
<p><b>Britten:</b> No problem.</p>
<img src="http://howsoftwareisbuilt.com/?ak_action=api_record_view&id=122&type=feed" alt="" /><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this:</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F12%2F21%2Finterview-with-britten-martin-group-manager-customer-service-and-support-microsoft%2F&amp;title=Interview+with+Britten+Martin+%26%238211%3B+Group+Manager+%26%238211%3B+Customer+Service+and+Support+%26%238211%3B+Microsoft" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F12%2F21%2Finterview-with-britten-martin-group-manager-customer-service-and-support-microsoft%2F&amp;title=Interview+with+Britten+Martin+%26%238211%3B+Group+Manager+%26%238211%3B+Customer+Service+and+Support+%26%238211%3B+Microsoft" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F12%2F21%2Finterview-with-britten-martin-group-manager-customer-service-and-support-microsoft%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F12%2F21%2Finterview-with-britten-martin-group-manager-customer-service-and-support-microsoft%2F&amp;title=Interview+with+Britten+Martin+%26%238211%3B+Group+Manager+%26%238211%3B+Customer+Service+and+Support+%26%238211%3B+Microsoft" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F12%2F21%2Finterview-with-britten-martin-group-manager-customer-service-and-support-microsoft%2F&amp;title=Interview+with+Britten+Martin+%26%238211%3B+Group+Manager+%26%238211%3B+Customer+Service+and+Support+%26%238211%3B+Microsoft" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.sphere.com/sphereit/http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F12%2F21%2Finterview-with-britten-martin-group-manager-customer-service-and-support-microsoft%2F" rel="nofollow" title="Add to&nbsp;SphereIt"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/sphereit.png" title="Add to&nbsp;SphereIt" alt="Add to&nbsp;SphereIt" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Interview+with+Britten+Martin+%26%238211%3B+Group+Manager+%26%238211%3B+Customer+Service+and+Support+%26%238211%3B+Microsoft+@+http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F12%2F21%2Finterview-with-britten-martin-group-manager-customer-service-and-support-microsoft%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://howsoftwareisbuilt.com/2007/12/21/interview-with-britten-martin-group-manager-customer-service-and-support-microsoft/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Interview with Matt Gibbs &#8211; Development Manager &#8211; UI Framework and Services &#8211; Microsoft</title>
		<link>http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/</link>
		<comments>http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#comments</comments>
		<pubDate>Tue, 11 Sep 2007 21:40:20 +0000</pubDate>
		<dc:creator>campsean</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[frameworks]]></category>
		<category><![CDATA[matt gibbs]]></category>
		<category><![CDATA[methodology]]></category>
		<category><![CDATA[process]]></category>
		<category><![CDATA[triage]]></category>

		<guid isPermaLink="false">http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/</guid>
		<description><![CDATA[Interviewers: Scott Swigart , Richard Bowler Interviewee: Matt Gibbs In this interview with Matt, we asked him about: Approaching open and closed source SDL Development challenges for UI Framework and Services team Handling security within feature development Incorporating SDL into ASP.NET Launching multiple distributions with open source Testing against multiple operating systems Testing cycle for [...]]]></description>
			<content:encoded><![CDATA[<p>
<p><strong>Interviewers:</strong> <a href="http://howsoftwareisbuilt.com/about-scott-swigart/">Scott Swigart</a> , <a href="http://howsoftwareisbuilt.com/about-richard-bowler/">Richard Bowler</a></p>
<p>
<p><strong>Interviewee:</strong><a href="http://howsoftwareisbuilt.com/about-matt-gibbs/"> Matt Gibbs<br />
</a> </p>
<p>In this interview with Matt, we asked him about:</p>
<ul>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#intro">Approaching open and closed source SDL</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#challenges">Development challenges for UI Framework and Services team</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#security">Handling security within feature development</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#sdl">Incorporating SDL into ASP.NET</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#distros">Launching multiple distributions with open source</a>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#testing">Testing against multiple operating systems</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#feat_testing">Testing cycle for features</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#bugfixing">Managing bug fixes and feature stability</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#dev_cycle">Following a development cycle</a></li>
<li><a href="http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/#microsoft">Microsoft philosophy on product development</a></li>
</ul>
<p><span id="more-95"></span></p>
<p><strong>Scott Swigart:</a></strong> Hi, Matt. Before we start, go ahead and introduce yourself.</p>
<p><strong>Matt:</strong>I&#8217;m Matt Gibbs, and I&#8217;m the Development Manager in the UI Framework and Services at Microsoft. My team is responsible for ASP.NET and AJAX as well as parts of Silverlight. </p>
<p><strong><a name="intro">Scott Swigart:</a></strong> Thanks! We’ve been commissioned to look into the premise that open source and closed source SDLs [Software Development Lifecycles] are fundamentally different, and that the differences manifest themselves in the final products in tangible ways.</p>
<p>That&#8217;s not to say that one is better than the other &#8211; certainly both models have their strengths and weaknesses &#8211; but it&#8217;s really designed to get information out there for two audiences: one is software vendors who are looking at building products. One of their first choices is whether they are going to go with an open source or a closed source model, and we want to look at some of the ramifications of that choice.</p>
<p>The second audience is people bringing products into their organizations, and we want to uncover some of the basic expectations that they could have around open and closed source, or some of the characteristics of each model that might impact their choices.</p>
<p><strong><a name="challenges">Richard Bowler:</a></strong> You&#8217;ve been the Development Manager for ASP.NET for about a year, right? </p>
<p><strong>
<p><strong>Matt:</strong> </strong> Yes, about a year. </p>
<p><strong>Richard:</strong>  What would you say are the major development challenges with that product? </p>
<p><strong>Matt:</strong> I think for us, the biggest challenge is that we have a large customer base, so as we innovate, we have to be very sensitive to backwards compatibility. We have a fairly complex platform, so innovation is challenging when you&#8217;re trying to make sure that existing applications people have built with it continue working. </p>
<p><strong>Richard:</strong>  It&#8217;s a pretty complex project, and it&#8217;s built on another complex project, which is the CLR; to co-develop with the CLR team, do you just take what they give you and work from there, or how does that work? </p>
<p><strong>Matt:</strong>  We work really closely with them. In fact, we meet regularly to go through code changes we&#8217;re making with members of the CLR team, so that we&#8217;re all in sync. </p>
<p><strong>Richard:</strong>  It sounds like you&#8217;ve been able to direct feedback to them, saying, &#8220;We really need this kind of capability, let&#8217;s fold it into the next release,&#8221; or something like that. </p>
<p><strong>Matt:</strong>  Yes. And they&#8217;re pretty sensitive to how their changes impact us. They run compatibility tests and stress tests against our scenarios, as well. </p>
<p><strong>Richard:</strong>  It seems like a huge challenge, when you consider the number of software products that Microsoft has on the market that interoperate. It seems like a huge challenge to keep them all working together. </p>
<p><strong>Matt:</strong>  For the framework we&#8217;ve actually held a pretty strict line. I am part of a committee where we review things that were classified as &#8220;potentially breaking a developer’s code,&#8221; and the default was that those weren&#8217;t allowed &#8211; that was kind of the highest priority. Things like &#8220;security fixes&#8221; would be allowed. Then there always needs to be a way to get back to an earlier version’s behavior, through a configuration parameter, for example. </p>
<p><strong><a name="security">Richard:</a></strong>  Speaking about security, we talked with Michael Howard, and also with James Whittaker about the SDL. It looks like it&#8217;s really paying off for you guys. Were you involved in the development internally when the SDL was being instituted at Microsoft? </p>
<p><strong>Matt:</strong>  Yes, actually I worked with Michael Howard on IIS where we ran into a few security issues that helped highlight the need for a more structured approach. </p>
<p><strong>Richard:</strong>  I know what the benefits are, because we discussed it with Michael and James. But what were the main difficulties in shoehorning those new processes over the top of existing SDL processes? </p>
<p><strong>Matt:</strong>  I don&#8217;t think it really came down to process difficulties, as much as it came down to just helping developers recognize that the mindset they had been using needed to be front-loaded with security all along.<br />
In our first round, everybody recognized that we needed to pay even more attention to security, and make it a higher priority. But then the realization was that it can&#8217;t be one phase in the development process. It really needs to be something that we pay attention to all along.</p>
<p><strong>Richard:</strong>  To put it another way, then, you had to get a wrench on the culture. You had to make security important in everyone&#8217;s mind. </p>
<p><strong>Matt:</strong>  Right, and it really had to be the case that everybody came to the same conclusion. You couldn&#8217;t just tell people it was important &#8211; they had to see what kind of impact it had to customers, and recognize it themselves. </p>
<p><strong>Richard:</strong>  Did you get much internal resistance from individual developers, or was there pretty much across-the-board buy-in? </p>
<p><strong>Matt:</strong>  It was pretty wholesale &#8211; everyone recognized it. I think particularly since I&#8217;ve been involved in web platforms, and we saw a couple of places where we&#8217;ve made mistakes, everybody recognized, &#8220;OK, we have to do something different, and be more practiced in this,&#8221; because otherwise we’re not going to get the right outcome. </p>
<p><strong><a name="sdl">Richard:</a></strong>  Where was ASP.NET in the process of instituting the SDL? Was Version 1 out before the SDL really came to the fore? </p>
<p><strong>Matt:</strong>  No, when the process was launched we were already in development. It was during that cycle where we decided to take a break, and we went back and said, &#8220;We need to invest time in this process.&#8221; Everybody did some extra security training, and then we essentially stopped development, and did a pass for just security. We looked at every feature, all the code, looking for specific issues, just to make sure we had done all the right things. </p>
<p><strong><a name="distros">Scott:</a></strong>  One of the things that I found looking at the open source side of things, is just the sheer number of distributions that they have to ship for a product. MySQL for example, I think has 16 distributions, because it has to run on all of these different flavors of Linux, none of which the people working on MySQL really have a lot of control over. Those versions of Linux are all rev’ing independently of each other, so the underlying operating system that it&#8217;s dependent on is changing all the time. You&#8217;ve got a whole ton of applications that are built on top of MySQL, and are therefore dependent on it.</p>
<p>I can&#8217;t even really imagine exactly how to test that, and I know that in the open source world there are issues about, &#8220;This version of MySQL isn&#8217;t compatible with this version of WordPress, which isn&#8217;t compatible with this version of Linux.&#8221; So, they are always fighting these compatibility issues as things just rev independently of each other all the time.<br />
Microsoft has some rather similar challenges, in the sense that IIS revs with the server. ASP.NET revs on its own timeline, which isn&#8217;t tied to the base operating system, and Atlas is also on its own timeline to some degree.</p>
<p>Talk a little bit about the kind of test matrices that Microsoft builds, and the amount of resources in terms of hardware and testers that come to bear when you guys are getting ready to release something, or while you&#8217;re developing something to ensure compatibility with all the versions of all the things you ship. </p>
<p><strong><a name="testing">Matt:</a></strong>  It&#8217;s probably more expensive than you might initially think, because in the same way that there are a bunch of different Linux distributions, we also still test against a lot of different supported versions of the operating system.</p>
<p>We&#8217;ll test against XP and Windows 2000 and Win2k3, with different levels of the service packs and with components installed; with Visual Studio installed, without Visual Studio installed, and then different flavors of IIS. We&#8217;re already testing with IIS 7 on Vista where we&#8217;ve got a lot of integration work going on. When we go to do compatibility checking and functional testing, we have a fairly large lab. And the run time, unfortunately, is on the order of weeks to really ensure compatibility. </p>
<p><strong><a name="feat_testing">Scott:</a></strong>  What I&#8217;m envisioning is that somebody pushes a big button, and a hundred machines get configured with tests. It all comes up and runs, and results get cranked out &#8212; test, pass, or fail. Is it something kind of like that? </p>
<p><strong>Matt:</strong>  Yes, and they categorize tests into different levels of priorities so they can say, &#8220;We&#8217;re going to do a quick sanity check on something,&#8221; and that can take a couple of days. Or, they can say, &#8220;We want to run the gauntlet, and run everything we&#8217;ve got,&#8221; like before a service pack or something, and that will take much longer.<br />
It covers everything from different language packs, to different service packs installed. One time-consuming thing is that errors that are false positives come up, and they need to be investigated. These might be just test issues, and that takes time as well, because you don&#8217;t want to ship with something that might be a problem, so everything has to be investigated. </p>
<p><strong>Scott:</strong>  I know that Microsoft&#8217;s got certain terminology around this. I&#8217;ve heard of something called the BVT, which I think stands for Build Verification Test. There are things that have to happen before something gets released as a CTP, Community Tech Preview. Can you talk a little bit about that, in terms of what the different levels of testing are, and what kind of things have to get verified on those different levels?</p>
<p><strong>Matt:</strong>  There&#8217;s a scaled approach. On a developer&#8217;s machine, we&#8217;ll have what we typically call Developer Tests.<br />
The developer cranks out a lot of small standalone tests against the feature he&#8217;s building, against his APIs. He&#8217;ll run those every time he goes to check in code. We&#8217;ll aggregate those for our dev team, so that you&#8217;re running a fairly lengthy set of them. But, they still run within just a few minutes, so that you can continue making fast development progress. Then we&#8217;ll run a superset of those before we check in. </p>
<p><strong>Scott:</strong>  So, that&#8217;s to make sure that one developer&#8217;s change didn&#8217;t break some other developer&#8217;s code. </p>
<p><strong>Matt:</strong>  Yeah, that the basic functionality is intact. Then, the test team runs what they call a set of nightlies. They&#8217;ll run those on every daily build that comes out, they&#8217;ll kick off an automated set of nigthlies. They’re small enough in scope that they can run overnight, and any failures can be investigated fairly quickly. They are what they call “Pri0” test cases; and that would be mainstream use-cases.<br />
Then, the superset of that is something that’s maybe ten times the number of test cases, and that&#8217;ll run for days to verify the full functionality. That&#8217;s literally thousands upon thousands of test cases. </p>
<p><strong>Richard:</strong>  So, your nightlies maintain a level of sanity about the ongoing nature of the code base &#8211; yesterday it was still good, today it&#8217;s still good, tomorrow somebody&#8217;s checking in something bad. Let&#8217;s back up and fix this so you never get too far out of whack. </p>
<p><strong>Matt:</strong>  Then, you may find something when you go through a full test pass. When the tester originally made the test plan, they may have said it&#8217;s a fringe scenario, so it was classified as a priority two test case. You might only run it before a release, and then something breaks. </p>
<p><strong><a name="bugfixing">Scott:</a></strong>  Microsoft has a lot of people who blog, so there are obviously a lot of people on the product teams who are fairly transparent about where they are and what they&#8217;re doing. I think Scott Guthrie put up a big blog post where he said, &#8220;You know, there&#8217;s a point in time where we don&#8217;t necessarily fix every bug because we have to weigh the risk of impacting the stability of the product.&#8221;</p>
<p> Every time we touch a line of code, there&#8217;s a risk that we&#8217;re going to hurt the stability of the product, so there&#8217;s a point where we switch from telling a certain team what we&#8217;re fixing to actually having to get permission to fix certain things because of where we are at in the stabilization process. Am I characterizing that right? </p>
<p><strong>Matt:</strong>  Yeah, we’ve spent a lot of time mining our bug tracking database, and you look at data points like, &#8220;For X number of bugs, how many fixes actually cause some other problem?&#8221; The closer you get to shipping, the more likely you are to look at something and say, &#8220;This is really not a very important bug, and people are just not really going to see this. It&#8217;s good that we did the due diligence and found it, but this late in the game, you run the risk of breaking something more important.&#8221; You might just leave a bug in there and fix it when you have more time to shake out the problems. </p>
<p><strong>Richard:</strong>  I guess if you didn&#8217;t do that, you&#8217;d never ship. </p>
<p><strong>Matt:</strong>  Exactly. With new engineers, you&#8217;ll regularly see them hit this kind of frustrating point when they have a bug, they want to fix it, but it&#8217;s time to ship and they get told no. Their point of view is that it&#8217;s a problem that should be fixed, and they have to be told that they can fix it, but not until the next version </p>
<p><strong>Scott:</strong>  I have to admit that it’s odd to think that leaving bugs alone raises quality.</p>
<p><strong>Richard:</strong>  In my own process over time it seems like when we get down to the mode when we&#8217;re primarily testing an implemented product and engineers are working on bug fixes and not new features and behaviors. It seems like as you get closer and closer to when you need to ship it gets harder and harder to jump through the hoop of where a bug ought to be fixed. At some point it&#8217;s got to be an absolute showstopper to stop the shipment; it&#8217;s got to be a crash or something like that, otherwise you&#8217;re just not going to fix it until the next release. </p>
<p><strong>Matt:</strong>  Yeah, we get to the very end where we call it recall mode, where the question is whether you would actually take the product off the shelf in order to fix this issue. At this final point in the process, unless we’d recall the product, we don’t fix it.</p>
<p><strong>Scott:</strong>  Another thing that&#8217;s pretty interesting to me is the whole way that Microsoft does milestones. Again, my impression of it from the outside is that somebody will say, &#8220;OK, these are the features that we&#8217;re targeting for milestone one, for M1,&#8221; and so developers will go off and they&#8217;ll be working on those features. There will be a graph of the bug count that&#8217;s just climbing, climbing, climbing; the number of test cases written are just climbing, climbing, climbing.</p>
<p>At some point, it seems to switch over to where new features aren&#8217;t being written, it&#8217;s focusing on stabilization for the M1 milestone. So, there&#8217;s a trend down in the bug count. It seems like there are a lot of different variables that are being looked at in those stages; what&#8217;s happening to the bug count, what&#8217;s happening to the perf numbers&#8230;<br />
Can you talk about how all that stuff comes together? Am I characterizing these milestones correctly? Is that sort of how it works? </p>
<p><strong><a name="dev_cycle">Matt:</a></strong>  In the past, that is how I would have characterized it &#8211; a sort of waterfall approach where we crank out a bunch of features and accumulate bugs, and the test team cranks out test cases, and then we play catch-up and try to satisfy all those test cases and bring the bug count down isn’t the most efficient. But we&#8217;ve actually shifted in our group to a little different approach that we think is working better.  </p>
<p>Instead, we&#8217;ve gone to what we&#8217;re calling a feature crew model where the dev, test, and PM work together from the start on defining the design, the set of test cases, and the unit tests, and they drive for more quality up front before the feature even gets checked into the product. So, they&#8217;ll work in an isolated source code branch getting a feature to a higher level of quality and then get it into the product. </p>
<p><strong>Richard:</strong>  It sounds like you&#8217;re moving, at least to some extent, toward a more Agile model. </p>
<p><strong>Matt:</strong>  Yeah, it&#8217;s ended up being a hybrid of Agile development with features of SCRUM, but you couldn&#8217;t really call it one or the other. It still falls into a sort of waterfall effect where we have a milestone of a bunch of features we&#8217;re going to try to get done by a certain time. There is still this mentality of feature crews driving for a deadline, so we picked the pieces of a bunch of different methodologies that seem to work well for us in delivering commercial software, and we are trying to make them work together. </p>
<p><strong>Scott:</strong>  Now, I&#8217;ve heard a little bit about these feature crews. Correct me if I&#8217;m wrong, but that seems to have been developed after the ship of Visual Studio 2005. It came out of … I think they called it like, MQ or Milestone Quality, or something like that? </p>
<p><strong>Matt:</strong>  Yeah, it was kind of built around the milestone for quality. </p>
<p><strong>Scott:</strong>  So, some of the ramifications of that are that if there&#8217;s a feature you&#8217;re dependent on to build your feature, it might take you longer to get that. But, when Microsoft releases things like Community Tech Previews, they&#8217;re going to be more stable by default, because things were only checked into the source base that passed a higher quality bar. Is that right? </p>
<p><strong>Matt:</strong>  That&#8217;s the goal, and we were able to benefit from the approach with the ASP.NET AJAX release. We embraced the feature crew model when it was still ramping up for the rest of the division, and it worked out pretty well for us. We learned a few things we could do better.<br />
We also learned that some of the dependencies became a little bit difficult to manage. If you truly had a feature that needed something else to be completed, then you ended up with a staggered set of feature work waiting for future builds. You needed an equal set of things that could be done early, in order for everybody to keep being productive. </p>
<p><strong>Richard:</strong>  It sounds like what you&#8217;re doing is trying to make sure that your interim quality is higher by testing feature-by-feature, and by enforcing a quality standard on individual pieces instead of waiting for the entire conglomeration. Is that a correct characterization? </p>
<p><strong>Matt:</strong>  Yes, hold the line on quality all along. Don&#8217;t accumulate debt in order to get more features done earlier. </p>
<p><strong>Richard:</strong>  That seems really smart to me. There&#8217;s an old saying you can&#8217;t test quality into a product, and that&#8217;s really true. It seems really smart to me. Was that inspired by the SDL&#8217;s focus on early process involvement of quality assurance? </p>
<p><strong>Matt:</strong>  Yes. Before, we almost had two instances of lifecycles. You had development working on one lifecycle model, and you had the quality assurance teams running along six to eight weeks behind the dev team.<br />
But, that wasn&#8217;t really working efficiently because all we were doing was having one team try to play catch-up with the other team. The dev team was cranking out features, and the test team was finding problems with it. Then, the dev team was trying to catch-up on the problems that the test team found. </p>
<p><strong>Scott:</strong>  With Visual Studio 2005 when it came out, there were a lot of issues around stability and quality, and things like that.<br />
It was easily the most complicated development environment that Microsoft had ever built, maybe that anybody had ever built. It had amazing levels of cross-product dependencies; there were big products of their own that were put in there, like Team System.</p>
<p>Some of the impression, at least from the outside, was that it didn&#8217;t all come together and stabilize at the end the way that everybody had hoped. So, is that correct? Do you feel like maybe the initial version wasn&#8217;t as stable as everybody hoped, and so some of these things have been done as a response? </p>
<p><strong>Matt:</strong>  That may be the conclusion from my team&#8217;s perspective, focusing on the platform. I think we probably feel like we&#8217;re in pretty good shape because we have criteria and goals that were met.<br />
But, I know in the MQ timeframes a lot of people focused on a lot of little things that weren&#8217;t quite right that they wanted to fix up for the next release. That was primarily targeted at the development tools environment, not the platform. </p>
<p><strong>Scott:</strong>  You work in the open source world in a sense with Atlas, right? Because there are a set of controls for Atlas that are effectively open source in that Microsoft puts the source out there. They&#8217;re maybe not open source in the sense that anybody in the world can just modify the source and submit changes to it, but please talk a little bit about this foray into open source with some of the Atlas controls. </p>
<p><strong>Matt:</strong>  The AJAX Toolkit Project is a separate team around the corner from us, and it is shared source. They take code submissions from the public. They have released the really snappy UI controls that everybody uses on top of the Atlas part of the platform.<br />
It&#8217;s been well received, and people are able to grab the source, and build it, and contribute. It&#8217;s a little different for us in comparison to what we&#8217;ve done before. We’ll see how much the community itself drives lots of new controls, or if it&#8217;s something where they like the fact that the controls are out there, but they don&#8217;t really actively contribute a lot. </p>
<p><strong>Scott:</strong>  Certainly a key benefit of open source is that the source is out there for you to learn from. I think that even taking the Windows Forms controls and the ASP.NET controls, certainly a lot of best practices might have been gleaned from being able to look at how Microsoft did what it did. </p>
<p><strong>Matt:</strong>  Well, we&#8217;ve done that with the Atlas release now, too. That&#8217;s a first for us, and I&#8217;m really proud of it. When we released ASP.NET AJAX, we released the source symbols for it so you can attach a debugger, and step right through our source code.<br />
It&#8217;s not the same as taking source code in from the community, but we look at it as being very open and transparent. It&#8217;s one of those things where in the open source community, everybody says, &#8220;I have the source, so I can do what I want with it.&#8221; From my perspective, though, people tend to say that but not do it. </p>
<p><strong>Scott:</strong>  I think they call it the Berkeley Conundrum. It&#8217;s a variant on &#8220;if a tree falls in the woods, but nobody hears it, it doesn&#8217;t really make a sound.&#8221; If there&#8217;s so much open source code out there, and not really enough eyeballs to actually look at it, does it really matter that it&#8217;s open source? </p>
<p>One of the things that seems to me like a huge challenge is that inside of Microsoft you can control exactly what people get to do to. You can control the training that they have to have around security, and performance, and best practices. You can control the unit tests they write, and you can control the process that the code goes through.<br />
When you take a look at open source, you just get code delivered to you and you don&#8217;t have any control, or any view into the process that was used to create that code. </p>
<p>From Microsoft&#8217;s perspective, you’re taking submissions from the community; how do you ensure things like security, performance, and reliability, when anybody could be submitting the code, and you don&#8217;t have control over how they got there? </p>
<p><strong>Matt:</strong>  I&#8217;m not intimately familiar with it, but my understanding is that the team has essentially taken on the burden, so far, of ensuring some of the security themselves by essentially laying our security process on top of the code before it goes out to the public. I also think there&#8217;s an element of caveat emptor.</p>
<p>But, because it&#8217;s coming from Microsoft, there has been a certain expectation of quality.  At this point, because we have a dedicated team working on it, they&#8217;re in the code and it&#8217;s still going through quite a bit of the Microsoft process.<br />
Also, at this point, you can&#8217;t just submit and have it go right out to CodePlex. You submit as a team, and your submission is then under review for inclusion on CodePlex. </p>
<p><strong>Richard:</strong>  What do you think are the advantages of closed source over open source? </p>
<p><strong>Matt:</strong>  In my mind, it comes down to probably two things. One, the customer knows they have somebody to go back to, that there is a company that they&#8217;re buying software from that is backing it up. Two, there is a full-time developer that is working on advancing the software.<br />
Open source has done fantastic things with having a community effort drive things to do good software. But, the fundamental difference is that with proprietary software you have an entity that&#8217;s responsible and people employed to push things forward. </p>
<p><strong>Richard:</strong>  What about the development of that process itself &#8212; the mechanics of designing, implementing, and shipping a piece of software. Do you see advantages to the closed source model, and if so, what are they? </p>
<p><strong>Matt:</strong>  I think you may have a little bit more of a culture of discipline but I&#8217;m not sure that it&#8217;s really that much different. I think there&#8217;s so much passion from people in the open source community in what they&#8217;re building that it may be the same kind of thing. The same kind of respect somebody has for their full-time job. </p>
<p><strong>Scott:</strong>  There are two myths that I frequently encounter, one related to open source, and one related to proprietary software.  The open source myth that I hear again and again is that many eyeballs looking at the code ensures security.</p>
<p>Michael Howard really threw down the gauntlet on that and said, &#8220;Show me the data, because there&#8217;s just no data to support the idea that you can make sure code is secure just by open sourcing it and letting people look at it.&#8221;<br />
On the closed source side, one of the things that I often hear as being an advantage is this notion that there&#8217;s a company to go back to, there&#8217;s a company that stands behind it. My impression is, I don&#8217;t have any guarantee that a bug that I find will get fixed in the product. I don&#8217;t have any guarantee that a problem that I&#8217;m running into will get solved by the company that produced it. I can file a bug, I can call product support; maybe I&#8217;ll get a resolution, maybe I won&#8217;t.<br />
Do you think that Microsoft or any other company really offers that level of guarantee? </p>
<p><strong>Matt:</strong>  In my experience having worked as a quick-fix engineer where we investigated customer reported problems from PSS, it was very serious. If you couldn&#8217;t find some way to workaround it, it needed to be a product fix. Now with that being said, if there was a reasonable workaround, then you&#8217;re back to the issue of whether it&#8217;s worth the risk to go patch product code.</p>
<p>There&#8217;s not a case I can think of where a customer had a serious problem and we didn&#8217;t either find them a workaround or patch the product in order to get them back on track.  The open source community can’t guarantee every requested change will be made either.</p>
<p><strong>Scott:</strong>  I guess the only caveat to that might be that obviously, it&#8217;s not going to be instantaneous, in either the closed source or the open source world. I remember a problem I found, and the answer was it&#8217;ll be fixed in Service Pack 2, but Service Pack 2 didn&#8217;t come out for another six months. </p>
<p><strong>Matt:</strong>  Very few fixes in proprietary or open source development are instantaneous.  More complex issues may take longer, and again there is the concern about compatibility.  When something like Service Pack 2 ships, it’s had many hours of testing devoted to it to ensure that even small fixes are getting good coverage.</p>
<p><strong>Scott:</strong>  Clearly, from your perspective, that guarantee of supportability is real, but there are just certain kinds of physical constraints on how fast the resolution might be available. But in your experience if there is a critical problem, either the customer gets a workaround for it or Microsoft starts working on a fix?</p>
<p><strong>Matt:</strong>  That&#8217;s been my experience in ten years here. </p>
<p><strong>Richard:</strong>  We talked to one of the guys that works on the Linux kernel. He basically said what happens is that people turn code in to the mailing list, and then everybody takes a look at it. If they&#8217;re interested and they snipe at it, then the developer makes some changes. Then, ultimately it either gets adopted by the maintainer &#8211; the person who owns that section of the kernel &#8211; or it doesn&#8217;t.</p>
<p>So, at least in some sense there&#8217;s no process to enforce quality during implementation beyond peer review. It seems to me intuitively that that&#8217;s a disadvantage. But, I just wanted to get your take on it. </p>
<p><strong>Matt:</strong>  Of course we&#8217;re not working on the kernel, but I know that before a piece of code I write is going to get anywhere that it&#8217;s going to get exercised quite a bit. It seems like inherently that&#8217;s an advantage.</p>
<p><strong><a name="microsoft">Scott:</a> </strong> Matt, talk a little bit about motivation inside of Microsoft. How much is it sort of computer-generated, and how much is it, &#8220;Developer Number 13 had this much code checked in, this few defects, found this many bugs…?&#8221; How does it work in the “big house?” </p>
<p><strong>Matt:</strong>  For us it&#8217;s all about our developer customers. It’s about the level of enthusiasm and people&#8217;s feedback, and it all feeds off of that. We get our customer’s excitement, what they want to see, what they&#8217;re going to be able to build.  They say to us, &#8220;If only you added this feature you could save me time, and here&#8217;s what I want to see next.&#8221;<br />
The people here in Microsoft are completely driven by what our customers want to see next. We may be in a bit of a unique position because our customer is a developer, and developers get really excited about the platform. </p>
<p><strong>Scott:</strong>  I’ve heard from people who’ve interviewed at Microsoft come back and say, “There really is a sense that by working at Microsoft you have an opportunity to change the world.”  I would guess that many of Microsoft&#8217;s products … if you take a look at Office, Visual Studio, Silverlight, and how you hope those products progress over time, most of these are big bets. In most of these cases, you are part of something that you hope is going to be really big and industry-changing. </p>
<p><strong>Matt:</strong>  Yes, it&#8217;s the kind of thing where I&#8217;ve had people come up to me at ASP.NET conferences and say, &#8220;You changed how I do my work. It&#8217;s been an incredible experience and I can&#8217;t wait to see what you guys do next.&#8221; It makes an impact on their life. It makes it fun. </p>
<p>It’s different than what Scott was driving at; the “how many defects” and “how many lines of code” kind of thing. We really run off of developer-driven enthusiasm. There&#8217;s an enthusiastic, sharp, hardworking group of people that are really focused on the customer and how to make better developer experiences. </p>
<p><strong>Richard:</strong>  Well, thanks very much for talking with us. I appreciate it. </p>
<p><strong>Matt:</strong>  Sure.</p>
<img src="http://howsoftwareisbuilt.com/?ak_action=api_record_view&id=95&type=feed" alt="" /><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this:</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F11%2Finterview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft%2F&amp;title=Interview+with+Matt+Gibbs+%26%238211%3B+Development+Manager+%26%238211%3B+UI+Framework+and+Services+%26%238211%3B+Microsoft" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F11%2Finterview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft%2F&amp;title=Interview+with+Matt+Gibbs+%26%238211%3B+Development+Manager+%26%238211%3B+UI+Framework+and+Services+%26%238211%3B+Microsoft" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F11%2Finterview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F11%2Finterview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft%2F&amp;title=Interview+with+Matt+Gibbs+%26%238211%3B+Development+Manager+%26%238211%3B+UI+Framework+and+Services+%26%238211%3B+Microsoft" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F11%2Finterview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft%2F&amp;title=Interview+with+Matt+Gibbs+%26%238211%3B+Development+Manager+%26%238211%3B+UI+Framework+and+Services+%26%238211%3B+Microsoft" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.sphere.com/sphereit/http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F11%2Finterview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft%2F" rel="nofollow" title="Add to&nbsp;SphereIt"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/sphereit.png" title="Add to&nbsp;SphereIt" alt="Add to&nbsp;SphereIt" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://twitter.com/home/?status=Check+out+Interview+with+Matt+Gibbs+%26%238211%3B+Development+Manager+%26%238211%3B+UI+Framework+and+Services+%26%238211%3B+Microsoft+@+http%3A%2F%2Fhowsoftwareisbuilt.com%2F2007%2F09%2F11%2Finterview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft%2F" rel="nofollow" title="Add to&nbsp;Twitter"><img class="social_img" src="http://howsoftwareisbuilt.com/wp-content/plugins/social-bookmarks/images/twitter.png" title="Add to&nbsp;Twitter" alt="Add to&nbsp;Twitter" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://howsoftwareisbuilt.com/2007/09/11/interview-with-matt-gibbs-development-manager-ui-framework-and-services-microsoft/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

