Use Cases for Workflows
Imagine that your issue tracker supports all of your internal processes. You don't need to dig into complex settings; you can just define your own rules, and the issue tracker follows them exactly. The rules automate assignments, manage time, implement policies, generate reports, send notifications, and escalate issues. They also maintain inter-project dependencies, and never forget to do their work.
This is what YouTrack workflows can do for you. Workflows are not processes that are defined once and for all — they are sets of rules that you can modify at any time.
There is a wide variety of workflows that are ready to be attached to your projects. The use cases described here are supported by default workflows that are bundled with YouTrack and custom workflows that you can download from the workflow repository. Plus, you can always extend the available functionality by creating your own workflows.
Let's explore some ideas that put workflows to work.
Would you like the issue tracker to know who is responsible for what in your team, and assign appropriate issues to them automatically? The Subsystem Assignee workflow does it for you. Just select a subsystem for the issue and the workflow assigns the issue to the owner of the subsystem.
Want to calculate time spent on issues in your project? Enable the Time Tracking feature in your project and attach the In Progress Work Timer workflow. This workflow tracks the time that an issue spends in the In Progress state. When the state is set to Fixed, a work item with the time spent is added to the issue automatically.
Do you want your reporters to submit issues that conform to a standard issue template? The Default Description workflow inserts default text into the description of an issue. You can modify this workflow to enter different templates based on values that are selected in issue fields, for example, Subsystem or Severity.
Need to measure popular demand for features that are requested by multiple users? Use a voting system in your issue tracker. To make sure every vote counts, enable the One Vote Comment workflow. Whenever someone enters +1 in a comment, the workflow adds a vote to the issue.
Are users not showing each other enough courtesy in the comments? Enable the Profanity Blocker workflow to keep users from publishing comments that contain foul language.
Does your team have a hard time prioritizing tasks? The SLA Priority workflow assigns an initial priority to an issue when it is created. If the issue is not fixed within a set period, the priority level raises. As the deadline approaches, the workflow notifies the project owner by email if the issue is still not resolved.
Support Business Processes
Assume your team follows a Kanban development process and would like to use the YouTrack Agile Board. Your set columns on the board to represent each department. You team has a well-defined process to hand over issues from one department to another. Team members can see which department is each issue on the board. The color of the issue card represents the time left until the deadline. Cards for new issues are green. As the deadline approaches, the color changes to yellow, then red.
Do you want developers to use strict procedures to close issues, instead of working in a haphazard manner? Imagine an issue in YouTrack that is a parent issue for a number of subtasks. If someone tries to close the parent issue without fixing all subtasks, the workflow will not let them.
The Dependencies workflow prevents users from closing issues that have unresolved dependencies.
Last but not least, let's talk about the issue transition rules that are key to project management and instrumental for good planning. Let's suppose your team is setting up a process for handling user requests. This process is reflected in the columns of the agile board that is used by the development team.
New issues are assigned the Submitted state.
The team decides that the issue has to be addressed and changes the state to Open. Issues in this state are added to the work queue.
When the developers have time to work on an issue, they pull the issue to the In Progress state and assign the issue to themselves.
After the problem is fixed, the developer changes the state to Fixed.
When the tests are passed, the QA engineer sets the state to Verified.
The states can only be changed in the order that is prescribed by the workflow. The workflow can also manage other aspects of the process, like assigning the issue to the developer who pulls the issue to the In Progress column and assigning issues that are Fixed to QA engineer.