Conchango has released the second beta of their Team Foundation Server process template for Scrum. This version works with the current beta 2 release of TFS 2010. Click here to download.
Tuesday, December 01, 2009
Thursday, March 26, 2009
New Product Backlog Estimation History Report for Conchango Scrum TFS Template
Paul's team is just starting with Scrum and we have had many conversations about estimating User Stories in the Product Backlog using Story Points. Most of the groups I coach have to get used to the idea of estimating this way. I always tell them that over time your team will become more accurate with gauging the story point value of individual stories. We talked about being able to go back over time and see how many hours were actually worked against individual stories and using that data to get an idea of how much diversity there are in the actual hours worked over multiple stories assigned the same story point value.
Paul created the great report we are calling "Product Backlog Estimation History". You choose a story point value and a date range, then the report will show you a graph of the number of Product Backlog Items with the same amount of actual hours worked.

Over time you can see trends in how accurate your team is estimating using story points by seeing the variation of hours actually worked. If you see a large variation then you might want to look at this during a retrospective to see why the estimates are no more accurate. You will see some degree of variation naturally, but large amounts can be a symptom of a deeper issue.
Thursday, March 19, 2009
Reformatted Product Backlog Composition Report for Conchango TFS Template
This report is a great breakdown of each Sprint showing the Product Backlog Items and all the associated Sprint Backlog items. It shows the story points assigned to each Product Backlog Item as well as the original estimated hours versus the hours remaining for each of the subsequent Sprint Backlog items. This is a good report for management that want to see what items are being worked on in the Sprint and now muck work remains to be done. Project managers used to more traditional reporting seem to like it also.
I had a few of issues with the report that comes with the template:

- The Story Points for each Product Backlog Item line up on top of the column for the Sprint Backlog Item's original estimated hours. This makes it look like the total of those hours, which of course it isn't.
- There is a total for the hours remaining for the Sprint Backlog Items, but it is at the top of the column next to the Story Points for the Product Backlog Item. This also leads to the misconception that the Story Points are the total for the original estimates. I also would expect the totals to be at the bottom of the columns, not at the top.
- The rows are separated using alternating row colors, but I rarely print the report with colors so the rows run together.
Paul Gauthier, who works at one my clients, created a new version that addresses the issues above. Click here to download the version Paul has reformatted.

Paul is working on a few other reports that I have had in mind for a while but could not find the time to create (plus I do not know very much about SQL Reporting Services). I'll post those soon.
Tuesday, December 09, 2008
Comfortably Scrum: My Common Product Backlog Work Item Customizations

First I change few of the labels for the standard fields from the Conchango template:
Business Priority is changed to Business Value since the word "priority" has a certain connotation of order. I also implement a SuggestedValues rule with values ranging from 100 to 1000 with increments of 100 (100, 200, 300, etc.).
Estimated Effort (days/story points) is changed to just Story Points since I really encourage teams to not use days or hours when estimating the Product Backlog. I add a SuggestedValues rule to this field with the Agile standard of the Finbonacci sequence variation (1,2,3,5,8,12,20,40,100). Some clients use the planning poker cards from Crisp, but I do not include 0, 1/2, ?, or the Coffee Break card.
I also change the description on the Conditions of Acceptance section to include "or How To Demo Steps" since I really like using this technique over just a bulleted list of acceptance criteria.
I also add two new fields:
Return On Investment which is a read only field calculated by dividing the Business Value by the Story Points. We use this as additional perspective when ordering the Product Backlog. The value is updated by a web service created using Howard van Rooijen's project template for TFS event subscription end points.
Product Backlog Type which is used many different ways depending on your Agile tool or general philosophy. My version has three allowed values:
- User Story which is exactly what it sounds like. All these entries must fit the user story format.
- Technical Requirement which is for any behind the scenes work like refactoring, building supporting components with no UI, etc. This helps identify which items require functional tests to be created (meaning a User Story) or those that just need to be regression tested with the current suite of tests.
- Epic which is used for placeholder entries. Some people like to use TFS Areas for this but I prefer to put it at the Product Backlog level. It allows stakeholders to throw pie in the sky ideas on the backlog. Our rules specify that an Epic is not estimated, is always last in delivery order, and can never be added to a Sprint until it is broken up into acceptable User Stories with a Story Point value that can be done in half a Sprint.
I also add some new work flow steps:
Ready For Test is something the Conchango template puts at the Sprint Backlog level and I prefer to have this measured at the Product Backlog level. There is some contention on this even on the Conchango forums. My thought is that a task like "Create class to hold search criteria." cannot be tested but its corresponding User Story ("Search Online Catalog") can be.
Failed Test and Passed Test are two optional steps I sometimes put in to follow Ready For Test. This depends on how integrated the testers are with the development team. If they are very integrated and the team is good with simply communicating failed and passed tests verbally or via email then these can be left off. I have had less integrated QA teams that were also not co-located with the team and we found these steps necessary to keep up with test results.
And finally I organize the form a bit to keep it symmetrical and grouped a bit more clearly.
These changes are not necessarily a good fit for every team and I really try to understand the level at which each client can adopt the Scrum processes before we run head first into customization. I have found these changes to bring value to the process for the majority of time.
Saturday, December 06, 2008
Comfortably Scrum: Sprint Planning Using Conchango’s Sprint Task Board Application
When you open the Sprint Task Board you are prompted to choose a project then choose a Sprint. The Sprint you choose is actually an item in the hierarchical list of Iterations. I have always just selected my specific Sprint, but if you choose a Release you will then see all of the Product Backlog items under that release. So if you have previously performed your Release Planning and assigned Product Backlog items to their projected releases then they should show up. The image below is a view of a sample Product Backlog viewed in Excel. Notice that all but one item is assigned to the Release 1 Iteration.

When you open the Task Board application and choose Release 1 for this project you will see all of the items that were associated to Release 1 (or a Sprint in that Release). Anything not assigned to that Release will not be shown.


Most of the time we have used Excel during Sprint Planning meetings since we tend to be adding quite a lot of items and using the query view in Team Explorer was tedious. Using the Task Board app is less tedious than Team Explorer but still not as easy as Excel. So you can still use Excel to rapidly enter Sprint Backlog items and then publish them back to TFS, but since you cannot link items in Excel they will not be connected to any Product Backlog items. You can then open the Task Board app and open the Orphaned Work Item section to drag and drop these Sprint Backlog items to their corresponding Product Backlog item.

So while this option does not provide a good option for Release Planning, it is one possible solution for Sprint Planning. Using the Task Board app can give the team a more tactile feeling during the process. Seeing item represented on the screen gives you more of an idea for the scope of a Sprint/Release.
I still like the interface provided by VersionOne for Release Planning. Not only does it provide an easy to use drag and drop interface, it provides feedback on capacity as you go (see a demo here).

So thanks again to Jeff for prompting me to take another look at the functionality in the Conchango Task Board application. Now if they could just rip off the features in VersionOne I could get down to only two applications!
Wednesday, November 12, 2008
Comfortably Scrum: Free Scrum Dashboard on CodePlex

Wednesday, October 15, 2008
Conchango Scrum Template 2.2 & Sprint Task Board Updates
They released the beta 3 version of their WPF Sprint Task Board application a few weeks ago which now supports the Scrum template 1.2 for TFS 2005 as well as 2.x on TFS 2008. It is going to be release by the end of this month and the pricing will be $90 per license for 10 copies or under. You can get discounts for larger volumes.