Like many software development teams, we follow weekly (sometimes bi-weekly) sprints. This essentially means at the beginning of every week, we pull the work items from backlog and plan the work for a given sprint and deliver them by the end of the week. We use JIRA to manage our project.
What Exactly Is Jira?
Jira Software is part of a family of products designed to help teams of all types manage work. Originally, Jira was designed as a bug and issue tracker. But today, Jira has evolved into a powerful work management tool for all kinds of use cases, from requirements and test case management to agile software development.- Atlassian.com
How Do We Work on Jira?
For every project, we have 5 states:
- Open Stage
- Progress Stage
- Review Stage
- Resolved Stage
- Closed Stage
Let's review them in detail:
1. Open: This state means that the work item is planned for the sprint, but it's yet to be worked upon.
2. In Progress: This means that the item is being worked upon by a team member. The ticket is automatically transitioned to this state as soon as a developer creates a feature branch for the ticket. We use Gitflow branching model and use Hubflow to create feature branches. I will talk a bit more about how the automatic transition happens when a branch is created later in this article.
3. In Review: This means that the team member has finished writing code and has completed testing it and raised a pull request for other team members to review. The ticket is automatically transitioned into this state as soon as a PR is raised.
4. Resolved: This means that changes are checked in and are available for the product owner to test, review and give feedback. The ticket is automatically transitioned into this state as soon as the pull request is merged.
5. Closed: This means that the product owner has reviewed the product changes and is happy with the changes. This also means that the ticket is ready to be deployed to production. Product owner manually transitions the ticket from Done to Closed state.
Setting Up an Agile Workflow in JIRA
What is an agile workflow?
Agile workflow is an iterative method of delivering a project. In Agile, multiple individual teams work on particular tasks for a certain duration of time termed as 'Sprints'. “AgileWorkflow can be defined as the set of stages involved in developing an application, from ideation to sprints completion”.- Edcuba.com
Creation of Workflow in Jira
You can create the workflow in JIRA by going to https://<YOUR_WORKSPACE>.atlassian.net/secure/admin/workflows/ListWorkflows.jspa. This is how our workflow in JIRA looks like.
Setting Up Automatic Transition in JIRA
Now, in order to create an automatic transition, you need to create triggers. In order to do that, you first need to
1.link your project to source code repo. (We use GitHub)
2.So go ahead and link JIRA to your Github.
3.Go to dashboard -> JIRA Settings -> Apps -> Find new Apps.
4.Search for GitHub and install Github for JIRA (first one) as displayed in the screenshot below.
That's it. Once you link your organization, now head back to the workflow you created.
1. Find the transition In Progress and add a trigger to it - Branch Created
2. Find the transition PR Raised and add a trigger Pull request created.
3. Find the transition PR Merged and add a trigger Pull request merged.
4. Find the transition Rework and add a trigger Branch Created.
That's it. Your workflow is now ready to be used in your project.
Using Agile Workflow in The Project
There are two steps you have to do in order to use Agile workflow in your project:
1. Associate the workflow with each issue type: Go to your Project -> Project Settings -> Workflows and associate the Agile workflowSetup the board.
2. Go to Active Sprints -> Top right (...) -> Board Settings. Now map each stage of your workflow to a column as follows:
And you are done.
What’s the biggest thing you’re struggling with right now that we as a technology consulting company can help you with? Feel free to reach out to us at firstname.lastname@example.org. We hope our assistance will help!