Today I attended "Content Publishing Day," an event put on by Microsoft's Engineering Excellence Group. The conference isn't geared to developers, but I thought it would be interesting to attend because most of my group is involved with content publishing, and it's a good chance to hear about topics that I probably wouldn't attend otherwise.
It's no secret that there's a lot of effort put into staying in touch with consumers -- that's what make blogging such a powerful medium. It's exciting to see how MSCOM (Microsoft's internal organization that hosts Microsoft.com and other internal business units) is tackling some of these communication barriers with smart components.
During the keynote, I gathered a few interesting tidbits. As I alluded to, staying in touch with the customer and delivering solid products is a top priority at MS. And I'm not just saying that -- it really is, and it involves more work than I would've imagined.
Microsoft's top execs are compensated on two main criteria: market share and customer satisfaction. It's no secret Microsoft has battled with customer satisfaction. A lot of this is influenced by the whole "perception is reality" syndrome, influenced in part by security issues, antitrust suits, and just being the big dog.
The fact is, you don't want customers who view you as a necessary evil -- it's a tenous business model and recipe for long-term disaster. There are standard metrics many companies use to measure satisfaction -- something like taking the average of the positive feedback, subtracting the average negative feedback, and adding 100. So, 100 is really the pivot, right? If you're below 100, you've got issues. Successful companies, according to our speaker, typically hover around 140. Microsoft has some ground to make up, hovering around the 110 mark. The good news is that it has been rising steadily. I'm hoping that with 64-bit computing hitting the mainstream and Windows Codenamed "Longhorn" around the corner, even more ground will be made up.
On the engineering side, something one of the keynote speakers said really hit home. Because customer satisfaction is directly related to sucessful engineering, developing our products successfully is a continual push in working smarter and more effectively. We've used the term, "Get better every day." I found this diagram really interesting ... and I'll explain why (straight from One Note):
Here we're faced with the dilema of working harder vs. working smarter and its effects on long-term productivity. On a previous non-Microsoft team I was on, the push was _always_ on working harder, not smarter. The inevitable result is technical debt. As a friend of mine once said (referring to the developers), "people had the impression we'd be wearing hardhats instead of carrying pooper-scoopers." That's because we're always at end of this timeline -- when productivity has bottomed out.
At the time this methodology was pitched as "let's follow the 80/20 rule." That is, follow the path of least resistance that reaches 80% of the goal. The logic being: very often, the last 20% takes the bulk of the time to develop and implement. Sounds simple enough, and superficially this is similar to extreme programming or other rapid development methodologies. The problem, though, is the team was led down the short-sided "work harder" mentality. The key, obviously, is working smarter: so even if you are shooting for the 80%, you're on the right path.
With all this going on, I'm reminded of what makes working at Microsoft so great: the opportunity to learn and develop with a difference is very evident, with such an incredible mix of talent from across the industry.