April 24, 2012

Supporting Multiple Workflows in TestTrack

Helix ALM
Issue Management
A common request I hear from users is the need to support more than one workflow within a single TestTrack project. I call the concept workflow branching, but no matter what you call it the goal is to support multiple paths for a defect, testing artifact, or requirement to travel from creation to closure. This can be helpful if you're handling different types of issues in the same project (defects and IT help desk tickets for example) or if you want to drive high priority issues through a more streamlined flow than features requests and non-critical bugs. [caption id="attachment_11330" align="aligncenter" width="335"] Three paths based on item type[/caption] Here is the start of a workflow with three "branches" that any given work item can travel. Getting this far is pretty straightforward; you need to create the four states and three events then set up the transition rules to define the actual pathways.

Create Workflow Branches

All of the initial work will be done within the workflow administration dialog, which can be accessed from the Tools > Administration > Workflow menu. On the States tab, click Add to start adding new workflow states (Fig. 1). On the Events tab, click Add to create the three new events which we'll automate in just a minute (Fig. 2). Be sure you set the right resulting state, leave assignments unchanged, and turn off prompts for each event. Finally, click Edit under State Transitions in the Transitions tab to define the pathways (Fig. 3).
[caption id="attachment_11333" align="aligncenter" width="256"] Fig. 1: Create your states[/caption] [caption id="attachment_11335" align="aligncenter" width="256"] Fig. 2: Add workflow events[/caption]
[caption id="attachment_11334" align="aligncenter" width="256"] Fig. 3: Define the pathways.[/caption]
Now if you click  Diagram Workflow, you should see something similar to the image at the top of this post. At this point, your branched workflow is usable but relies on someone deliberately applying an event to move new work items into the correct branch.

Automate Workflow Transitions

Software is great at executing mundane tasks consistently, so let's set up TestTrack to handle assigning new items to the appropriate branch. To do that, we're going to create some automation triggers via the Tools > Administration > Automation Rules menu. Go to the Triggers tab, and click Add to create your first rule. You'll need three rules, one for each of the pathways in our branched workflow. Each will apply one of our three new events to every new item that is created in our TestTrack project.
  • Precondition - You're going to want to filter by the specific set of criteria that determines if a new item goes down one of the three branched paths. A simple example would be Type == Feature Request.
  • Trigger When - Lots of options here, but for branching we want to watch new item creation.
  • Actions - Click Add, select Event, and choose the corresponding event based on the filtered criteria you just set up in Preconditions.
[caption id="attachment_11343" align="aligncenter" width="405"] Trigger Rule Summary[/caption]
Create a trigger for each branch, and then you're ready to go live! More to come on interesting trigger conditions, and how to build out the actual workflow for a branch. If you're looking for help in getting your workflow setup, our Services team can help you remotely or at your location. The TestTrack Tune Up package specifically is a great option if you're looking to get TestTrack up-to-date with the latest features, including workflow, user permissions, reporting, and data capture.