Visual Studio 2013

Brian Harry

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.

Image 4186 image thumb 152BD808

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.

Version Control

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.

Image 7673 image thumb 59DB02FA

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.

Image 6567 image thumb 50159B82

Can anyone sayā€¦

Image 8623 image thumb 4D6F7082

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.

Image 1122 image thumb 416D804E

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.

Image 5807 image thumb 2C7E8E8C

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.

Image 2022 image thumb 62830D99

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.

Coding

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.

Image 8322 image thumb 2D790F1A

Another indicator shows the status of the tests that test the method you are looking at.

Image 4540 image thumb 585403DD

And another indicator shows recent changes to the method you are looking at.

Image 1643 image thumb 4E912D16

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.

Image 1106 image thumb 3DAC8926

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.

Testing

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

Image 7418 image thumb 41B967A9

Weā€™ve also improved test editing by enabling you to add step attachments, use shared steps, parameterize step data and more.

Image 8054 image thumb 3140F6AE

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.

Image 6204 image thumb 5975C071

And in a short time, youā€™ll see the progress on your test:

Image 8132 image thumb 1F890E36

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.

Release Management

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.

Image 5543 image thumb 114D25F7

For each release you can define paths that have stages, acceptance criteria, approvals etc.

Image 3252 image thumb 22C01780

And you can define an automated deployment pipeline for each application.

Image 5850 image thumb 14842F41

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.

Team Collaboration

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.

Image 8546 image thumb 3F5F2404

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.

Conclusion

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,

Brian

0 comments

Discussion is closed.

Feedback usabilla icon