Blog of Steven Tapping, containing my thoughts, comments and questions. RSS Feed


Improving Team System eScrum Reporting Delays

Problem

By default the reports you'll view on your team system installation will be based on data which is 1 hour old. We found this delay to be an issue with our daily scrum meetings. This affects the eScrum templates but I noticed the Conchango and MSFT Agile templates should also be affected!

   

Objective

Be able to view eScrum reports such as the sprint burndown chart based on close to real time sprint data. In our case we chose a 2 minute interval.

There are two variables delaying the reports:

  • Age of the report data
  • Report caching

   

Improving the "age" of the report data

How old is it? 1 hour!

Why is it a problem? Because we found most people update their task hours a few minutes before the daily standup, and we look at the sprint burndown chart during the standup!

So why is the data an hour old?

EScrum reports do not directly query the "live" Team System DB. They query an analysis services cube TFSWarehouse, which queries a TS warehouse database TFSWarehouse (a new version of eScrum goes to the warehouse directly but it's the same issue). That warehouse database gets populates every hour by a service called TFSServerScheduler running on the Team System front end box; the service queries the TS "live" databases to populate TFSWarehouse.

   

The Fix:

  1. Logon to your Team System front end server.
  2. Query the following web service in IE: http://localhost:8080/Warehouse/v1.0/warehousecontroller.asmx?op=ChangeSetting . This is how you change settings of the TFSServerScheduler service (see MSDN documentation)
  3. Set the RunIntervalSeconds setting to a new value. In this case we chose 120 seconds (2 minutes).

  4. Restart the TFSServerScheduler service in the windows service manager.

Performance impact:

I monitored the TS servers for CPU/memory spikes and did not notice anything significant. The service creates a 40% CPU utilization on 2/4 CPUs for about 3 seconds. Then it goes back down to ~10%.

Vertigo has a fairly sizable amount of projects but the performance impact varies from machine to company to amount of data. I would suggest you monitor your TS servers after you make the change. 

   

   

Removing Report Caching

I noticed the reports team system were rendering were cached on demand for 30 minutes. Hence if someone had checked the Sprint burndown anytime before our daily standup, we would not get the updated data until 30 minutes later.

Solution:

  1. Connect to SQL reporting services on your Team System web server
  2. Go to Home -> [Project Name]
  3. For all reports under this project:
    1. Go to [Report Name]-> properties -> Execution
    2. Set to "Do not cache temporary copies of this report".

   

This will render reports on demand. The only downside is that you have to do this for each report of each project based on the eScrum template.

   

We can now view the eScrum reports knowing they are at most 2 minutes old!

 
Posted by Steven Tapping | 0 Comments | Trackback Url | Bookmark with:        
Tags:

Links to this Post

Comments

Name:
URL:
Email:
Comments:

CAPTCHA Image Validation