What's next for Visual Studio and .NET FX?

It has been about 10 months since we shipped Visual Studio 2008 and .NET FX 3.5. The team has been working on a couple of things since then – we shipped SP1 for both VS 2008 and .NET FX 3.5 earlier this Summer. In parallel, we have been planning for the next wave of product releases and start development on the same.

I want to start sharing with you our vision, focus and priorities as we get full steam into developing the next wave of products – Visual Studio 2010 and .NET FX 4.0.

At a high level, here are the key areas that we are focusing on with Visual Studio 2010 and .NET FX 4.0:

· Significantly improve the core pillars of the developer experience

· Support for the latest platforms spanning the client, web, server, services and devices

· Targeted and simplified developer experiences for different application types

· Architectural improvements to the tools platform for better modularity and extensibility

These pillars are designed specifically to meet the needs of developers, the teams that drive the application lifecycle from idea to delivery, and the customers that demand the highest quality applications across multiple platforms.

Our commitment to customers is simple: To provide a consistent and simplified programming experience, regardless of the type of application being built.

Today I want to discuss the challenges faced by teams developing applications and the way in which Microsoft is meeting those challenges through our Visual Studio family of products and the .NET Framework. Specifically, I want to focus on our Application Lifecycle Management tooling, Visual Studio Team System 2010. Over the next few months, I will talk more about other aspects of these products and what we hope to deliver with them.

The marketplace has begun to mature and accept ALM (Application Lifecycle Management) as a proven discipline for creating high quality applications in a reliable fashion. However, existing solutions in the marketplace have not kept pace with the changing needs of technical users and the expanding inclusion of non-technical users as part of the lifecycle. Visual Studio Team System 2010 will address the needs of these customers with a robust and streamlined solution.

Every customer today faces a similar set of business problems. These are:

· How do we build high quality applications that deliver real business value?

· How do we embrace the Application Lifecycle Management model effectively?

· How can we ensure that all members of the team – both technical and non-technical – are part of the process?

· How can we get the most value from our existing code assets?

· How do we make powerful modeling tools available to everyone in the application lifecycle?

Our ALM tooling specifically addresses these questions and helps customers create high quality applications that deliver value to the business. We will embrace the needs of all the users in the lifecycle – from architects to developers, from project managers to testers, and from idea to delivery – and provide tools that they can all use as needed. Key to a shared understanding of the application is the use of modeling tools. In essence, we are democratizing architecture by simplifying modeling, integrating it into the work of the participant in the lifecycle, and ensuring that models – the architectural artifacts – are available, accessible and valuable for every role in the lifecycle.

This is unique because we are delivering tools that integrate into the familiar IDE for developers, but also provide an approachable interface for less technical users, both on the Web (for work items) and in a rich WPF client (for the generalist tester). Likewise, our lifecycle management capabilities provide unified work item tracking, a web-interface, and dashboards that are available to everyone. Unlike many other tools, our work item management and reporting tools easily integrate with familiar applications like Microsoft Excel.

Two specific deliverables here will drive the next generation of ALM. First, our modeling tools have tight integration into the actual code of the application. This means that a developer or architect can use models to enforce constraints on code, as well as use models to explore existing code assets. Individuals can enforce a constraint in the architecture by allowing the tiers of a multi-tier application to talk to each other. For example, when an architect designs a system where the presentation layer should not talk to the data layer, you want to be able to enforce that model at check-in. VSTS 2010 can do that. We will be telling you a lot more in the coming months about our approach to modeling and why we believe it is critical in building the next generation of quality software applications.

Another key element here is being able to explore and re-use existing code assets. Only 20% of the code in most business applications is “new” code. The remainder is code that already exists and was written by someone else, possibly for something else, and definitely with less than adequate comments. Our modeling tools give developers and architects the capability of creating a full architectural picture of those assets, understand how they fit together, understand how they “work” and then make their re-use (or discard) that much easier. We are confident this will save time, resources, and ultimately deliver higher-quality applications.

This is just the beginning. In the coming months, I will share with you more about the features coming in this next wave of products. 

Namaste!