A quick look at TeamReview
We have briefly reviewed the TeamReview product, version 2008_1_0_6, which you can find here. The product promises the following and we quote from the TeamReview CodePlex site: "Using Work Items to facilitate the code review process creates a completely in-IDE code review experience, the ability to project-manage the code review tasks, and the opportunity to get new value from the code review process through code review forensics." end quote.
This is the journal of the evaluation.
Download and Installation
Next step is to use the product ...
Using the product
Featuring the users
Henk and
Wall-E.
- The developer, Henk, completes a specific piece of code and creates a new task assigning it to Wall-E who in this hypothetical example is the technical lead and code reviewer.

- Wall-E would now typically open the solution and then review the code. When finding something worth reporting, the reviewer selects the code, right clicks and selects "New Code Review Response".

NOTE-1 from creators: TeamReview uses the Source Control bindings to identify the TFS project in use; which is supplied by the active solution in Visual Studio. If you simply open up a file without being within a Solution context bound to Team System source control there is no way of knowing how to connect to the proper Team System server and project in order to record new Code Review Responses or query for them using the Replay functionallity of TeamReview.
- Wall-E completes the Create Code Re view Response, associating it with the original work item #544 and assigning it to Henk. Note that the reviewer can add a suggested resolution and the code snippet is included as reference.

NOTE-2 from creators: The Assign to drop down should be populated with all the users in the TFS project's Project Administrators and Contributors roles. It was limited to those roles for performance reasons, because "walking the tree" when a deep or wide AD group was added to TFS permission groups would cause Visual Studio to become unresponsive during the wait period which we didn't want. To limit that unresponsive period TeamReview attempts to only show people in the roles that would, or should, be responsible for committing code.
- Wall-E notices a coding guideline infringement and repeats steps 2 and 3. This time the "query from", "associate with" and "assign to" are pre-populated.

- Looking at the original Task 544, we will notice two linked WI items, which are a result of the repeated steps 2-3 above. Whether the original WI 544 is reassigned to Henk, or left with Wall-E until the linked items are resolved, is dependent on your process.
- Henk would now start working on his two new work items, WI 545 and WI 546 in the following list:

- Henk right clicks anywhere in the relevant code, select Team Review and Replay Code Review.

- The Code Review Replay window opens and Henk is able to select the relevant WI's associated with the code review.

- Henk, fixes the code and updates the relevant work items. Note the Code Details tab, which contains code heuristic details, including project, namespace, class, path and line number details. Really cool!

Issues we picked up ... this is an early product release, so issue is probably a 'harsh' term to use
- Template store path is invalid: Unexpected path ... when opening Visual Studio on a system that has TeamReview loaded. We noticed that the error does not occur for users who had opened Visual Studio prior to TeamReview being installed, whereas users logging on for the first time, starting up Visual Studio frequently see the error dialog.This issue has been reported to and is under investigation by TeamReview.
- According to Note 2 above, under point 3, both Project Administrators and Contributors should show in the "Assign To" field. We have found that only contributors are listed, which for us is an issue as our team leads, who are typically code reviewers as well, are Project Administrators, not Contributors.
Conclusion
In general TeamReview promises to become another one of the CodePlex nuggets and will deliver value-add in most development environments around code review. The seamless integration into VSTS and TFS is another example of the powerful integration and interoperability support of TFS and makes TeamReview an integrated feature in the VSTS IDE.
If you have a need for code review, then please throw an eyeball at this product!