Monday, May 25, 2009

Where to find VSTS Project Manager Ideas and Answers

If you search the web, CodePlex, The Team System Widget list, and the Visual Studio Gallery you can find all types of great goodies.

But where are all the Project Manager resources?

Now there is a location - VSTS Project Manager - Where Project Managers that use Team System go for ideas and answers.

Let's look at one of the resources available - an Excel Dashboard for CodePlex project teams to manage their projects. This was generously contributed by Ben Amodio after I saw a great presentation from him at the Dowtown Seattle.Net User Group and asked enough questions that he whipped out this dashboard in no-time at all.

So, follow along with me using your project as I go through the steps to use the Dashboard for TeamReview, and then analyze the results and discuss the immediate insight it provides.

Setting up the CodePlex dashboard

I've explained this in an extreme amount of detail, so it looks much longer than it is - in reality it only takes about 5-10 minutes the first time and then you are set-up. Once you're done you'll make your colleagues jealous that you have such accurate insight into the state of your project - and all you are doing is hitting the refresh button once in a while.


  • The workbook we are going to load up needs a Team Query that has all the work items and some important fields, so let's set that up in VSTS in preparation. CodePlex doesn't allow us to add new Team queries, so you'll have to create a private one. In Team Explorer under "Work Items", right click on "My Queries" and choose "Add Query"



  • The default filters that are provided are exactly what we want - everything! So save this as "All History" where it's "only visible to you"



  • Now we're ready for the Excel Dashboard - Download the latest Source from VSTSProjectManager.codeplex.com

  • Open the \CodePlex\Excel Dashboards\CodePlex Dashboard.xlsm workbook.

  • This is a macro enabled workbook so the first thing we need to do is make sure it's in a location on your computer where macros are allowed to execute. From the file menu select "Excel Options"



  • Then on the "Trust Center" channel click "Trust Center Settings.."



  • Now, in the "Trust Locations" channel verify that the workbook is already in a trusted location, or add a new trusted location and then click ok a few times to get back to the main workbook screen


  • Now that has been completed click the "Options" button to enable macros



  • Choose the option to enable macros and then click OK



  • The workbook comes with some "Test data" (ahem, masked stuff from TeamReview) and isn't going to help you make decisions - so it's time to import your CodePlex project data. In Excel click on the "Work Item Data" Spreadsheet, then go to the "Team" tab and choose "New List"



  • Now we can connect to the Private Query that we created in the first few steps. Enter or choose your CodePlex server and then provide your CodePlex credentials; finally you should be able to select your CodePlex project



  • Next you'll be prompted to select a Team Query - this is where you should choose the "All History" personal query you set up earlier.



  • Only a few more steps to go.. The "All History" query may not return all the columns the workbook requires, so click "Choose Columns" and move everything over. You don't need them all, but it's easier than being selective.


  • Ok - now it's time to configure the workbook to look at your real data instead of the test data. Go to the "How to Use This Dashboard" spreadsheet and click the "Autoconfigure" button.



  • You're done! Go to the Dashboard spreadsheet and analyze your project.


Gain Insight into your Project

No wonder TeamReview's last release had me feeling anxious about getting it published and overwhelmed with testing to feel comfortable pushing the final "can't turn back now" button - look at how big 1.1.0 was compared to the previous releases. That's quite a progression in release size.



Scanning down and to the left a few pixels it's easy to see why the release was so big, it wasn't just me writing code this time - the team got a new coder and Ian (bluess57) was making some great head-way on work items. He contributed way more than this chart gives him credit for - and I contributed a lot less than the chart shows. In the end, having two ambitious coders made the release size swell faster than I had experienced in the past and beyond the point where I was passively comfortable publishing the release.



Looking back at the Work Items By Release chart it looks like the next release - only 3 days old - is heading down the same track as the last. Since I know that now, before any work has really started, I have options and can re-adjust the release back-log to have less items, be focused on a certain sub-area to avoid regression testing the whole code base, or recruit a tester.

The Results

I've uncovered some very accurate insight about TeamReview release planning that will help me plan the next release without feeling over-whelmed with testing - and it only took a few minutes of work. To top it off, next time I'll just be able to hit refresh!

I'm really hoping more people like Ben and people like me can share and learn from VSTSProjectManager.CodePlex.com because Team System has some great facilities for making informed decisions based on accurate data. Hopefully VSTS Project Manager will help guide Project Managers on how to get that data into a format that allows them to get the most out of Team System.

TeamReview Introduction Video

If you'd like to see exactly how TeamReview works before trying it watch this 6 and a half minute introduction video I just put together showing the basic usage and workflow of TeamReview










Friday, May 22, 2009

Priority, ChangeSet association and Saved settings are new in TeamReview

A new release of TeamReview has been published - and this is a fun one. For the first time I wasn't the only coder. Our newest team member both added a bunch of great new inspiration to the release and cleaned up a lot of my perpetual hacking-just-to-make-it-work, and TeamReview is much better off for it.

As I said - we have some very fun stuff for you to try out-
  1. You can now associate code review responses directly with a change-set
  2. A priority can be assigned to your code review feedback - and - this is backwards compatible to the client - you can have an old client and a new Work Item Type
  3. You can choose individual code review responses in the Code Review Replay window
  4. TeamReview has it's own output window to help you remember what you've done in your code review activity
  5. The default values for the size and location of the New Code Review Response window are persisted between VS.Net sessions
  6. The last used values for the New Code Review Response fields are saved per Team Project and are persisted between VS.Net sessions
  7. Thanks to Libaty we have an optional Japanese language Work Item Type definition for Code Review Response
  8. A handful of bug fixes

Release 1.1.0 has the full detail on these new features and the links to download the latest version of TeamReview