Cloud, mobile and distributed software services have made “simulating production” impossible while production and release cycles are becoming more frequent. At the same time, communication and collaboration between development and operations has become a focal point for process improvement, spawning a trend in software development expressed by the term Development Operations (DevOps).

Companies recognize that they need to provide continuous quality and eliminate waste in their software development process. This is especially important as the focus shifts from long QA/user acceptance testing cycles to rapid identification and resolution of issues in production, and deployment of the fixed application back into production. This rapid identify-fix-deploy loop requires adoption of new tools and processes to be successful.

There are complimentary “devops” tools shipping in Visual Studio and TFS 2012 that help reduce cycle times and continuously improve quality. Let’s look at them:

SCOM Application Performance Monitoring

Use SCOM Application Performance Monitoring if you own Microsoft’s System Center Operations Manager 2012 and you have internal applications you wish to monitor such as Internet Information Services (IIS)-hosted .NET applications. The .NET Application Performance Monitoring (APM) template in System Center Operations Manager 2012 allows you to get details about application performance and reliability that can help you pinpoint root causes of incidents. You specify settings, the types of events to collect, the performance goals to measure, and servers to monitor and .NET Application Performance Monitoring reveals how applications are running. You can see how frequently a problem is occurring, how a server was performing when a problem occurred, and the chain of events related to the slow request or method that is raising exceptions. SCOM is a great solution when you want to decrease the mean time to repair an issue in production measured in minutes or hours.

PreEmptive Analytics

Use PreEmptive Analytics for Team Foundation Server (PA/TFS) if you have a broader set of applications you wish to monitor that are:

· Enterprise, B2B, or B2C: In and across enterprise, partner, & client domains.

· Heterogeneous: .NET, Java, JavaScript, Windows Native including WP, Android, and WinRT.

· Distributed: Client/Server, Mobile, Azure, hosted inside and across firewalls and domains.

PreEmptive Analytics allows you to see, as they happen, the errors your users are experiencing. By aggregating and analyzing exceptions reported by your production applications and automatically creating TFS work items, PA/TFS gives you access to incident data right where you need it – in Visual Studio, TFS Web, and Reporting Services. The work items include the exception type, message, full stack trace, the contents of any inner exceptions, and the list of all assemblies loaded at the time of the exception, as well as the number of such exceptions received. With a small amount of additional configuration, you will also be able to see unique instance identifiers (such as the serial number of each application instance that experienced the exception) as well as comments about the error and contact information, if provided by the end user. PreEmptive Analytics is always on (like Radar) and supports a broad set of “real world” scenarios efficiently, securely and reliably. PreEmptive Analytics is a great solution if you want to decrease the mean time to fix an issue in production measured in days or weeks.

Below is a screenshot of PreEmptive Analytics inside Visual Studio. Three issues are shown. In this specific example, when a problem occurs for a user with a higher Service Level Agreement or Priority the work item severity is marked as critical.



Intellitrace is more like a CAT scan. It is able to provide “deep dives” into complex systems and is well suited when a problem is already known but not fully understood. As an example, if you are alerted to an issue in production with PreEmptive Analytics and you don’t have enough information yet to fully solve the problem, you could use Intellitrace to further dig in. To do this, start IntelliTrace data collection, reproduce the problem, and then stop collection. You can take the resulting log that IntelliTrace creates, open it in Visual Studio 2012 Ultimate, and analyze it. Intellitrace is great for debugging errors that are hard to reproduce or that happen outside Visual Studio, for example, in production or other environments.


DevOps tools and services improve software quality and reduce time to resolution by generating actionable bugs from deployed software. Visual Studio and TFS 2012 include three complimentary tools that help you dramatically reduce time for solving production errors. Take advantage of these and start building better software, faster.

Want to find out more about how to do this?  Why not sign up to the Webinar happening later this month?


Gabriel Torok, CEO PreEmptive Solutions

Gabriel Torok is the CEO of PreEmptive Solutions. A lite version of PreEmptive’s Dotfuscator tool has been bundled with Microsoft’s Visual Studio since 2003. And a light version of PreEmptive Analytics is also bundled in Microsoft’s Visual Studio and Team Foundation Server 2012. As a result, he has an outsiders “insider” view of Microsoft’s developer division. He has authored two technical books and has been a speaker on various topics related to software at many national and international conferences including Software Developer’s Conference, SD Best Practices Conference, TechEd, VSLive and others. Gabriel has a passion for software development and is the current chairman of the Northeast Ohio Software Association.