S. "Soma" Somasegar is corporate vice president of the Developer Division at Microsoft. This division is responsible for the various developer tools projects at Microsoft such as Visual Studio and the new application lifecycle management platform, Visual Studio 2005 Team System and Visual Studio 2005 Team Foundation Server. Somasegar also is a frequent blogger and has been at Microsoft since 1989.
InfoWorld Editor at Large Paul Krill spoke with Somasegar about Microsoft's developer platform and blogging, following Somasegar's keynote presentation at the VSLive Conference in San Francisco last week.
How critical is ALM (application lifecycle management) to Microsoft? You just discussed the Team System and Team Foundation Server products, which provide that.
ALM is sort of a big thing that we are focused on. The reason why we started with Team System is, if I had to sort of summarize it, it's as follows: Historically we've been focused on the professional developer, the individual developer, and we want to make sure that the individual developer is highly, highly productive. But the kind of problems that we are trying to solve in software [and] applications is becoming more and more complex.
We really see teams of people having to come together. Sometimes, we are all in one location, sometimes we are spread across parts of the world. When these teams come together, they need to work collaboratively so that they can have an automated workflow and they can be highly productive as a team, not just [as] individuals. So in addition to making the individual developer productive, we also wanted to focus on the entire team, the different roles within the team, starting from design all the way to delivery of the product and deployment. How do we think about the entire lifecycle [and] employ the set of tools that work together well in an integrated fashion? That's sort of been a big thing for us and that's the reason we started Team System and Team Foundation Server.
Other companies are providing ALM tools, such as Rational and Borland. What are you going to be doing that they're not providing? Would you say you have more of a Windows focus than they have?
I think the big value proposition that we bring to the table, much more than anybody else, is integration. Our tools work together well against one single integrated [store]. And I don't think anybody else is providing that today. People are starting to talk about it, but we are the first to market the Visual [Studio] Team System.
So right from day one, when we started designing this, we said what is the different value proposition that we can bring to the customer and have that much more productive experience for the customer, for the team in this case? And we said, integration is the name of the game. And so right from day one all of our tools are integrated, they can have an integrated workflow. And they work against one integrated store.
And that integrated store, is that Team Foundation Server?
That is Team Foundation Server. It's a collaboration platform that brings all these things together. One of the things to say in this context is we know productivity. We know agility. And that's what we've been focused on always. We wanted to take that and marry it with what I call discipline. The phrase that I like to use is, agility with discipline. You wanted to be agile, you wanted to be productive, and we want you to do it in a disciplined way. Because when teams come together, people have to have a software development process and methodology.
How is Microsoft accommodating agile development techniques in Visual Studio?
We have two templates that you get out of the box with the Visual Team System and Team Foundation Server. One is the agile development methodology, and the other one is CMMI, or Capability Maturity Model Integration. So these are sort of the industry standard and are two development methodologies and we have templates for both that you can decide to use as it is, or you can decide to customize it. The key is to have a lightweight process, depending on whether you want to use agile development methodology or the CMMI methodology, and have it be as lightweight as possible -- or more importantly, integrated with the tools so that you as the developer don't have to think about the process.