Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Using Jira and OKRs to Streamline Progress and Maximize Results

DZone 's Guide to

Using Jira and OKRs to Streamline Progress and Maximize Results

Check out how this team uses Jira and Gtmhub to create, share, update, and automate their OKRs for a more efficient process.

· Agile Zone ·
Free Resource

A common question is how to tie the Objectives and Key Results (OKRs) process that is designed to maximize productivity and performance with Scrum. This applies to any team using Jira, but particularly engineers.

At Gtmhub we are passionate about Objectives and Key Results, but we also build software every day. We are using Scrum methodology and we manage this in Atlassian's Jira.

In this post, we'll go through how we use OKRs and Jira together seamlessly for best results.

Why Use Scrum and OKRs?

First, people often ask us why we use both Scrum and OKRs – aren’t those just the different ways to do the same thing? We think objectives and tasks are two very different things. To illustrate this, here is an example of an actual OKR we set.


Objective: Become data-driven about customer success

The objective was to become data-driven about customer success. As you can see from the screenshot above, Damyan is supporting our company objective to make our customers successful through his OKR to become data-driven about customer success. There are two key results which measure the success of this objective and one key result which puts a constraint in terms of investment. The important thing to notice is that we don’t say anything about how this objective will be achieved. We could use purpose-built customer success software, we could outsource this to someone, we could build it, we could use Google Sheets. The point is that we as a team don’t really care about how we become data-driven about customer success, but only that we indeed become data-driven.

So, Why Do We Use Jira?

Once we have established what we as a company need, it is time to plan the actual effort to achieve this objective. In the case of this particular OKR, Damyan has decided that one of the health metrics (remember, there are 20 that we want to keep track of), should be active OKRs per paying user. Moreover, he has decided to track this metric using Gtmhub SQL insights.


JIRA story for customer health metrics key result


With this, we have an actual effort defined that will help us achieve our objective. We think of OKR components in terms of questions they answer:

  • Objective – What is it that we want to accomplish?
  • Key results – How are we going to define success?
  • Effort – What are we going to do about it?

So, we use Gtmhub to manage Objectives and Key Results and Jira to manage the effort and tasks required to achieve them.

How We Make It Work Together Seamlessly?

You may think that our approach is reasonable – but that in practice it may take too much overhead to manage. Typically, it would. But this is why we have built Gtmhub.

We hate bureaucracy just as much as the next guy.

That’s why our solution allows engineers to work with OKRs from Jira and everyone else to see how well the effort is going from Gtmhub. And also, our engineers don’t have to update their OKRs – this is done automatically by pulling data from Jira.

Attaching JIRA Issues to OKRs

The first thing we want to make sure is that our engineers don’t have to switch context. So, for example, when Damyan is planning his sprint in JIRA he uses Gtmhub OKRs JIRA plug-in to easily link the issue with his OKR.



Once the issue is linked with the OKR, Damyan will also be able to see the progress on the OKR right within Jira, without needing to switch to Gtmhub.

Tracking Effort Progress from Gtmhub

Just as engineers work in Jira, the rest of the team typically stays away from it.

That does not mean that we don’t care how well is the effort progressing on any given OKR. When one uses the Gtmhub OKRs Jira plugin, all the issues that are attached to an OKR will also appear in Gtmhub next to respective OKR under the section effort.

So, for example, we can easily see that Damyan has created 23 issues in Jira for this particular OKR and that he has already completed 11 of them. In addition to this, we can see the list of all issues and their current status.

JIRA stories and epics in Gtmhub OKR

We think that transparency, especially between different functions within our company, is super important. But, we also don’t want to add overhead in form of parallel reporting. So, this is how we solve this issue.

Updating the Key Results

In the OKR I’ve used as an example, you have seen that one of the key results is to track 20 customer success metrics.

By now, I think it’s pretty clear, we don’t like to do repetitive, mundane tasks. So, here is how we use Gtmhub to automate this OKR.

Gtmhub can connect to over 150 business systems – and Jira is one of them. We can extract any type of metrics from these systems and then attach those metrics to our OKRs.

Attaching the number of done stories with cs-metric label as a key result


So, what we do here is simply filter the issues coming from JIRA that have label “cs-metric” (you will remember seeing this in the Jira issue) and use this to count how many CS metrics are we tracking. Every time someone moves such story to Done in Jira, our Key Result will be updated.

Summary

At Gtmhub, everything is a function of our OKRs. The roadmap, sprints, tasks…all of those depend on what objectives we have set ahead of ourselves.

As we are a software company, we use Agile Scrum methodology – but the stories and epics we log in those, always need to have a backing objective. This is how we fight the “feature factory” and “did it because I could” effects.

Topics:
productivity tools ,jira ,performance management ,agile ,okr ,scrum

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}