Visual Studio 2012 and Team Foundation Server 2012 have been out for a while now. There is a lot that is new and there is a lot that is awesome in this release. For a complete list, please see “What’s New in Visual Studio 2012”. There are 3 areas of new features that I find especially awesome and I just wanted to capture some of those and talk a bit about what they are, why they are so awesome and maybe convince some people out there that these make the upgrade to TFS 2012 very worth the while.
The brand new TFS web access is just amazing. Since I got my hands on this, I don’t even use the SharePoint portal anymore. From TFS Web Access I get great dashboard information like burndown, build status, bug counts, and velocity tracking. If I need more detailed reports, I can still go to the SSRS site, but for a quick look, TFS Web Access now has almost all of the information that I would want. From here, I can also do my product planning. I used to export my product backlog into Excel for stack ranking (stack ranking through Team Explorer, the Team Portal, or the old TFS Web Access is a horrible experience), but now I do it through TFS web access. The drag and drop interface is fantastic. I can also set the team velocity and start to plan out what features will make it into what release. I can set individual member daily capacity, sprint length, and days off to see if the sprint is over capacity and in trouble of failing. This also allows me to see what individuals are being over committed and help to balance how the team is working within a sprint. The board view (which is going to be amazing with a touch interface like the Sony Tap 20) allows the team to review requirements and tasks in a really meaningful way during meetings.
The improvements to the requirements tracking capabilities are also very nice. The Feedback Client is a tool that allows end users (or maybe BA’s?) to give feedback to the development team about the work. It can capture voice, screens, or even video to allow the end user to let the development team know how to improve the application being developed. The PowerPoint storyboards are a really cool idea, but I am not 100% convinced (and would love your feedback on them). It essentially allows the creation of wireframes along the lines of Balsamiq. There are some pros for the PowerPoint approach. One is that most people already have and are comfortable with PowerPoint. It is an extension to a known tool, not a whole new tool, and is probably free for most users (the licenses are already paid for). Also, you get the PowerPoint animation support so that you can create very explicit behaviors within the wireframe. Furthermore, the TFS integration allows you to upload your storyboards right into TFS and then attach them to work items (very nice). The downside, I found the wireframe generation experience quite clumsy when compared to Balsamiq.
The overall developer experience is a lot nicer too. The ability to quickly suspend and resume work in progress is really cool. Shelving has been around for a while, but is an awkward experience and only deals with source controlled items. Suspending creates a shelfset, but then also snapshots the IDE so that when you resume the work, everything is just as you left it. Also, the suspend/resume flow is far less annoying than the shelve/unshelve flow. Another developer experience thing that is now supported is code reviews. TFS now supports the request of a code review and feedback given from a reviewer nicely in Visual Studio. A developer requests a code review of a peer. The reviewer sees the request in Visual Studio and then can do the review without ever leaving Visual Studio. TFS will track the feedback given directly against the source code so when the review requester looks at the feedback, the context is fully there in annotated code. The new database development support is also great. The table designer in Visual Studio means that you can do all of the database work right there and not flip to other applications. Because it’s already in Visual Studio, your work is easily put into source control. No extra steps are needed. The same database engine (SSDT) also makes deployment of database work super easy as well. The SSDT project generates a “dacpac” file that can be deployed to any SSDT enabled database in no time. Finally, for developers the addition of duplicate code detection is amazing. This utility actually looks at code patterns so that you’ll know if there are blocks of copy-pasted code that should be refactored. This is a huge tool for making more maintainable code.
Those are my top three areas of awesomeness for VS/TFS 2012. Hope that has a bit of useful information for you.