Visual Studio 2013
Hold on to your seat, this is going to be a long one…
Today at TechEd, I announced Visual Studio 2013 and Team Foundation Server 2013 and many of the Application Lifecycle Management features that they include. Today, we enabled some of those features on Team Foundation Service for you to try out immediately and I announced that a preview of VS 2013 and TFS 2013 will be available at the Build conference later this month.
It’s an exciting time now that we can start talking more openly about what’s coming in our next major release. As usual, there’s so much I will only be able to just skim the surface with this post. Stay tuned for many more posts on my blog, the ALM blog, the Visual Studio blog and others as we reveal more detailed information about all of the new capabilities. Also check out Soma’s blog for his perspective on today’s announcements. Of course I’ll post again with download links as soon as they are available.
I will not, in this post, be talking about many of the new VS 2013 features that are unrelated to the Application Lifecycle workflows. Stay tuned for more about the rest of the VS 2013 capabilities at the Build conference.
There’s so much new stuff, I’ll try to organize it a bit…
Agile Portfolio Management
We are continuing to build on the Agile project management features (backlog and sprint management) we introduced in TFS 2012 and the Kanban support we added in the TFS 2012 Updates. With TFS 2013, we are tackling the problem of how to enable larger organizations to manage their projects with teams using a variety of different approaches. Our current tooling is focused at individual teams and relies on reporting and Project and/or Project Server integration to roll that up for larger organizations. However, we feel there’s a good opportunity to improve the solution to enable people at all levels of the organization to easily participate in a way that makes sense to them. I sometimes refer to this as “enterprise agile”.
The first problem we are tackling is work breakdown. Different levels in the organization care about different levels of granularity. With TFS 2013, we are addressing this situation by introducing the notion of different levels of backlog. For instance, a backlog of business initiatives can be broken down into a backlog of scenarios and then into a backlog of user stories, etc. You can manage the backlog at each level and trace the relationships. We are also enabling multiple Scrum teams to each manage their own backlog of user stories/tasks that then contributes to the same higher-level backlog.
All of this will be included in TFS 2013 and is available on Team Foundation Service today for you to start to explore. And, as I said, this is just the beginning. My expectation is that we’ll continue to build out our enterprise agile capabilities sprint after sprint and Update after Update over the next year or so.
We’ve been hard at work improving our version control solution. There are so many changes that there’s no way I can cover it all so let me cover a few of the top things.
I’m going to start with something that’s a bit of “old news” if you’ve been tracking the Updates. We’ve added a “Connect” page to Team Explorer that makes it easier than ever to manage the different Team Projects/repos you connect to – local, enterprise or cloud. This, among all of the other improvements we’ve made in the Updates, will also show up in VS 2013.
We’ve also built a new Team Explorer home page. It’s a bit more visually appealing and provides access to things like your web based task board. But, my favorite thing of all, is that it includes the list of solutions in your workspace. This gives you an unbelievably nice “home” from which you can navigate to whatever you are looking for. So, as soon as you connect to your Team Project, you can just click on the solution you want to work on and switch between them easily.
Can anyone say…
The #1 TFS request on User Voice. Well, we have, kind of. You can judge whether or not we did a good job. We like the new Team Explorer but we heard the feedback load and clear that it was too cramped for pending changes and you want to be able to see pending changes at the same time as other Team Explorer windows. We also heard that some people prefer the “flat list” of pending changes over the tree vi ew (which was configurable in the old pending changes window).
So, we have introduced “Pop-out Team Explorer pages”.
If you are one of those MANY people who prefer a separate pending changes window, you can click that little arrow on the upper right of Team Explorer and pop-out the page.
At that point, you can dock the pending changes window anywhere you want – like in the old VS 2010 position (like below) or on a different monitor or whatever you like.
I’m soooo happy to have this. And you can “pop out” other pages too (like the build pages). All that said, it’s not perfect yet and let me be candid about that. The pending change page needs a little more work to focus more of the screen real estate on the file list (remember this is still just a preview). Also, not all pages can be popped out. It’s going to stay that way through RTM but we’ll take feedback on priorities as you all start to use it.
Another new feature that I announced today is “lightweight code commenting”. This is a new feature in our web access experience that allows people to easily comment on code. It provides a very nice inline experience for commenting either on whole files or on changes. It has some similarities to our code review feature in VS Premium and may grow up someday but for now, lacks all of the workflow features (creating a code review, managing active code reviews, requesting code reviews, etc) than an actual code review experience would need. The good news is that the two features use the same underlying technologies for managing comments so they can play nice together but they aren’t yet really overlapping features.
Last but not least I want to say again that all of the nifty Git innovation we’ve been doing on Team Foundation Service will ship in our on premises TFS in TFS 2013 and will be available in the preview you can get at Build.
As always, we’ve also done a bunch of stuff to help people slogging code every day. The biggest thing is a new “heads up display” feature in Visual Studio that provides you key insights into your code as you are working. We’ve got a bunch of “indicators” now and we’ll be adding more over time. It’s a novel way for you to learn more about your code as you read/edit.
The indicators show up as “grey” text in your editor (though it’s not actually text in the file – it’s superimposed). They show you useful information and are then clickable to drill into detail.
Here’s a look at an indicator that shows the places that reference the method you are looking at.
Another indicator shows the status of the tests that test the method you are looking at.
And another indicator shows recent changes to the method you are looking at.
Another big new capability is memory diagnostics – particularly with a focus on enabling you to find memory leaks in production. You can take a memory “snapshot”, load it in VS and then you can explore the heap to understand what memory is being held on to. You can also take two snapshots and compare them (as in the screenshot) here to see what objects changed.
We continue to work hard on creating the most productive development environment in the world – whether it’s reading code, writing code or debugging hard problems.
All through the VS/TFS 2012 Update cycle, we released constant improvements to our Visual Studio Testing capabilities. In VS/TFS 2013 we take that up a notch with another bunch of new capabilities. First, we continue to build on the new Web based test case management and test execution capabilities we introduced in VS 2012.2.
We’ve been building out the test case management capabilities to allow you to more fully manage your test plans without having to switch to the Test Professional client. You can now create/modify test plans, suites and shared steps on the web
We’ve also improved test editing by enabling you to add step attachments, use shared steps, parameterize step data and more.
And we’ve improved the test running experience making it easier to capture screenshots, etc.
In addition to the next round of improvements to our web based test case management solution, today I announced a preview of a brand new service – cloud load testing. I’m incredibly excited about this new ability. Since VS 2005, we’ve supported Load Testing. It allows you to validate performance, scale and reliability of your server apps. However, you have to set up and configure your own infrastructure to run load tests. With our new Team Foundation Service based load test solution, you can now load test your apps without configuring any infrastructure. Just use Visual Studio Ultimate Edition to create a load test and point it at Team Foundation Service and say Go! And soon you have load test results for your application. We think this is going to be particularly valuable for people building Azure applications who want to verify the scalability of their apps before opening them to a broad user base.
To run a cloud based load test on Team Foundation Service, just create/record a load test and choose the option in your test settings.
And in a short time, you’ll see the progress on your test:
You can’t quite take advantage of this feature yet. While the service side is ready, you are going to need an updated VS client to take advantage of it. You’ll be able to start using it once you download and install the VS 2013 Preview available at the BUILD conference.
Please note the service is in “Preview” and as such we will be limiting the number and size of runs you will be able to do before the service releases. If you would like to join our early adopter program and exercise the service on some larger scale runs, let me know.
As teams try to meet the demand for a more rapid release cadence, one of the biggest pain points they are hitting is managing the releases and creating reliable, repeatable automated deployment. Not only that but it’s increasingly hard to manage the number of simultaneously in-flight releases. Quite honestly, we’ve been experiencing that pain ourselves.
At TechEd today, perhaps my biggest announcement was our agreement to acquire the InRelease release management product from InCycle Software. I’m incredibly excited about adding this to our overall lifecycle solution. It fills an important gap that can really slow down teams. InRelease is a great solution that’s been natively built to work well with TFS.
InRelease allows you to manage all of your in-flight releases.
For each release you can define paths that have stages, acceptance criteria, approvals etc.
And you can define an automated deployment pipeline for each application.
This is big news and I’ll have a lot more to say about it in the coming weeks. For now, I just want to let you know that it’s a big addition to our product and over time it will evolve and integrate even more seamlessly with TFS and VS.
One of the core value propositions of Team Foundation Server is to help software development teams collaborate. This is usually by providing transparency into what is happening in the software development process so that everyone stays up to date and knows how to make the best decisions. With TFS 2013 we are trying a new tact to facilitate that called “Team Rooms”. A Team Room is a durable collaboration space that records everything happening in your team. You can configure notifications – checkins, builds, code reviews, etc to go into the Team Room and it becomes a living record of the activity in the project. You can also have conversations with the rest of your team in the room. It’s always “on” and “permanently” recorded, allowing people to catch up on what’s happened while they were out, go back and find previous conversations, etc.
As of today, Team Rooms are enabled on Team Foundation Service and when you download the TFS 2013 preview at BUILD, you can also have it in your on premises TFS experience.
As you can see there’s a ton of stuff and I had to carefully filter everything to keep this post from getting even longer. Over the next few weeks I’ll write about some of the other new things we’ve got coming in 2013.
Stay tuned and please share what you think,