With Windows Server 2003 development coming to a close earlier this year, I had the chance to sit down with Brian Valentine, Senior Vice President of the Windows team at Microsoft, and discuss the company's most complex and customer-driven Windows Server version ever. Valentine, a humorous but hard-hitting individual, is responsible for virtually everything at Microsoft with the Windows name on it, as he says, and he reports directly to Group Vice President Jim Allchin. Here's what Brian Valentine had to say about Windows Server 2003 and the ways this product reflects massive processes changes the company made to better meet customer needs.
Paul Thurrott (PT): Can you give us a little information about your background, what products you've worked on?
Brian Valentine (BV): I joined in Microsoft in August 1987, coming in as a test manager on OS/2 [LAN Manager]. I did that for a few years, and then moved to the Workgroup Application Group, which became the Exchange group over time. I ran that group for seven years, releasing Exchange 4.0, 5.0, and 5.5. In late 1998, I was asked to come over and run Windows 2000 development. At the time, we didn't know when Windows 2000 would be delivered, and it eventually took another 14 months. After Windows 2000, I picked up all of Windows, so I now own anything with the Windows name on it.
PT: What was your role was during the development of Windows Server 2003?
BV: Mostly, it's been about pushing responsibility and accountability down the chain, in order to grow great leaders. [Corporate Vice President] Dave Thompson is the day-to-day executive driving the project. He's the engineering manager across the board, and works for Bill [Veghte, Corporate Vice President of the Windows Server Group, and a direct report to Brian]. I'm basically the ultimate decision maker on the team. If someone doesn't know the answer, it stops at my desk, and I handle any big debates that need a decision. I meet with Iain McDonald and Todd Wanke every other day after the War Team meetings, to get the status of the project. In essence, I'm the executive Godfather. [Laughs]
PT: [Laughing] I'll always think of you as the executive Godfather.
BV: Thanks! My history and passion has revolved around managing complex software projects. How do you build a complete environment? I tell the Windows group, it's not just a product, it's a lifestyle. Everyone should feel like they're part of that. The product should be fun, because we're building things that other people don't have the opportunity to build. So I'm more than project manager, I have to keep people honest and be the ultimate decision maker. Steve [Ballmer], Bill [Gates] and Jim [Allchin] look to me as the guy that is ultimately responsible [for Windows Server 2003].
PT: How did the development of Windows Server 2003 compare to previous Windows versions? As the product gets more complex, do you see the development timeline increasing with each release, or can this be managed by simply increasing the number of developers devoted to Windows?
BV: The way I look at it, we build software on a level that's never happened before in history. The number of people involved, the number of lines of code, the overall complexity of the product, the legacy support and compatibility that we have to support, the dimensions of what we do ... There's not a lot of history to point to and say, let's do it that way, let's modify that and make it better. Because of the scale of Windows Server 2003, it's hard to get previous knowledge around the process, so we invent a lot of things. Back with Windows 2000, the project was built with lots of sweat, energy and passion, but we didn't have a good process. For efficiency, tools, and productivity, I'd give us a fairly low score. From an engineering process score, we built a great product, but the energy required was tremendous. Now, we have a much better process, and that's lets us do more complex things, and do better things faster. What we've concentrated on since Windows 2000 was completed is how to move the company from technology-centric thinking into customer scenario-based thinking.
If Microsoft walked in on one of our key enterprise customers ten years ago, and asked what they were doing, they would have explained what their business problem was and we would have offered them Windows and Office as the solution. But customers aren't looking for products, they're trying to solve specific business problems, and they need end-to-end solutions. Just offering them Windows and Office won't work today, and we've learned that over time. We've taken customer scenarios, feedback and experience and mapped them directly back to the development process. One example is the Watson technology and the customer feedback loop it enables. You get a dialog box when an application or the system crashes, and can send a report back to Microsoft. We track these problems all around the world, and close the feedback loop. If we've the bug before, we can say, here's the fix. You can subscribe to Auto Update if you want and get it automatically. That's just a small component of the overall feedback loop, but it's driven out of what we needed to do to address customer's needs. We capture issues in an objective way, and not use subjective knowledge to try and solve problems. It's a direct connection to the customer, and we can pull feedback back into the product immediately. So that's one thing that's changed.
A second thing is we've got a really good core set of customers we interact with daily--the Joint Development Project (JDP) partners and others. They sit down with us at design time and help us make priority decisions about which features and fixes need to be in the product. At end of the process, where we are now with Windows Server 2003, they deploy the product early, and make sure it's tested in a production environment, as if it were already shipping. All of this maps directly back to the development process and affects how we deliver the products.
PT: Tell me more about this mind shift. It sounds like Microsoft has really changed the way it develops products.
BV: Yeah, it's been a key shift in the way Microsoft thinks about these things. We used to just say, "If you build, it they will come." But that's changed, and we have to engage customers, make sure we're delivering a high quality platform, and give them a roadmap for growing that platform. We need to be there when rapid change occurs. This encompasses a lot of things, the best manageability that we can supply; the best quality, obviously with security issues; rapid deployment, and so on. For management, we need to be able to supply customers with a complete map of their inventory, so they can see where are they exposed, and understand what they need to do to get it patched.
A few years ago there was a wall between the development team and customer feedback, because of our technology focus. Now, our people are customer satisfaction focused, and we naturally think about this, it's something that's part of our performance reviews. We are all absolutely held accountable. If there is a customer satisfaction issue, it's me that gets beat up, not the sales force. We put accountability on people.
I tell my people that they have five priorities. First are customers. Customers take priority over everything else. Second is the company. I tell them to decisions that aren't the right thing for their product if it's the right for the company. That means no egos, and doing the right thing. If we have to take people off your project and move them to something more important to the company, then we're going to do that. Third is the product. To get a product completed, you must satisfy the first two goals first. Fourth is the people. As a manager, you have to make sure your people are taken care of, from a health, pay, or benefits standpoint, of course. But in the overall environment, you might ask, are you happy, is the moral high? Your last priority is yourself. If you get here first, you're not doing the first four things right. If you think of yourself, last, then all the success around yourself will come out of the four other things. If you're not last, you're not doing your job.
Also, I tell them to think about this every day when they get out of bed; It's a fundamental question: When I look at my group, do I have the best group in the world doing what I do? Do I have the best people to deal with our customers? And this should be compared to other groups at Microsoft as well as other companies in the industry. How do we retain these people? If the answer is no, then how do we build that group? If you can do that, everything else will come naturally. You have to have high moral. You have to build a group of high quality people. You motivate them by convincing what they're working on is important. With Windows, that's easy. But if you don't have the best group of people, then how are you going to get there?
PT: What other ways has Microsoft changed the way it develops products for its customers?
BV: We have a whole bunch of other initiatives. Trustworthy computing is key for our customers. We've assumed a serious leadership role with our accessibility work, and internationalization. We can now deliver a completely internationalized platform into languages and countries that were just created, for example, and that raised some interesting challenges. But we stepped up and delivered. With the Internet and global computing, we simply have to do that.
PT: Looking ahead, how do you see .NET managed code becoming more integrated with the core OS? Will large parts of future Windows versions be rewritten in managed code, or is it just going to be added for new technology?
BV: The long term goal is that the majority of Windows will be managed code when that makes sense. So device drivers and kernel code won't be rewritten in managed code, but anything above that will be, including the shell, services, and any applets that come as part of windows. Long term it should all be managed code.
PT: When does 64-bit technology become viable, both on the server and on the desktop?
BV: We have Intel Itanium support in Windows Server 2003 natively, and that will help 64-bit computing go mainstream. Moving forward, the 64-bit architectures that we have committed to support include the Itanium and the AMD-64 architecture. So they are just native parts of the build process now, and every day we build them as well as the 32-bit products. They will just be a natural part of what we do going forward, as we drive the ecosystem toward 64-bit computing. First, we have to enable it in the OS, but we also need ISV support, and all of our key server and desktop apps need to be there too. It's a promising world, and we all know about the limitations of the 32-bit world, like the memory address space.
With Longhorn [the next Windows release], our goal is that everything that is native to Windows will be 64-bit native across those platforms. In Windows Server 2003, we've come a long way in that direction. But a complete solution needs all the ecosystem support. If you look at what comes on the CD, Windows Server 2003 won't have all the device support that's available on the 32-bit version. But so far, the focus in 64-bit has been the server space, where most of these machines are deployed, such as huge, headless data center boxes. For high-end workstations, some of the client features didn't make it [in the 64-bit version of Windows XP], but then there's also less exposure for security. Users of those systems asked for a common environment they could integrate seamlessly into their infrastructure, so that the 64-bit workstations weren't separate from the 32-bit versions. So we've delivered that common environment. Most engineering workstation people would love to listen to music, I guess, but most of them have a 32-bit box as well. First, we wanted to get the APIs out there. In Longhorn, everything we ship will be available natively in 64-bits as well.
PT: Is any work being done to abstract the types of storage devices on which Windows can run? For example, will when will solid state storage be supported in Tablet PCs and other devices?
BV: Machines that don't have moving parts are basically an interesting research project at this time, unfortunately. Solid state needs a longer lifecycle before it can replace a hard drive. They support about one million updates before a failure, and that sounds like a lot, but it doesn't take a hard drive much time to rack up one million reads and writes. The hardware technology needs to advance, but we're very excited about the capabilities in solid state systems. They will give us truly instant on capabilities and much better battery life, where today the hard drive is what brings that down. They'll offer better performance as well. As soon as the hardware is there, we'll be right there with it.
PT: OK, let's have some fun. Back in the Windows XP time frame, you told a funny story about setting off car alarms in the Oracle parking lot with wireless networking. Do you have any good enterprise stories?
BV: [Laughing] Well, the client products are always about experiences, fun things, and cool entertainment stuff. When I was on the Exchange team, my son wanted to bring in his Cub Scout troupe to see what Microsoft was all about and see what dad did at work. All I could do is show them was this rack of servers. "See that green light?" I asked them. "I have to keep that light green." Servers are a whole different world. With servers, it's not so much about fun as it is about satisfying. You have to plumb the depths of the data center before you can have fun, dig in out back of the data center, where it's noisy and cold. For Windows Server 2003, the things were most proud of is, one, the sheer number of downloads we've had. By far, this is the most broadly used server we've ever every shipped before actual release. Two, the feedback we've gotten from customers on the server, what we're achieving around security and quality, has been tremendous. We're very excited about what our customers are already doing with Windows Server 2003 before we ship. And really, that's where it's at if you're a server guy. You have to keep the light green. We've done a pretty good job with Windows Server 2003 of keeping the light green.