Back

TechnologyFeb 26, 2014

ALM with VS 2012 and TFS 2012: My Work and Code Review

Raghav Pullela

Let’s get into the part seven of this blog series on Application Lifecycle Management (ALM) using Visual Studio 2012 and Visual Studio Team Foundation Server 2012. In case you haven’t read any of my previous posts, please do so (series overview; part one: Teams without Barriers; part two: TFS Online; part three: Tool Overview; part four: Before You Begin; part five: Backlog Management; and part six: Exploratory Testing).

After some product backlog items and tasks have been created, we looked at some Exploratory Testing as well. Today, we will look at one of the most interesting topics: My Work and Code Review

Your team should start to use the My Work page in Team Explorer to collaborate more effectively. At some point of time, a team member could be doing several tasks at the same time like suspending his work to fix a bug, getting a code review from the other members on the team, checking that fix in, and then resuming this work in progress. All of these could be easily and effectively managed using My Work page of Team Explorer.

Dramatically increase agility and velocity with Microsoft Solutions

Explore Our Microsoft Consulting Services  →

Visual Studio 2012 serves as a very promising solution for Application Lifecycle Management (ALM). Teams can use Visual Studio to overcome the typical challenges that developers face in their day-to-day work cycle.

Let’s look at a fictitious scenario where a developer on the team develops some new methods. He begins by writing some examples of how the methods will be called, and discusses this with another peer of his who will be using these methods that he writes. He incorporates these examples into unit tests. He starts off by working on the code, first making the unit tests pass, and then writing more detailed tests to make sure that the code works in all cases.

Somehow this team uses unit testing extensively because they have found that this helps to keep their bug count low. The additional effort that they would put in to write these unit tests will pay off by reducing bugs and by improving the overall quality of the code.

Many developers face challenges of often being pulled into a bunch of different things, for example, to fix an urgent bug, to do a code review, to do some urgent deployments to the different environments, etc. In such a scenario, using My Work helps a lot in managing your work and keeping track of what’s in progress, suspended, or completed.

Before you begin on any of the tasks that are assigned to you, the team explorer would look like the above screen shot where everything will be in the available pool and nothing is either in progress or suspended. You can drag work items from one state to another, for example, you can drag a work item from Available Work Items to In Progress Work and vice versa. In the case where you are pulled into another task apart from what you are currently working on, you can simply suspend the current work item and start working on another work item or do a code review. When you are done with the other task, you can simply Resume to make Visual Studio restore your code, the state and positions of windows, breakpoints, and several other key bits of state that help you more quickly and easily get back on track.

You can also use several collaborative strategies to improve code quality, including code reviews. This practice is especially important when developers must very quickly write and check-in code, potentially getting into a new area they may not have worked in the past.

If you would like to know more about how your team can use Visual Studio to develop their code, please see Day in the Life of an ALM Developer.

We will look into Storyboarding in my next blog in the series. Hope you are having fun reading the series and as always, stay tuned for more.  Be sure to follow us on Twitter or LinkedIn for more great tips.  Have a question related to the blog series or ALM in general?  Use the comments section below to join the conversation.