If you plan to use Metro, this is a good time for developers to start getting familiar.
Other interesting developments showcased in the webcast include support of management methodologies, notably CMMI, and the fact that IntelliTrace can be used in a production environment to help track down bugs. In demonstrations, the VS 11 interface was free of clutter and sported enhancements to keep developers from losing context while they program. On the management side, Team Foundation Server supports agile through Scrum; in fact, Zander says 90% of his team is using Scrum.
Microsoft says it built Visual Studio 11 around three pillars: creating modern consumer and business apps, simplifying the development environment with powerful tools, and giving large teams the ability to collaborate at all points in the software life cycle. Let's look at how it plans to deliver on each.
Creating Modern Apps
Two trends in particular helped shape VS 11: Consumers have an increasing number of digital devices, and they want to share data among them. Through Azure, Microsoft's cloud computing service, developers can provide hooks to help users share data, similar to how Apple's iCloud and Dropbox work. The upcoming live beta will allow developers to create Metro-style apps for Windows 7 and Windows mobile devices.
Simplifying The Development Environment With Powerful Tools
I noticed a few things in the new IDE. The interface has been simplified considerably by removing toolbars and minimizing the use of gradients. Minimizing gradients? Why would Microsoft VPs go out of their way to mention that? It's another example of the focus on streamlining by removing distractions. Along the same lines, during the webcast, the company demoed new search-and-suspend features and showed how the Object Explorer is built into the Solution Explorer. A simplified search toolbar integrated with the Solution Explorer allows developers to search across the entire workspace. I think we can agree that Visual Studio was in dire need of a new search utility. The suspend tool enables a developer to save all current settings in a project, switch to a new task, and later reload every window and setting from the previous project, exactly the way it was.
Again, these are features that streamline the user experience, allowing developers to focus on code. Fewer distractions means more time in the zone.
Perhaps the highlight for developers will be the ability to use IntelliTrace in a production environment. IntelliTrace is a debugging tool that allows developers to see the state of a program after it crashes. It works by creating a ring buffer log file that can be traced with Visual Studio. Of course, logging comes with a price: Tracing can slow down execution 5% to 10% (Zander says the hit is closer to 5% in his experience). Even at 10%, it's a relatively small price to pay to find a crash that occurs only every few months.Zander says IntelliTrace also helps tighten the dev-ops cycle. Collecting information on a malfunctioning program from ops can be a humbling experience. IntelliTrace helps alleviate this issue. Developers can turn the feature on or off, control what data is captured, and select the maximum size of the log file.
Microsoft's Team Foundation Server allows teams to collaborate across the development life cycle. Among other features, TFS has source-control and project management tools, with built-in templates for agile project management with Scrum.
Zander says his experience with Scrum has been positive: He's seen a tightened development cycle, with issues surfacing sooner and more productive developers. In Scrum, stakeholders and operators are added to the cycle to ensure that features are implemented as expected. How often do business teams agree on a list of requirements only to find that development had a completely different view from operations? Including all players in an iterative cycle lessens the likelihood of working at cross purposes.
The Azure-based Team Foundation Services offering is steadily receiving features from the on-premises TFS. Zander says he expects the two to be on par eventually. For the time being, access to TFS Azure for developers is by invitation only, but it promises to be a full-featured product by the time it's released. Zander says his team has 15 TB of data stored in a TFS Azure instance. This beta release will add TFS to the list of Express tools Microsoft offers. It's available by individual license or for teams of up to five members.