I have several teams which prefer Testing First approach, and several with Code Review First approach.
We have workflow (for several reasons) with 16 steps.
But this two approaches the rest of workflow is the same.
I'd like to have one JIRA workflow, with both "branches".
I would like to avoid situation with many workflows. As with growing customizations, number of workflow is rising exponentially.
Is it possible to somehow parametrize workflow to select one possibility for issue type and project ?
I know you can't add same status more than one time in the workflow.
So i was thinking to solve it via checks from transitions.
Something like:
1. Set this instance to be Testing First
2. When issue is Implemented and this is Testing First enable transition To Testing.
3. When issue is Tested and this is Testing First enable transition To Code Review.
This is diagram of the concept.

What is best approach ?
But, I don't know what is the best practice. As many workflows as team needs ?
What about propagating changes through many workflows ?
What about Workflow versioning, as it's impossible to have git as worflow storage .
We can use JMWE and Script Runner.