Live Q&A with Microsoft CVP Brian Harry
Live Q&A November 12 will be 5:00pm – 5:45pm Eastern
On Wednesday November 12, Microsoft CVP Brian Harry, will be available here for a live Q&A in the comment section of this article following announcements at Microsoft's Visual Studio event, which is streamling live from NYC.
We've asked Brian a few questions ourselves to get the ball rolling in the interview below, but post your own questions for Brian and his team at Microsoft in the comments section below and please come join us at 5pm EST for the live Q&A!
Could you please let us know what your current focus is?
My focus is on helping organizations doing software development do it better – faster, more reliable, less expensive, more agile. Recently, we’ve been putting a lot of energy into DevOps tooling to improve how quickly and easily developers can get their code changes into customers’ hands and collect feedback to drive the next round of improvements – the DevOps virtuous cycle.
For those who aren't already in the know, why/how is VS Online different from regular Visual Studio? What’s the benefit of using VS Online over Visual Studio?
Visual Studio is a brand which includes several products. When most developers think of Visual Studio, they think of the integrated development environment (the ‘IDE’) which helps you write code, debug it, and so on. This month we are shipping a preview of Visual Studio 2015 which contains a lot of new capabilities I think developers are going to love.
Visual Studio Online is a set of cloud-hosted services which facilitate software development activities that tend to be grouped into the application lifecycle management (‘ALM’) or DevOps buckets. This includes several capabilities which can also be found in our on-premises product, Team Foundation Server, or ‘TFS,’ such as source code hosting, project management and build automation. However, Visual Studio Online also introduces several capabilities which were designed especially for the cloud, such as Application Insights, which helps developers and their teams gather data from their applications, running anywhere in the world, for the purposes of monitoring, analytics, and telemetry.
Visual Studio Online can be used in conjunction with Visual Studio as well as other IDEs, such as Eclipse, IntelliJ, Xcode, Emacs, and so on ... We support Git repositories and most of our functionality is accessible via any web browser, so it’s really designed for everyone.
What did you announce today from the standpoint of ALM tools?
I started by showing some of the tools and technologies we’re building to support DevOps workflows. If you’ve read The Phoenix Project, you’re familiar with the "three ways" of DevOps which is a good way of describing the transformation organizations go through when they successfully adopt DevOps. In the first way, there’s a focus on streamlining the release of the code a developer writes so that it can be automatically deployed, automatically tested, and in essence more quickly released into production while maintaining a high degree of quality. To facilitate this, we first showed Cloud Deployment Projects in the new Azure SDK, which enables development teams to encapsulate all of the cloud infrastructure and configuration requirements as code, making them which easily versioned and deployed alongside your application code. We then showed how our Release Management for Visual Studio solution is now available as a service (currently in preview) through Visual Studio Online. This has historically been an offering only available with Team Foundation Server running on premises, but we’re excited to now begin offering it for teams to try as a hosted service. Release Management makes it easier to define your release pipeline, identify who has to sign off on a release before it can be deployed into production, gain insights about what has been deployed and where – that sort of thing. Finally, we showed Smart Unit Tests which help developers write better unit tests that increase both the code coverage and arc coverage of their code. Automated testing is vital when embracing DevOps since it gives you an added safety net to catch bugs or regressions before they make their way downstream.
With the "second way" of DevOps, an organization really focuses on getting information back from their running applications in a way which can help them get smarter about their ongoing investments. Today, I showed how we’ve brought Application Insights into the Azure Preview Portal. This gives organizations a single pane of glass for monitoring all of their applications and being able to answer three basic questions: is my application available, is it performing well, and is it successfully meeting its requirements.
These technologies can then help organizations achieve the "third way" of DevOps – the ability to rapidly run experiments. They can make frequent, small changes and measure the effectiveness of those changes quickly, in order to inform the next set of changes. The ability to rapidly iterate here can really unlock a team’s innovation velocity. We also peeked at some of the fit-and-finish things we’re delivering in the next few months. This includes a new code search capability, and our next-generation build system, which I think people are going to love. It’s open, it’s flexible, it’s easy to customize, and it even includes a cross-platform build agent that will enable developers to run builds on non-Windows machines. By running builds on Macs, teams can now, for the first time, build for iOS and OS X using our tools.
What kinds of benefits are your customers seeing from their use of hosted ALM tools, versus benefits from on-premises tools?
It’s fundamentally the same sets of benefits we see from organizations adopting the cloud for other workloads, such as Office 365. By using Visual Studio Online, teams can let Microsoft host the servers so they can focus on running their business and building great software. Teams also have access to features a little sooner than if they were using our on-premises tools. With that said, for teams who do need or want to maintain their ALM infrastructure themselves, Team Foundation Server remains an important part of our offerings. We’re committed to providing that choice to organizations.
What challenges do folks implementing new ALM or DevOps process run into most often, or not adequately plan for?
I’ve seen that the organizations who try to do a "big bang" cutover usually fail. Driving effective change in these areas really requires making investments in three areas: people, process, and technology. Where we’ve seen the most success is in organizations that recognize this needs to be an ongoing investment and are committed to a series of continual, incremental changes. Those are the teams who are not only going to be successful today, but will keep getting progressively more successful well into the future.
Right now VS Online is primarily code repositories and testing. Are there additional features you're planning that you can talk about?
Actually Visual Studio Online is much more than that today. Project management (bug tracking, requirements management, Agile planning) is one of the key reasons people use Visual Studio Online, the other being, of course, source control. Application Insights, though hosted in the Azure Preview Portal, is also part of the VS Online family. Test case management is an area that we’ve made a lot of small investments over the last year and have some further investments coming in the near future. In the keynote at our Connect(); event here in New York City today, we demonstrated environments which get managed in Visual Studio Online and help teams easily manage their dev/test/production infrastructure. You should expect to see a lot more coming in this area. Build automation and cloud-based load testing are two other capabilities of Visual Studio Online which have lent themselves very naturally to the cloud. When teams place high demands on these resources and capabilities, we elastically scale up additional resources to service those requests.
You've been very open with the API, and have a number of third party companies integrating with your service. Was that an important direction you planned from the start?
Yes, we always knew that partners would play an integral role in making Visual Studio Online successful, just as they did for Team Foundation Server. In fact, most of the same partner integrations which are available for Team Foundation Server work, unmodified, with Visual Studio Online using our .NET object model. What we have done in the last year is to modernize some of those APIs by providing REST interfaces, service hooks, and OAuth.
You've had a few notable outages. What are you doing to ensure they won't happen in the future?
We’re committed to running a very reliable service that our customers can trust. Part of building that trust is being VERY transparent when we do have issues. Our service blog alerts customers of issues and keeps up-to-date status of our efforts to remedy them. After any significant incident, I generally post a fairly extensive retrospective on my blog that covers what happened, what we did, what the underlying causes were, what we learned and what we plan to do long-term to address those causes. I do this not only to help customers understand but also to share our learnings so that other developers can work proactively to avoid similar issues.
Every sprint, we do work both reactively and proactively to address issues, increase resiliency of the service, ensure business continuity, etc. Recently we have been working on using the "circuit breaker pattern" to improve the service resiliency and to prevent a failure in one part of the system from cascading into a broader failure. We’ve also been working changes to prevent a single abusive user (on purpose or by accident) from having significant impact on others. Over the summer, we added per-tenant availability metrics so that we can understand the experience each and every customer is having, rather than be blinded by the "average" experience. Since implementing that add, we have chosen a few customers every sprint that are having the worst experience to be the focus of our investigations and improvements – to fix their issues. Delivering a great service takes never-ending vigilance.
What kinds of changes have you guys been making that help feedback loops from client to devs / testing / ops?
I’m glad you asked this question, because it’s a really important one. We’ve done a lot of work here and will continue to do more. On the licensing front, we recently introduced a Stakeholder role for VSO and TFS. This makes it free for people to collaborate with the development team on work items – such as for bug-filing scenarios, or for submitting feature requests. Our new APIs for Visual Studio Online have enabled partners such as UserVoice to develop integrations, so that you can manage your incoming requirements and let users help you prioritize your backlog by voting. And of course, Application Insights provides that 360-degree view of how your users are utilizing your applications, which can help you ensure you are delivering the best possible experience. Those are just a few of the things we’ve done, and we will continue to do more.
Last week you opened up a new VS Online instance in the Azure "West Europe" region. Do you have an idea where the next VS Online instance will be? How far do you want to extend VS Online?
Yes, that’s right. I was really excited to be able to do that and the growth of accounts in the European instance has been incredibly strong. Over time, we expect to have VS Online instances in virtually every data center around the world. For now, we’re taking a very pragmatic approach of offering them where there is the highest demand. There was a lot of demand in Europe, so that was first. Now we’re watching to see where the next highest need is. I’ve suggested that if people would like to vote for their favorite location that they create suggestions on http://visualstudio.uservoice.com.
Could you tell us a little bit more about Agile project management improvements?
For the last year or so we’ve been really focused on addressing the fit-and-finish requests we’ve heard from customers in this area. For example, we know that teams want the flexibility to add ad hoc metadata to bugs and requirements that they can use for filtering, searching, and so on. Work item tags deliver this functionality and we recently made it possible to work with those tags across queries, Excel, and even in Visual Studio. Another example of something a lot of customers have asked for and we recently delivered was the ability to refine how you want bugs to show up (or not) on the backlog, Kanban board, and task board. Along with those changes, we’ve made some significant improvements in the performance of Agile project management features as we onboard larger and larger customers. Finally, perhaps the biggest area we’ve invested in has been helping people visualize their progress. Work item charts enable folks to quickly generate nice graphs from any query, which can then be pinned to your team home page and updated in real time. We’ve done a lot of work to enrich these charts, such as by adding trending – "I want to see how my bug count is growing or shrinking over time" or "What’s the velocity of new feature development?" – that sort of thing. We recently enabled charting for test cases as well.
Walk us through some of the benefits of test case charting.
Lightweight Test charts enable a team to track the "real-time" status of its testing across the entire Testing Lifecycle. The test case-based charts help to track testing progress during the authoring phase while the test result-based charts help during the execution/analysis phases. These charts can be scoped to Test Plan level and/or to individual test suite level, depending upon your reporting needs. You can also customize these charts by adjusting the colors/chart types from visualization angle, or customize the pivots based on the question you are trying to answer. You can pin these charts to your home page, then all the team can see the testing progress at a glance, including your stakeholders. Some of the questions these charts help answer include:
- How can I track burndown for test case creation?
- How can I track burndown for automation status?
- How can I track test creation status by team members?
- What's the test status for the entire Test plan?
- What's the test status for user stories that my team's testing this sprint?
- How many tests has each tester left to run?
- How can I check quality based on the configuration?
- How can I track why tests are failing for my team?
- How can I track the resolution for failing tests for my team?
What kinds of success stories have you been hearing recently for VS Online Application Insights?
We’ve seen a lot of customers of all sizes using Application Insights. I’m not sure which names I’m allowed to say publicly, but if you watched my keynote you saw one of our customers – Dominion – who uses Application Insights to not only monitor the health of their applications but to drive improvements to their application based on how customers are consuming those applications. This type of insight would have been really hard to achieve just a few years ago and would have required standing up your own analytics server and then writing logic to send this data back. With Application Insights, you can get started in minutes and start getting value immediately – even without writing any code. We also use Application Insights for a lot of our own applications at Microsoft. My team uses it for Visual Studio Online, I know Xbox is using it, parts of MSIT, parts of Office – so it’s had good uptake and it really changes the way we build and operate our services.
What's the latest with the Azure Preview Portal?
The Azure Preview Portal keeps getting better with each sprint. The Azure team is continuing to add to the list of resources you can manage in the new portal, most notably perhaps being the addition of Virtual Machines back in July. Eventually all of the resources in Azure will show up here. My team, meanwhile, has been busy bringing our Application Insights capabilities into the new portal. When we first launched Application Insights, we did so as a companion UI to Visual Studio Online, but we’ve found that an even better home for insights data is in the same portal where people manage their Azure resources. Today I showed the latest UI, which includes some really sharp looking charts and graphs that put a heck of a lot of valuable information right at your fingertips. This is just going to get better and better – we have a lot of work going on that we’ll be shipping in the coming months.
When can we expect to see V1.0 REST APIs for TFS on-premises?
We plan to ship all our REST API, OAuth and Service Hook support in TFS 2015. Our current thinking is that we’ll ship the first preview of that early next year (2015).