Imagine you have all specific processes in a project supported by your issue tracker. You don't need to dig into complex settings; you can just define your own rules, and the issue tracker will follow them exactly. The rules can automate assignments management, time management, implementation of policies, reporting, notifications, and escalating issues. They also maintain inter-project dependencies, and never forget to do their work.
This is what YouTrack can do for you, with its powerful mechanism called workflows. Note that workflows are not processes defined once and for all; they are sets of rules that you can modify as you need.
Let's explore some ideas on what you can use workflows for.
Would you like the issue tracker to know who is responsible for what in your team, and assign appropriate issues of certain categories to them? The workflow does it for you; you just choose a subsystem for the issue, and it will make the assignment automatically.
Want to calculate time spent on issues in your project correctly? Enable Time Tracking for the project and attach workTimer workflow. This workflow tracks the time that an issue spends in "In Progress" state, and adds an appropriate work item automatically when the issue gets Fixed.
- Should your users submit all relevant information to the issue tracker adhering to an established issue template? Use a workflow that suggests appropriate templates based on the information the user provides, e.g. issue subsystem or severity.
- Need to measure popular demand for features requested by multiple users? Use a voting system in your issue tracker. YouTrack voting can be flexible. For example, whenever someone mentions “+1” in the comments, the workflow counts it as a ‘pro’ vote.
- Users not showing enough courtesy to each other? Don't risk exposing vulgar language of rude users in public: use a workflow that will prevent publishing comments containing foul language.
Would you like to receive a digest report every morning, detailing which issues expired yesterday? We have a workflow that can do that. Want a report for all of the tasks fixed last week e-mailed to you on Monday morning? We can do that too.
Do you have shift duties in your team? Consider the following case: a team uses a round-robin algorithm to choose a person who has to assign team members to new issues. This is a daily routine. The workflow chooses the next person from the list of team members, running every morning at 9 am, and sends an email with the reminder to the selected person.
Imagine there are several projects rooted from the same platform that requires maintenance, and the corresponding project is called Platform. When a developer decides that an issue in a child project is related to the platform, the workflow makes a copy of the issue in the Platform project automatically.
Do you see teams struggling with prioritizing tasks? A workflow can help them assign initial priority to an issue at the time of creating it, and then raise the priority depending on how many days remain to fix the issue. In case the deadline is approaching but no changes are made in the issue, the workflow alerts the project owner with an appropriate reminder email.
- Assume your team follows Kanban process and would like to utilize YouTrack Agile Board. Board columns will stand for departments, and the team has a well-defined process of issue transition from one department to another. Team members see which department is processing the issue at the moment. The color of the issue card represents the time left until the deadline: the card starts out green and then, based on a specific workflow, grows yellow and then red as the deadline approaches.
- 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.
Last but not least, let's talk about defining issue transition rules that are very natural for project management and instrumental for good planning. Let's suppose your team is setting up a way to process user requests. The picture below shows the process flow:
- A submitted issue has the Submitted state.
- The team decides the issue has to be processed and changes the state to Open (placing it in a queue).
- The developers work on the issue as soon as they have time, assigning it to themselves as they handle it, and the state automatically transits to In Progress.
- After the problem is fixed, a developer advances the state to Fixed, and YouTrack automatically assigns the issue to a QA engineer.
- When the tests are passed, the state becomes Verified.
The states can only be changed in the order the workflow prescribes. The workflow can also take care of making the necessary changes, such as assigning a QA engineer.
There is a wide variety of workflows ready to be attached to your projects (either bundled with YouTrack or available in the workflow repository), and you can always extend the available functionality by adding more.
YouTrack allows you to create custom workflows thus enabling any automation you can imagine. If your development process requires specific policies, management practices, custom notifications and reports, workflows are the right tool to implement them.