Hello everybody,
our external consultants help us to improve our practices as a development team.
We used to have a pretty simple jira scrum board.
The consultants advise us to create two additional boards
- a requirements-kanban-board for requirement gathering and refinement until they are "sprint-ready"
- an acceptance-kanban-board for review of developed changes.
Both kanban boards are shared with productowner and stakeholders.
I think that is a good idea.
I immediately saw two possible approaches:
- (1) additional issuetypes "requirement" and "acceptance", with their own workflows, automatically managed by their respective kanban-board. In requirement-done we build a linked development issue. In development-done we build a linked acceptance-issue. This is done using transitions, that don't alter status, but start a groovy script, cloning the issue into the issuetype of the next board.
- (2) One giant workflow, flowing the issue through all three boards in order:
- requirement (kanban)
- development (scrum)
- acceptance (kanban)
My team urged me to try the approach 2. Seemed to be easier, less issues to handle.
I tried to object, seeing approach 2 as a mis-use of jira, with all kind of problems resulting. I failed to convince, as I couldn't pin-point the problems to expect.
So, I try to develop using approach 2.
Steps so far:
Built a big workflow, built the boards.
Normally, jira-boards manage a simplified workflow automatically, directly resulting from the statuses it displays. I could not use this feature, had to handcraft a workflow with three partitions of statuses for each board, all statuses of one partition having transitions to all statuses of the same partition, and then single transitions from the last status of one board to the first status of the next. No joy, but managable.
I filtered the boards, only including issues in statuses belonging to the respective board.
Issues reaching their last column in requirements-board are transitionend to scrum-backlog.
When a scrum-sprint is done, finished issues are transitioned to the acceptance-board, manually by jql/bulk-change (I plan to automate this lateron by a scriptrunner-listener reacting to sprint-done-event.)
The first real problem I stumbled into was the resolution-field: Every issue can have only one resolution, so I would have to set resolution in the last column of the development-board, as sprint-logic depends very much on it.
So the following acceptance kanban-board has to deal, right from its first column, with issues already resolved. Kanban-boards do hide long-resolved issues, 2 weeks by default. Of course we don't want to hide the issues here, as from the view of the acceptance-process, they are not resolved at all. But if we switch hiding off altogether, every issue is displayed, even the ones, that are "really" long done.
We could of course just clear issue-resolution on entering the acceptance-board, but this messes up scrum-statistics of past sprints in the development board.
I feel more problems coming, but still can't really point them out specifically.
So I'd like to ask:
- Has anyone of you worked with a similar kind of setup?
- Are there other reasons to see approach 2 as a mis-use, which should be avoided?
- Or is approach 2 feasible and what should I consider going further?
Thanks for reading!
Background: We use Jira Server. We have adaptavist scriptrunner and can automate repetitious tasks if needed.
Best regards
Axel