sample of a distributed workflow (here: epic/stories)
we solve your problems
Using JIRA Core, JIRA Software or JIRA Portfolio, you end up having hierarchies of issues. Generally, these issues are of different issue types having their own workflows and statuses. Nevertheless, there are points in time, sometimes named "quality gates", when the status of different issue levels should be synchronized. You can do this manually, but it is failure-prone and not effective. Just imagine the following scenarios:
- Scenario A: set status of EPIC to "in progress" if first user story is started (bottom-up I)
- Scenario B: set status of EPIC to "is developed" if all user stories are ready for testing (bottom-up II). Next workflow step of the EPIC may be "start integration test" automatically triggering the workflow transition "start test" of the related test-task by switching its status into "testing".
- Scenario C: set the status of all user stories to "canceled" if related EPIC is switched into status "canceled" in order not to spend more time and budget on this stories (top-down)
- other scenarios are possible to automate triggers
What it does
Easily add and configure new workflow post functions to synchronize statuses of linked issues, generally of different issue levels like epic and related user stories or parent issue and related subtasks or any user-defined linked issues. You can specify the direction (top-down or bottom-up) to determine the target being transitioned into another status by the configured workflow transition. Additionally, JIRA looks to all sibling (sub-)issues to determine "the last one" (homogenous status) if configured. As a lot of (sub-)tasks are running in parallel, you never know who will be finished at the end.
How I built it
I used JIRA's concept of workflow post functions to implement status-synchronization because of large enterprises and industries having to fulfill certain reglementary requirements like finance or healthcare: it is necessary to control and administrate standardized workflows for all projects, centralized. That even do not allow project administrators to modify project-individual settings.
Challenges I ran into
Issue hierarchies of parent/subtasks are internally using JIRA's issue linking, too. Epic/stories are implemented differently by Atlassian, which makes it necessary to distinguish both approaches but build the same mechanisms to synchronize.
Accomplishments that I'm proud of
"Do it right" and "do the right thing": focussing on simplicity and a clearly defined set of functionality but start from a business perspective and not from an IT point of view resulting in high business value like a simple dowel made out of plastic in order to solve many problems.
What I learned
Listen to customers and watch out for daily problems to find suitable business solutions.
What's next for Status-Sync for distributed workflows (JIRA)
Share the idea of solving business pain points and the add-on implementation details with my team (company internally) to ensure the best support to customers.