A Kanban and Scrum workflow with JIRA Agile

A Kanban and Scrum workflow with JIRA Agile

JIRA Agile has come a long way from the days of the GreenHopper plugin. It’s now pretty well integrated into JIRA and I’ve found it great for running an Agile workflow.

JIRA Agile supports both Scrum and Kanban boards so you can manage your tickets using whichever methodology you prefer but what if different parts of your team want or need to work in different ways? With JIRA Agile you can have multiple boards so tickets flow through different teams in different ways.

Maybe your developers are using Scrum with week long sprints. They want a standard Scrum board where they can take tickets from the To Do column, move them into In Progress when work starts and then to Done when complete.

But perhaps weekly sprints don’t really suit the planning workflow of your product team. They would prefer to use a Kanban approach of managing their work in progress.

Ideally we want to be able to create tickets on the product team’s board and move them into the developers’ board when they are at a suitable stage of readiness. By mapping statuses you can have a kind of combined Kanban/Scrum process.

Product Board

This is a Kanban board with 5 columns: Backlog, Requirements, Ready for development, Test and Ready for release. Each column is mapped to the following respective Statuses: IDEA, REQUIREMENTS, TO DO, RESOLVED and CLOSED. The IN PROGRESS status is left unmapped so tickets in this state will not show up on the board.

The product team can work on tickets in the Backlog and Requirements phases before moving them to the Ready for development column which will cause them to show up in the Development Scrum board (as we will see).

Once the developers have completed a ticket it can be moved into the RESOLVED state and it will then reappear on the Product board in the Test column. When the product owner is happy that the requirements have been met it can be moved to the Ready for release column.

Development Board

This is a Scrum board with the standard three columns: To Do, In Progress and Done. Some tickets may not need to be sent back to product for review and can be closed directly so the Done column has both RESOLVED and CLOSED statuses.

Scrum Board
Scrum development board

When planning a sprint, the Development board will only show those tickets with a status of TO DO in the backlog. Tickets that are still being prepared by the product team (IDEA and REQUIREMENTS) are left unmapped so won’t show up until they are ready to be scheduled into a sprint. Once a ticket is moved into the RESOLVED state it will reappear on the Product board.

By combining Scrum and Kanban boards you can create a hybrid workflow that better suits the needs of the people actually working on the tickets. You don’t need to force everyone into a single way of working.



6 thoughts on “A Kanban and Scrum workflow with JIRA Agile”

  • Great stuff. Any advice for how to break down larger stories into smaller ones within Jira? I’ve used a workflow very similar to this that adds in decomposition of stories in Kanban; you start with large, non-specific stories, and work them across the board to break them into smaller ones in preparation for scrum (production).

  • That does sound similar. As far as splitting up tasks goes, you can use subtasks in JIRA but personally, I prefer to stick with top-level tasks + links as required.

    If you find you have a large, poorly defined ticket and you want to refine it in a scrum workflow maybe you could turn it into a task to define the actual smaller tickets to achieve the larger story.

  • Hi David,

    Thanks for this write-up. We are trying to do something very similar. However, we are having some issues. I am wondering what the workflows look like for this to work? Can you please provide more details?

    Thanks!

  • Ravindra, the JIRA workflows don’t really matter as long as the tickets are allowed to move between the statuses in the life cycle. It’s easier if tickets are allowed to be moved to any status from any status. The important part is mapping the statuses to the appropriate columns on your boards. I would suggest you decide the full life cycle of a ticket across all the boards and then map each status in that life cycle to the board you want it to appear on. So in this case, our tickets have the following status life cycle: IDEA -> REQUIREMENTS -> TODO -> IN PROGRESS -> RESOLVED -> CLOSED. You then map the appropriate statues to the appropriate boards and they will appear/disappear as they move through the life cycle.

  • Hi David, wanted to bounce something off you … I hate sub-tasks but we use them at work for our scrum work … I like this multi-board idea and could see it working for us … however, there is one use case that comes up from our management as to why they want to use sub-tasks and that is around the area of Test Prep and Testing across both automated testing and manual testing where there could be two different testers involved … what management want is to see that a tester is working on the Test Prep even whilst the Dev is doing their part – i.e. the tester isn’t waiting around …
    I too haven’t been able to come up with a single main task with some type of multi-board, multi-user flow that would work … so was wondering if you have any wonderful insights into this …
    The only argument I have come up with so far is that Test Prep should be done before dev as part of refinement and doing SPE work … but that hasn’t won management over to my side yet …

    thanks
    Kermie

Leave a Reply

Your email address will not be published. Required fields are marked *