As detailed in Part 1, we are using TFS to capture the
stories. I capture stories in TFS for many reasons. One of the reasons
includes the ability to have these stories in a data store that gets backed up
etc. Another reason is to allow reporting in different ways using SQL.
For off-site customers there are reports that these
customers can see. The bottom line for me is that I am more comfortable
storing my stories into a database rather just keeping them in index cards that
I can lose.
We'll go through the steps of creating a report that will
make stories for you. First off the Story report is designed to print out story
cards that can be pinned on your story boards. If you are familiar with agile
projects using XP or similar methodologies, you probably are familiar with how
story cards are normally created. Most teams that use stories use note card
and write the story on that card. Then they place the story card on a board
that contains your backlog.
In our scenario we enter the story information into a
scenario work item in Team Foundation Server. And then we use this report to
print out the stories. One of the original story reports I created, did not
have any markings that show it as unique. After printing that out and putting
these stories on the board for the project, Some of the feedback received from
customers indicated that it was hard to differentiate between these printed
story cards.
Normally story cards that are written on tend to take on a
look of their own, with different markings on them. I thought it might be good
to give some uniqueness to laser printed story cards. When we get to creating
the report, you'll see the route I took to get around this issue.
Let's look at the SQL statement used to run this report.
Listing 1
select [System.Id]
, [System.Title]
, [System.CreatedDate]
, [System.TeamProject]
, [Microsoft.VSTS.Common.RoughOrderOfMagnitude]
, [Microsoft.VSTS.Common.Rank] as Iteration
, [System.State]
, [System.Reason]
, [Microsoft.VSTS.Common.ClosedDate]
from dbo.WorkItemsLatestUsed
where [System.WorkItemType] = 'Scenario'
In our SQL Statement, we are pulling the ID, Title,
Microsoft.VSTS.Common.Rank for the iteration, and .VSTS.Common.RoughOrderOfMagnitude
as the Score. This SQL statement gives us the basis for the story Report.