In a small team this sounds like oversize, but in mid-sized large teams it’s common that you do not know who is going to be the tester.
Looking at the Bug workflow from MSF Agile:
- while "Active" the project lead decided if and when the bug is going to be fixed and assigns it to the responsible developer.
- between "Active" and "Resolved" is where the developers implements the fix.
- between "Resolved" and "Closed" is where the tester verifies the fix.
When the developer finishes coding he changes the state from "Active" to "Resolved", e.g. by checking in and associating the changeset with the work item.
But by doing so the work item is still assigned to him. In our scenario he doesn’t know who will be the responsible tester to verify the fix. So who knows?
The project lead might have that information. So either we assign it back to the project lead to make him assign it to as tester or we make the project lead specify the tester upfront (with the ability to change it afterwards if necessary).
In this example we’ll implement the second approach.
Ask for the Tester when creating the bug and automatically u.se it for the transition from "Active" to "Resolved"
Required Work Item Customization
Step 1: Add a new string field to hold the tester
In this example we will make it a required field (<required/>) and ensure that it contains a valid user (<validuser/>).
<FieldDefinition> type="String" name="Tester" refname="TeamSystemPro.Samples.Tester">
Step 2: Add a rule to the transition from "Active" to "Resolved"
Automatically copy the value of the tester field to the Assigned to field.
<COPY from="field" field="TeamSystemPro.Samples.Tester" />
When creating a new bug it’s now required to select a Tester before it can be saving.
When choosing "Resolved" for the state "Assigned to" will be automatically filled with the contents from the "Tester" field.
The history correctly shows the change in the "Assigned To" field from the developer (here: "Neno Loje" to the tester (in this case: "Administrator")