Building better workflows in Jira

July 11, 2022
Building better workflows in Jira

What are the common challenges when it comes to workflows in Jira?

Atlassian Jira offers a customizable workflow engine and it's great for covering the basic needs of every team. Plus, workflows are a fundamental part of being successful in Jira. They represent how a team functions. Jira even comes with a small set of built-in workflows that can be used in your projects.

But what if that is not enough?

We recently celebrated the 10th birthday of our automation solution Jira Workflow Toolbox. On this occasion, we took a close look at the feedback from our users and customers and identified a lot of challenge. So we asked ourselves: How can we make working with Jira workflows much easier and more efficient for all users? How can we help to overcome those challenges?

Based on the feedback and our years of experience, we went to the drawing board and thought about what an app should offer so you can easily map your processes in Jira.
In this blog post, we take a look at Jira's workflow features, when a workflow app is reasonable and how it can support you.

What are Jira workflows?

The workflow defines the lifecycle of a Jira issue. The main components are statuses and transitions. A status defines in which phase of this lifecycle an issue is in. Transitions between statuses determine where an issue can progress to. But this is only the obvious side of the story. A lot of actions can happen in the background and are often invisible to the user.
Jira's built-in workflow functionalities satisfy most of the basic needs. Common use cases are:

  • change the assignee when transitioning an issue
  • set a resolution when an issue has been completed
  • restrict a transition only to the reporter of an issue

So much for a little refresher.

Why build custom workflows?

Jira workflows offer a few controls to automate your Jira issues to a certain extent.

  • Conditions - control who can see and perform a transition.
  • Validators - make sure a transition happens only when certain criteria are met.
  • Post functions - perform extra actions on issues after the transition happened.

Unfortunately, more complex requirements cannot be covered by the Jira standard. That's why 10 years ago Jira Workflow Toolbox was created as a product, at that time still a hobby and pastime, to fill these gaps.
But what are already more complex requirements? Here a few examples:

  • update a field in a linked task
  • create sub-tasks and copy field values from the parent
  • confirm that a due date is in the future
  • add a comment to an issue

Automating necessary work will help to reduce the workload for your teams and potential errors. Customizing your workflows is necessary to get the most out of Jira. So to speak, to make your work more efficient and to adapt the system exactly to the way your team works.

How can Jira workflow management apps support you?

Most of the heavy lifting is done with post functions. At least that is our experience as an app vendor and Atlassian Solution Partner implementing workflows for customers. The vast majority of workflow automation happens in post functions followed by validators.

#1 The needed functionality

You should make sure that any workflow management app comes with the feature set you need. In most cases, a quick look at the documentation is enough to get an overview. As an example, Jira Workflow Toolbox offers dozens of different workflow functions for each use case. Half of them are post functions for handling everything from creating issues, sending emails to transitioning other issues.

A handy alternative to post functions are automation rules. What you can achieve is pretty similar but the approach is different. Automation rules in Jira Workflow Toolbox and in general are not dependent on workflows. They react to various systems and issue events like changes to a field or when an issue has been commented on. You can also schedule or executed them manually. So this is also an important feature to better implement processes in Jira.
More important is the question of how best to guide a user when creating workflows.

#2 A clean interface

After you have a clear goal in mind, you start the implementation. What's helpful here is focus. Focus on the most important bits and pieces to configure your workflow function.
The configuration should be as straightforward as possible. However, this does not mean that compromises are made in terms of technical capabilities.
You should have all the important information and mandatory data at a glance. This does not mean that something is missing.

Only what is important at that moment is presented to you so that you can complete the configuration smoothly and quickly. Preferably by simply clicking and selecting. Everything else remains hidden from the eye, but only a click away when you need it. So these are our two main takeaways in regards to a clean interface:

  • Easy configuration for users of all levels of expertise
  • Focus on the important configurations in a context-sensitive user interface

#3 The right guidance

Nobody knows it all by heart and no one has to. That's okay and here's where any app should offer you some guidance. What do we mean by that?
It starts with a clear naming and description of the functions in the app. How should you configure your workflow if you do not know where to start?
So we need a clear structure, also a few explanations. But most helpful are usage examples that are available exactly where you need them. These serve as a step on the way to your final configuration.

How to implement more complex requirements in Jira workflows?

If things become more complex, you will work with more advanced solutions. These can be grouped into no-/low-code solutions like Jira Workflow Toolbox and scripting solutions. Scripting solutions mostly use Apache's Groovy language to operate. While this is a very powerful solution, it also has its price. It is definitely more difficult to start off with and even more difficult to master. But what are the disadvantages of writing scripts in Jira itself? The code will always be harder to comprehend when you read it. So it is neither easy to understand nor to write. Besides, scripts are error-prone when updating the Jira application and so need maintenance.

But what are no- or low-code solutions? Intuitive tools that make creating workflows simple. These solutions allow users with no formal knowledge of coding to implement even complex requirements.

For example, you use functions instead of writing code. The functions contain the logic and steps to return the desired result. And the best thing is that they are available to every user and are easy to understand. Before trying to return the sub-tasks of an issue with several lines of code, why not use a function like subtasks() instead? It is about making technical capabilities tangible and available to every user.

In a nutshell, the benefits of the no-/low code approach are:

  • Speed - you reach your goals faster.
  • Usability - it's is easier to create, read and understand. Custom workflows for everyone!
  • Simplicity - complexity is wrapped into a single function

You have only a small or no budget? No problem! We've picked out two free alternatives from the Atlassian Marketplace that will make your everyday work easier with a little bit of workflow magic:

This wraps up the challenges of working with workflows in Jira and how workflow management apps can support you in overcoming them. If you still have questions or suggestions, please contact us. Get in touch and let us know what you think. We are looking forward to the exchange.

Author

Mara Neumann
Marketing Manager

Social Share Buttons

Building better workflows in Jira

July 11, 2022
Building better workflows in Jira

What are the common challenges when it comes to workflows in Jira?

Atlassian Jira offers a customizable workflow engine and it's great for covering the basic needs of every team. Plus, workflows are a fundamental part of being successful in Jira. They represent how a team functions. Jira even comes with a small set of built-in workflows that can be used in your projects.

But what if that is not enough?

We recently celebrated the 10th birthday of our automation solution Jira Workflow Toolbox. On this occasion, we took a close look at the feedback from our users and customers and identified a lot of challenge. So we asked ourselves: How can we make working with Jira workflows much easier and more efficient for all users? How can we help to overcome those challenges?

Based on the feedback and our years of experience, we went to the drawing board and thought about what an app should offer so you can easily map your processes in Jira.
In this blog post, we take a look at Jira's workflow features, when a workflow app is reasonable and how it can support you.

What are Jira workflows?

The workflow defines the lifecycle of a Jira issue. The main components are statuses and transitions. A status defines in which phase of this lifecycle an issue is in. Transitions between statuses determine where an issue can progress to. But this is only the obvious side of the story. A lot of actions can happen in the background and are often invisible to the user.
Jira's built-in workflow functionalities satisfy most of the basic needs. Common use cases are:

  • change the assignee when transitioning an issue
  • set a resolution when an issue has been completed
  • restrict a transition only to the reporter of an issue

So much for a little refresher.

Why build custom workflows?

Jira workflows offer a few controls to automate your Jira issues to a certain extent.

  • Conditions - control who can see and perform a transition.
  • Validators - make sure a transition happens only when certain criteria are met.
  • Post functions - perform extra actions on issues after the transition happened.

Unfortunately, more complex requirements cannot be covered by the Jira standard. That's why 10 years ago Jira Workflow Toolbox was created as a product, at that time still a hobby and pastime, to fill these gaps.
But what are already more complex requirements? Here a few examples:

  • update a field in a linked task
  • create sub-tasks and copy field values from the parent
  • confirm that a due date is in the future
  • add a comment to an issue

Automating necessary work will help to reduce the workload for your teams and potential errors. Customizing your workflows is necessary to get the most out of Jira. So to speak, to make your work more efficient and to adapt the system exactly to the way your team works.

How can Jira workflow management apps support you?

Most of the heavy lifting is done with post functions. At least that is our experience as an app vendor and Atlassian Solution Partner implementing workflows for customers. The vast majority of workflow automation happens in post functions followed by validators.

#1 The needed functionality

You should make sure that any workflow management app comes with the feature set you need. In most cases, a quick look at the documentation is enough to get an overview. As an example, Jira Workflow Toolbox offers dozens of different workflow functions for each use case. Half of them are post functions for handling everything from creating issues, sending emails to transitioning other issues.

A handy alternative to post functions are automation rules. What you can achieve is pretty similar but the approach is different. Automation rules in Jira Workflow Toolbox and in general are not dependent on workflows. They react to various systems and issue events like changes to a field or when an issue has been commented on. You can also schedule or executed them manually. So this is also an important feature to better implement processes in Jira.
More important is the question of how best to guide a user when creating workflows.

#2 A clean interface

After you have a clear goal in mind, you start the implementation. What's helpful here is focus. Focus on the most important bits and pieces to configure your workflow function.
The configuration should be as straightforward as possible. However, this does not mean that compromises are made in terms of technical capabilities.
You should have all the important information and mandatory data at a glance. This does not mean that something is missing.

Only what is important at that moment is presented to you so that you can complete the configuration smoothly and quickly. Preferably by simply clicking and selecting. Everything else remains hidden from the eye, but only a click away when you need it. So these are our two main takeaways in regards to a clean interface:

  • Easy configuration for users of all levels of expertise
  • Focus on the important configurations in a context-sensitive user interface

#3 The right guidance

Nobody knows it all by heart and no one has to. That's okay and here's where any app should offer you some guidance. What do we mean by that?
It starts with a clear naming and description of the functions in the app. How should you configure your workflow if you do not know where to start?
So we need a clear structure, also a few explanations. But most helpful are usage examples that are available exactly where you need them. These serve as a step on the way to your final configuration.

How to implement more complex requirements in Jira workflows?

If things become more complex, you will work with more advanced solutions. These can be grouped into no-/low-code solutions like Jira Workflow Toolbox and scripting solutions. Scripting solutions mostly use Apache's Groovy language to operate. While this is a very powerful solution, it also has its price. It is definitely more difficult to start off with and even more difficult to master. But what are the disadvantages of writing scripts in Jira itself? The code will always be harder to comprehend when you read it. So it is neither easy to understand nor to write. Besides, scripts are error-prone when updating the Jira application and so need maintenance.

But what are no- or low-code solutions? Intuitive tools that make creating workflows simple. These solutions allow users with no formal knowledge of coding to implement even complex requirements.

For example, you use functions instead of writing code. The functions contain the logic and steps to return the desired result. And the best thing is that they are available to every user and are easy to understand. Before trying to return the sub-tasks of an issue with several lines of code, why not use a function like subtasks() instead? It is about making technical capabilities tangible and available to every user.

In a nutshell, the benefits of the no-/low code approach are:

  • Speed - you reach your goals faster.
  • Usability - it's is easier to create, read and understand. Custom workflows for everyone!
  • Simplicity - complexity is wrapped into a single function

You have only a small or no budget? No problem! We've picked out two free alternatives from the Atlassian Marketplace that will make your everyday work easier with a little bit of workflow magic:

This wraps up the challenges of working with workflows in Jira and how workflow management apps can support you in overcoming them. If you still have questions or suggestions, please contact us. Get in touch and let us know what you think. We are looking forward to the exchange.

Szerző

Marketing Manager

Megosztás