Benefits of Using Workflow
You can use a workflow to:
- Automate issue processing
- Enforce compliance with SCM development and release process policies
This section provides an overview of workflow features that are used to support process automation and policy compliance.
Issue Management Process Automation
Part of creating a workflow includes specifying one or more conditions that an issue must meet in order to be subject to that workflow. For example, if you want to use a workflow to manage defects in your system, you might name that workflow "defects" and create the condition for that workflow as Issue Type = defect. By specifying the condition Issue Type = defect for the workflow, any issues with a type of defect—and only issues with a type of defect—will be subject to the rules you specify in the "defects" workflow. The process of specifying a condition for a workflow is referred to as activating the workflow.
How Automation is Supported
Once you have activated a workflow, the Issue Edit form for issues under workflow control displays both the issue’s current stage, and the transitions that are available in that stage, as shown in the following illustration:
In this example, the user can click either the complete or need more info transition buttons. If there is a question about the workflow, clicking the stage button (here it is WIP) displays a read-only version of the workflow diagram. Only those transitions that are applicable to the current stage are displayed, allowing easy enforcement of your workflow process rules.
Clicking a transition button executes the actions specified in the workflow. For example, clicking the complete transition button might change the value of the Status field from WIP to Review, and change the value of the Assigned To field to a user on the QA team, moving the issue from the WIP to the Done stage in the process.
These tools help reduce errors, improve efficiency, and enforce workflow compliance by preventing users from modifying fields that would remove the issue from the workflow and supplying default values for required fields, for example.
Release and Development Policy Enforcement
The same workflow you use to automate issue processing in AccuWork is used to enforce release and development process policies in your AccuRev streams. In the StreamBrowser, you simply associate the workflow with the stream you want to control, and then specify the workflow rules you want enforced for that stream:
Setting workflow rules for a stream lets you:
- Specify whether or not you want AccuRev to allow incomplete issues to enter the stream.
- Specify whether you want AccuRev to use workflow rules exclusively when determining which issues can be in a stream, or whether you want workflow rules to apply only to issues of a specific type without preventing other issue types from entering the stream.
- Set workflow rules that restrict entry into and/or exit from a stream to issues in a given workflow stage. For example, you might want to restrict entry into your build stream to those issues whose status is Closed.
- Optionally perform a transition for issues when they enter or exit the stream.
By combining AccuRev’s streams-based SCM technology with the AccuWork issue-tracking system, workflow provides you with the tools you need to manage the issues, tasks, files, versions, and people associated with projects across the enterprise.
Workflows on Multiple Streams
You can use workflow on multiple streams in a depot. This allows you to define separate workflows—each with its own stages, transitions, and workflow rules—for different development efforts in your organization that are under AccuRev control. For example, you might want to define a workflow with one set of stages and transitions for new product development and another, with different stages and transitions, for the maintenance efforts associated with existing products. Multiple workflow support is ideal for development organizations that use separate streams to manage development efforts for new and existing software.