“Align JIRA to your process“ is more than a slogan. It is an objective that we are trying to reach with Minyaa Suite for all our clients. Since Minyaa 2.0, a new Workflow Designer allows you to create more easily Workflows using a graphical tool and giving the ability to use some unreachable features provided by OSWorkflow, library used by JIRA to manage workflows. When you open JIRA for the first time, you discover the generic workflow :
- 5 Steps : Open, In Progress, Resolved, Closed and Reopened
- 7 Transitions : Create Issue, Start Progress, Stop Progress, Resolve Issue, Close Issue, Close (Resolved) Issue and Reopen Issue
Using the default Workflow Editor (HTML based), you see them as demonstrated below:
There are 2 Close Issue transitions, but when you try to produce the same Workflow using the default editor, you are not able to create 2 transitions with the same name. There are 4 transitions reachable from different Steps, but always trying to do the same with default editor, you are not able to reproduce it. After reading JIRA documentation and different JIRA Community contributions, you will discover that you have to use XML language to reproduce the default JIRA Workflow! If you open the default JIRA Workflow with Minyaa Workflow Designer, you will obtain the view below:
You will have a better view of existing interactions between the different Steps and Transitions. Many companies consider JIRA as an inexpensive tool to implement workflow for some of their processes … Fine ! But their processes are not always simple ones, and by using the default JIRA Workflow Editor, some of them may obtain something incomprehensible as showed below:
Edited with the JIRA Default Workflow Editor, this workflow needs more than 5 pages of your Browser ! Even when edited with the Minyaa Workflow editor, this workflow is still too large to be used easily. This Workflow has 28 Steps and 141 Transitions … an XXL Workflow ! If we take a deeper look inside this Workflow, we will be able to identify some Transitions candidate to be defined as Common Transition or perhaps as Global Transition, and/or qualified as Recursive Transition, but also some exotic practices :
- 20 Cancel Transitions to step Cancelled :
- 4 allowed to all Users
- 1 reserved to the Reporter + Screen
- 1 reserved to the Reporter or Project Roles (10002,10031)
- 14 reserved to Project Roles (10002,10031)
- 6 Reject Transitions to step Rejected :
- 1 reserved to the Reporter or Project Roles (10002,10030,10031)
- 4 reserved to the Reporter or Project Roles (10002,10031)
- 1 allowed to all users
- 12 Request More Info Transitions
- 1 reserved to the Reporter or Project Roles (10002,10030,10031)
- 11 reserved to the Reporter or Project Roles (10000)
- 6 Transitions to step Deployment – Pending Info
- 5 Transitions to other different Steps
- 9 Edit Transitions (All recursives)
- 11 Put on Hold Transitions
- 18 Enter Info Transitions
- 6 Transitions from Pending Info (each of them with a condition to return to previous step), but Pending Info is never reachable (It appears that it was an aborted try!)
Deployment - Upload Verification com.innovalog.jmwe.plugins.conditions.PreviousStatusCondition yes
- 6 Transitions from Deployment – Pending Info (each of them with a condition in order to return previous step)
- 6 Transitions from different step, always returning to previous Step
- 4 Activate Transitions
- 2 Transitions are strictly identical
- 2 Transitions differs just by a Post-Function
- 13 Reschedule Transitions
As you see, most of these 93 Transitions may be assumed duplicated. When you have to define complex workflow, JIRA allows to create Step Transition only, and not Common Transition. Editing workflows with XML may allow you to use Common Transition, but in this current example, the associated XML file has more 6000 lines ! Minyaa Workflow allows to declare Common Transitions, Global Transitions and qualify them as Recursive Transition, without using XML syntax. To be honest, Minyaa Workflow Designer (developed in Flex) has encountered its current limits with this workflow when we tried to refactorize it. We will have to enhance its performance. But in order to see what this workdlow would be, if it was created directly with the Minyaa Workflow Designer, its re-factorization has been done manually through XML. We are obtaining the following Transitions :
- 4 Cancel Transition
- 3 Reject Transition
- 7 Request More Info Transition
- 1 Edit Transition qualified as Recursive Transition
- 1 Put on Hold Transitions
- 1 Enter Info Transition with the Post-Function : Back to Previous Step
- 3 Activate Transitions (potentially only 2)
- 1 Reschedule Transitions
Just by using Common Transition and the Back to Previous Step Post-Function provided by Minyaa Workflows (release 2.1), the workflow has now 60 Transitions (21 Common Transitions) and 22 Steps. It is now a XL Workflow.
The above screenshot is excruciatingly painful to read… From 93 Transitions identified as possible duplication, there are now 21 Common Transitions. Links from Transition to Step have been reduced, but there are still many links from Transition to Step. With the current workflow, most of the new Common Transition are not in the Nominal Scenario : Cancel, Reject , Request more Info, Enter Info, Edit, Put on Hold. Then, you are able to hide Links from Steps to Transition …
I hope you do not have to design workflow as complex as this one, but I imagine that you do not have time to invest in learning the XML syntax for OSWorkflow library. Like the default Workflow Editor, with Minyaa Workflow Designer, you will be able to :
- Clone a Workflow or Create a new one,
- Create Normal Step and Step Transition
- Configure all Transition with Condition
- Validator and Post-functions
Still unable to associate a Screen to your transition! But also, you will access more features provided by OSWorkflow and be able to :
- Move Step Transition as Common Transition,
- Move Common Transition as Global Transsition,
- Move Global Transition as Common Transition,
- Detach a Step from a Common Transition,
- Qualify any Step, Common or Global Transition as Recursive Transition,
- Link a Step directly to a any Step or Common Transition
- Link a Step to itself and also create a Recursive Step Transition
- Have unused Common Transition
- Use some special Worflow function provided by Minyaa
- See your workflow in a graphical interface (It is always more easy to present)
- Also create a Snapshot of your Workflow for documentation …
Download a 30 day Trial for Minyaa now and discover Minyaa Workflow Designer. You can now design the workflow needed by your business, and do not let a workflow design your business ! Your feedback is welcome to enhance the Minyaa Workflow Designer capacities. Note : The re-factorization presented above was done using Minyaa 2.1