9 Tips for Getting Action in Jira

A Jira issue was created, but its been a week and you’ve heard nothing.  The issue hasn’t been updated and you can’t tell if anyone’s seen the issue, triaged it, started work, or done “something” to get it addressed in the near future.  Does this sound familiar?

When issues stagnate, it may be because the needed expectations haven’t been set.  Leadership needs to make sure overall Jira engagement and Project Leads need to play a large role in triaging and managing issues in their individual projects.  Here are 9 tips for setting the right expectations and getting users to take action in Jira.

1. All work is logged in Jira

  • It is hard to track initiatives, capacity, and resource allocation when work is stored in multiple systems.  Strive to decommission old systems and banish low tech tracking methods like spreadsheets and Post-it notes.  You need “one source of truth” for everything teams are working on.
  • In meetings, emails, and chats about tasks, encourage users to provide the Jira issue ID for the item they are discussing.  Repeat the phrases “Which Jira issue are we talking about?” and “If it’s not in Jira, it’s not real!” it becomes reality.

2. Users login to check their issues at least once a day

  • A tool is just a tool.  It takes human action and engagement to make it work in your organization.  If users aren’t regularly logging in, they are missing what is going on around them.
  • Make sure users are proactively logging into Jira to review issues created and assigned to them.  Waiting around for Jira to send email notifications is reactive.  Jira info in email quickly becomes out of date.  Email should be treated as supplemental information and never be the primary engagement method.

3. The “Assignee” takes action

  • Each issue has an assignee.  The name in that field is the person who needs to take action.  If the name is incorrect or reads “Unassigned”, it’s easy to reassign the issue to the correct person.
  • Other users should feel empowered to update or correct issue data, even if they are not the current assignee.

4. The “Reporter” is ultimately responsible for the issue

  • You cannot create an issue and walk away, expecting the issue to champion and remedy itself.  The “Reporter” is responsible for the issue from conception to completion.  If the reporter is no longer the responsible party, it’s easy to update the issue to the correct person.  And don’t worry – Jira keeps a record the original creator in a separate field.

5. Share the assignment strategy

  • There are many ways issues get assigned in Jira.  Each project has a default assignee setting.  The default assignee can either be the Project Lead, or it can have a value of “Unassigned.”  The former is typically used when the team lead will triage issues and assign them to the correct team member.  The latter is sometimes used when the whole team is expected to review the issues and assign the ones they can work on to themselves.
  • Additionally, there’s a third assignment strategy, using Components.  Each Component can have its own lead and issues can automatically be assigned to that person.  For example, James does all the contract work for the Legal team.  When an issue is created in the LEGAL project, any issues where the “Contracts & Agreements” component is selected will be automatically assigned to James.
  • Finally, avoid the trap of assigning issues to a generic Jira user, like a user named “Legal Team”.  It’s often true that if an issue is assigned to everyone, it’s assigned to no one.  How are issues assigned in each project in your organization?  Make sure users know so they know how to act.

6. Utilize issue views

  • Jira provides many ways to users to see issues.  All users should know how to login and go straight to the Default System Dashboard.  This serves as a good starting place to see recent activity and issues assigned.  The Jira administration team can further customize the default dashboard to add elements to make it even more useful.
  • Users can also create their own custom filters, filter subscriptions, dashboards, and boards.  Encourage each team or department to have a dashboard or board they share and monitor regularly.  Users can bookmark or “favorite” these locations to make them easy to return to.

7. Use statuses, backlogs, versioning, and dates

  • Statuses, backlogs, versions, and dates all communicate when an issue will be addressed.  Each issue’s status must reflect reality.  Users need to transition issues forward in the workflow as they work them.  Completed issues must reach the “Closed”, “Done” or similar final status.
  • Every Jira project should have a backlog – a place to put issues not addressed immediately.  If a team member finishes work early, encourage them to review the backlog, to see if an issue can be accommodated earlier in the schedule.
  • If an issue is not in the backlog, it means it is being actively worked.  Development teams should utilize the “version” functionality to assign issues to a specific release target.  Non dev teams can also leverage versions.  Example:  A Marketing team has a version called “Q1” representing all the work targeted for January through March.
  • Used a custom field (Example: Requested Date) to collect the issue’s proposed completion date.  Use the “Due Date” field to indicate when an issue will actually be completed or released.
  1. 8. Tag users, share issues, and add watchers
  • To get a user’s attention, tag them in an issue’s “Description” or “Comments” field.  Use the “@” symbol to mention a specific user.  They will get an email about the mention.
  • Need to alert someone to an issue?  Use the “Share” button at the top right to send them an email.
  • Add yourself or a colleague to the issue email update notifications by making them a “Watcher” of any issue.
  • Again, emails are often lost, delayed, or out of date by the time they are read.   Users should always login to Jira for real-time information.

9. Check progress in team meetings, standups, and scrums

  • The key to success is communication.  Each team meeting should include a discussion of what’s being worked now and what’s being worked next.    Launch Jira in your meeting and review the issues on the team dashboard.  Take the time to discuss any unassigned issues in your Jira project and regularly groom your backlog.
  • Team leads need to regularly monitor their Jira project and follow up on stagnant issues.

The key to Jira success is engagement, setting expectations, and regularly monitoring issues.  All users should feel empowered, be proactive, update issues, correct information, and contribute to the health of the application and its data.

What are your tips?  Share them in the “Comments” section below.

Bringing FY2018 to a Successful Resolution in Jira

Everything must come to an end.  One could say that FY2018 is about to reach its resolution.  (I’ll let you decide if want to mark it off as Fixed, Won’t Fix or simply Done.)  The end of the year is a traditional time for stock-taking as we prepare for a fresh new start.  You can apply that to your Jira application as well.

Cleaning Up Your Jira Application

Use the end of the year as an opportunity to check for and clean out stagnant Jira assets.  Sometimes projects get abandoned instead of being properly closed out.  This can happen when the organization’s priorities change or when teams reorganize.  Sometimes an initiative that was tracked in Jira is completed and teams who are anxious to carry the momentum into the next project may forget to close out the previous one.

In the Jira Strategy Admin Workbook, Rachel Wright offers several ways to hunt down stagnant Jira projects.  You can use the Project Status worksheet, available in the ProForma template library, to comb through your projects and identify ones which should be archived. 

While you’re doing the high level assessment and clean up, you can encourage Project Leads to take a look at their active projects and see if any clean up needs to be done there. Rachel recommends checking for things such as:

  • Accurate and useful components (and component Leads)
  • Unreleased versions
  • Stagnant issues (haven’t been updated in x days)
  • Unassigned issues
  • A neglected backlog
  • An accurate listing of team members

This is also an opportunity to see if any adjustments (big or small) should be made to make the system more helpful.  Are the filters, boards and dashboards useful?  Could they be more useful if you made a few minor changes?  Does the project configuration still fit the team’s needs?  Are there any customizations that the team would like to have?  Any painful processes that could be eased with the addition of the right app/plugin? Now is a good time to take a look.

What You and Jira Accomplished this Year

Year end is also an opportunity to compile and analyze a few statistics on how Jira is used within your organization.  In fact, regular and thorough documentation will not only demonstrate how important Jira (and therefore the Jira support team) is to your organization, it will help you predict future needs. In addition to an Annual Report form,  Rachel has also created a Jira Use and Future Predictions worksheet which will help you document Jira usage over time.

Expanding Jira to Business Teams

While you’re making those predictions, consider whether Jira could benefit more teams in your organization.  Many companies use Jira or Jira Service Desk not only for software or IT support, but also to manage HR, finance and facilities related processes.

Expanding Jira to other business teams doesn’t have to be an administrative nightmare.  The simple addition of forms, available through the ProForma app, means that teams can customize their processes and collect exactly the data they need without requiring new issue types, hordes of custom fields, or special configurations.  You can actually simplify Jira administration even as you’re bringing more teams into Jira.

Jira Strategy Admin Workbook Kindle Edition

The Jira Strategy Admin Workbook is available in Kindle format!  Now you can set up, clean up, and maintain Jira on the bus or on the beach!  No need to carry a heavy, 296 page, textbook around.

Get the Jira Strategy Admin Workbook in three formats:

Already have the Print?  Add Kindle or Digital for $2.99!

The book is part of Amazon’s MatchBook program.  Purchase the print version (sold and fulfilled by amazon.com) and get the Kindle version for only $2.99.

Steps to Redeem:

  1. Login to your Amazon.com account
  2. Visit the MatchBook page
  3. Scroll down to “Your Kindle MatchBook titles” as shown below
  4. Click the “Get Kindle Edition” button

No Kindle device?  Add the digital version for $2.99.

Steps to Redeem:

Email a photo of you and the book to:  info@jirastrategy.com.  Bonus points for photo creativity!  We’ll email you a code to discount the digital version to $2.99.

How to Conduct a New Jira Project Team Interview

The best way to understand how a team operates and plans to use Jira is by interviewing the team lead.  Here’s how to conduct a good initial interview.

Interview Objectives

The application administrator should uncover and understand the following:

  • Is a new project needed or can an existing project be leveraged?
    • Example:  The Email Marketing Team wants to use Jira.  Can they use the existing Marketing Team’s project or do they need a separate project (special configuration) of their own?
  • What are the reporting requirements?  What data points are important to track?
  • Are new schemes or assets needed?  (Ex:  a new custom workflow, a custom field, etc.)
  • Who will maintain the project-level settings, serve as the primary contact for all project related questions, triage and monitor issues, and groom the backlog?

The requestor or team lead should:

  • Understand, at a high level, the type of problems Jira can solve
  • Receive answers to any “can Jira do X” questions
  • Provide an example of a common request and how the team completes work

Best Practices

   DO

  • Keep the conversation high-level.  This is an info collection meeting, not a Jira demo.
  • Listen more than you talk
  • Learn the team’s process for a typical initiative
  • Collect team reporting goals and specific data to track
  • Choose terminology wisely.  For example, a “project” is a collection of issues to a Jira administrator, but a “project” is something to work on to a team lead.

 DON’T

  • Demo Jira.  This is a fact finding session.  Concentrate on listening, not clicking around Jira or hosting a “show and tell.”
  • Lose focus or discuss low level topics.  This is not the time to ask:  What is your version number format?  What board column will status X map to?
  • Use industry or “Jira jargon” that’s unfamiliar to your audience
  • Discuss methodology.  Jira can support any or no methodology.
  • Click around the Jira application admin area.  This is confusing and extraneous info for non application admins.

Interview Questions

 Download the “Worksheet:  Jira New Project Interview” at:  jirastrategy.com/link/project-interview.

Next Steps

  1. Identify a team to onboard to Jira.
  2. Interview the team lead to see how Jira might help them track their work and automate manual tasks.
  3. Create a basic Jira project to get the team started.  The project can be enhanced or further customized as the need arises.

Application Review: WatchTower

Imagine being able to view issues from multiple Jira applications on one board.  WatchTower does that easily.  You can view issues and use familiar board features (swimlanes, JQL, and dragging issues to update status) without logging in to multiple Jira applications.  I wish I had know about this add-on sooner!

Author Rozdoum
Marketplace URL https://marketplace.atlassian.com/apps/1217469/watchtower-one-board-for-multiple-jiras
Compatibility Server and Cloud
Version Tested Version 1.2.2, Released 2018-05-08
Tested With Jira Server 7.7.1, Jira Server 7.9.2, and Jira Cloud
Test Date May 23, 2018

First I installed the application in my Server instance.  It was very easy to install and configure.  In minutes I created a new WatchTower board and saw issues from my Cloud instance from inside my Server instance.  From the board, I was able to launch an issue in its source application and update it.  Then, I refreshed the board and the changes were visible immediately.

Two Source (Server + Cloud) Board

In the example screenshot, there are two issues from the “HR” project in my Server instance, and 5 issues from the “DEMO” project in my Cloud instance.

It’s easy to create a new board and add a remote source.  Simply enter a source name and any display preferences.  Then enter your source URL, credentials, and a JQL query to pull the desired data.  Use the handy “Test Connection” button at the bottom to verify your credentials are correct and issue data was found.  Read more

Top of “Add source” overlay

Bottom of “Add source” overlay

I also installed the application in my Cloud instance to test another scenario.  I added the current Cloud instance as a source and also a different remote Cloud instance.  Everything worked as expected from within Cloud.

Two Source (Cloud + Cloud) Board

In the example screenshot, issues are displayed from a Cloud instance named “DEMO” and another Cloud instance named “JA.”  You can name the instances anything you’d like.

I love that you can display issues from only remote sources or from both remote sources and the application you’re using.  It’s great to see a subset of data, a full picture, or to do a comparison.

The add-on is fully documented, but unless you’re new to boards in general, you probably won’t need much configuration or use help.

Use Cases

Here are some ways the add-on helps:

Companies with Multiple Instances

How does a company end up with multiple Jira applications?  Actually, it happens more often than you’d think.  Consider the following:

  • A company acquires another company that has their own set of Atlassian tools
  • A team decides “try out” Jira not knowing other teams already use it
  • One team needs a public instance for customer support, however, other teams need their data inside the firewall

I once worked with a company that had 4 instances!  The goal was to eventually merge them together, but that’s never a quick task.  So how do you give users visibility while waiting?  Whether your end goal is to merge or not merge, having a tool that can help you connect instances is a big help.

Migration Testing

Let’s say you’re working on a Jira merge.  This plugin can help you verify that the data you expect from the source application actually exists in the destination application.  Simply create one board and query for the same data in both applications.

Consultants

This functionality is especially useful for consultants, like me, who regularly work in multiple Jira instances at once.  For example, I track most of my work in my own Jira instance.  Sometimes a company I’m helping assigns an issue to me in their Jira instance, which is perfectly understandable.  Now, I can see all my issues in one place.

Additionally, I store my work tasks in a Server instance and my personal tasks in a Cloud instance.  I do this to separate my different roles and also because it forces me to be aware of changes in each application type.  Now I won’t have to log in to my secondary Cloud instance as often.

Impressions

The WatchTower boards don’t have the Atlassian board feature where you click an issue and details appear to the right of the board.  See screenshot.  But to be honest, I never loved that abbreviated display.  If I want to see issue details I prefer to open the normal issue view page.  That’s the way WatchTower handles it.  Click on an issue ID and the issue opens immediately in a new window.  You can log work on a remote issue directly from the WatchTower board however.

Sharing

Sharing Settings

There are three sharing permissions.  “Browse Board” allows the listed users to view the board and do nothing else.  “Work on Issues” allows users to view the board, log work, and add a work description.  “Transition Issues” allows users to do everything previously mentioned plus change issue status.  This additive behavior was confusing to me at first, but once you know that “Transition Issues” includes the permissions from other levels, it makes sense.  It doesn’t appear that you can grant sharing permissions to groups of users.

One thing to be aware of:  any actions will be logged in the remote system as performed by board owner.

Performance

The WatchTower boards are a little slow to load, but so are regular Jira Scrum and Kanban boards.  Atlassian is making incremental performance improvements on their end.

TIP:  Speed up your boards by limiting their scope.  Use JQL to pull in just the relevant issues, not all project issues.  Definitely filter out issues in “Closed” or “Done” status.

Since performance of any type of board is typically slow, I conducted the following unscientific test.  I created a test Jira Software project and loaded it with sample Jira data, which included a 4 column Kanban board and 10 issues.  I created a WatchTower board to show the exact same data.  Then I used the Chrome browser’s developer tools to compare load times.  Results:

Board
Source
Results
Atlassian Kanban Jira Server 88 requests, 27.7 KB transferred, Finish: 8:06 seconds
WatchTower Jira Server 57 requests, 42.9 KB transferred, Finish: 2:78 seconds
WatchTower Performance Results

The WatchTower board contains less UI elements to load and therefore, with the same data set, in the same instance, loaded faster.  The Atlassian board loads an additional left navigation bar and a lot of javascript, presumably for the right side issue details display feature, which the WatchTower board doesn’t have.  But what happens when you use the power of WatchTower to add a second data source?  I added an additional connection to a Jira Cloud instance, pulling the exact same amount and type of sample data.  Results:

Board
Source
Results
WatchTower Jira Server 57 requests, 42.9 KB transferred, Finish: 2:78 seconds (Example from above)
WatchTower Jira Server + Jira Cloud 83 requests, 44.4 KB transferred, Finish: 3:05 seconds

Adding a second, external Jira source didn’t create a huge delay.  Of course my test was with only 10 issues.  Don’t expect hundreds of issues to display quickly in any board type!  And of course, if any remote instance is already slow or down, you’ll have expected loading issues.  At one point, the connection to one of my sources broke.  It was a quick fix though.  When I loaded the WatchTower board, it alerted me to the problem, and where to fix it.

Bottom line:  Any loading slowness caused by many sources and many issues is easily outweighed by the ability to see all your issues in one view.

Q&A

I talked with Andrey Dekhtyar, CEO at Rozdoum who answered all my questions.  They were:

How many instances can you connect?
There’s currently no limit although in the future the number of instances may be driven by pricing tier.  You only need a license for one instance, not a license for each remote instance you’re connecting to.

What if the instances have different users?  Example:  My username is “rachelw” in app 1 and “rwright” in app 2.
It’s no problem; each user authenticates with their specific system credentials.  TIP:  Avoid using “currentUser()” in your source JQL queries if you have different usernames.

How do you handle different statuses per instance?
Map statuses to columns like you would for a Scrum or Kanban board.  Differing statuses are handled the same way as different statuses between projects in a single instance.  You can also not map certain statuses.  A WatchTower board alerts you if there’s a status not mapped to a column.

Two Instance Column Mapping

What happens when source data changes?
Simply refresh and updated data will be pulled from the source(s).  At this time, there’s no automatic prompt to refresh.

How is security handled?
Account credentials are used once to access the source application and are then stored in a token.  Jira’s built in security mechanisms are respected.  To see issue data you need an authenticated account in the source application.  You cannot view issues you don’t already have permission to see.

What are you working on for the future?
Performance, the ability to display custom fields, and the ability connect to other applications.  Imagine viewing your Jira data alongside your Salesforce or Trello data, for example.  There may also be instance connection issues (like getting through a firewall) and two factor authentication issues to tackle in the future.  Read more

For Users & Board Admins

Look for a new menu, in the main navigation, labeled WatchTower.  All remote boards are in this area.  Scrum and Kanban boards remain under the “Boards” nav link.

Jira Server Nav
Jira Cloud Nav

For Application Admins

This plugin is installed from System > Add-ons > Manage add-ons like other plugins.  There’s only one configuration option for application admins.  It’s located at:  Admin > Add-ons > Configure.   Look for the left sidebar link under the “WatchTower” heading.

Conclusion

This plugin is simple but powerful!  If you have more than one Jira application at work, a work and personal instance, a side Jira administrator gig, or are a consultant, WatchTower can help you quickly and easily view all your issues in one place.  I’m looking forward to not logging into my Cloud instance as often.

Resources

Add-on Vetting
The Jira Strategy Admin Workbook helps you review and vet apps!

There are a plethora of plugins and add-on features available in the Atlassian Marketplace.  But haphazard installs and free trials can leave behind remnants that negatively impact the system after the trial ends.  You should develop specific procedures for handling add-ons and customization requests.  Use our plugin vetting worksheets to craft your procedure.

Reviews

I regularly review applications, add-ons, or plugins that I like!  Have an app users should know about?  Tell me about it at:  info@jirastrategy.com.

 

Baseline Jira Fields List

Jira comes with standard, built-in fields, like “Summary”, “Description”, and “Components” but you can also create additional Custom Fields to track more data.

Your instance starts out with 8-30 fields, depending on whether you have Cloud or Server.  For example, Jira Server 7.7.1 comes with 8 custom fields.  Installing Jira Service Desk on top of Jira Server adds 6 additional fields.  More fields can be created by Jira, by application administrators, or by add-ons, plugins, and applications.

So how do you distinguish the standard fields from the ones created by applications and admins?  Use this baseline list from a clean Jira install.

Standard Jira Fields

From Jira Server 7.1.1

From Jira Cloud

Clean Instance Worksheet

Use this default Jira setup worksheet to compare settings in your  application and see how far you’ve strayed from the default.  Use this template to document defaults in other versions.

Free Worksheet: jirastrategy.com/link/clean-instance

Custom Field Clean Up

Have a lot of custom fields?  Learn how to safely remove them with the Jira Custom Fields & Field Clean Up online course!

Jira Clean-up Time: How to Audit and Tidy Your Jira Instance

Depending on where you are in the world, you may be smack in the middle of spring – as in time for Spring Cleaning.  Even if it isn’t spring, it’s a good idea to occasionally audit your Jira installation, archive elements that aren’t being used and revisit your configuration to ensure that it’s optimized. Below are the basic steps you will need to perform a “Jira Clean-up.”

Jira Clean-up Step 1: Audit

The first step is taking stock of what you have.  To do this, start with the “System info” page and note the number of projects, issues, custom fields, workflows, etc.  Next, visit the Add-ons admin page and the admin area for each scheme and project asset.

Jira System Stats

Rachel Wright offers a worksheet for recording this information.  Alternatively, you could use a spreadsheet or create a form in ProForma. The important thing is that you will want to track the number of Jira assets over time. 

As you go through the admin pages, note assets that are unused (such as a field that doesn’t appear on any screens), duplicated (or perhaps similar enough in purpose that only one field is needed) or inactive.

Once you have a complete picture of your current application, you can set goals for your clean-up.  Along with removing assets that aren’t being used, goals could include reducing the number of workflows for easier support and reducing the number of custom fields for better performance.

Jira Clean-up Step 2: Archive

Before you begin pruning out unnecessary elements, backup and verify your data.  Also, make sure you have a rollback plan in case any of your changes cause unanticipated problems.

Elements

Go to the admin page for each element type and use the “identification” column to weed out unused items.  The Jira Strategy Admin Workbook includes detailed instructions for easily identifying unused elements.  In some cases (for example, if you are eliminating an issue type), you may need to migrate issues before deleting.

Deleting unused items is the first step.  Depending on your goals, you may also want to consolidate custom fields or workflows.  When consolidating fields, consider which field is more widely used, which has a better name, and which can be more easily deleted.  Again, you may need to migrate data before you can delete.

Projects

Jira Project Status in ProForma

Along with pruning down Jira elements, you should also check for stagnant projects.  Use the Jira Strategy Admin worksheet or the ProForma form to identify projects that have an inactive project lead, few issues or no recently created issues.

You have several options for dispatching completed or stagnant projects:

  • Prevent new issues from being created
  • Mark the projects as read only
  • Hide the project
  • Archive the project
  • Export the project

Rachel Wright describes the appropriate use, as well as the implementation steps, for each method in the Jira Strategy Admin Workbook.

Users

Finally, you need to address users who have left the organization.  Don’t users because you want to retain the history of their actions.  Rather, set departed users to “inactive.”  However, before doing so, Rachel recommends the following steps:

  • Move any not closed, assigned issues to the user’s supervisor
  • Move any not closed, reported issues to the user’s supervisor
  • Remove unshared custom dashboards, filters, filter subscriptions and boards
  • Remove favorite designations for dashboards
  • If a dashboard is used by others, move the dashboard to the supervisor or a generic user account
  • Remove favorite designations for filters
  • Move shared filters to the supervisor or a generic user account
  • Reassign project leads to the supervisor
  • Reassign component leads to the supervisor
  • Remove filter subscriptions
  • Remove draft workflows
  • Reassign agile boards to the supervisor
  • Check workflows for any auto assignment transition behaviors
  • Make the user account inactive

Making the time to regularly review and tidy up your application will make your ongoing admin duties easier and will keep your application clean, relevant and high-performing. 

Translations

We're exploring offering the Jira Strategy Admin Workbook in additional languages. Tell us which language(s) you're interested in! Enter your email address (optional) and we'll notify you when a translation is ready.
Which language(s) should the Jira Strategy Admin Workbook be offered in?

JIRA Strategy Admin Workbook

Sample Chapter: Chinese and English

Chinese and English Sample Chapters

More than one Jira administrator has approached me about translating the Jira Strategy Admin Workbook into another language.  But I only speak English and Jira Query Language!  Enter wonderful Kerwin Chung, a Senior DevOps Consultant in China, who’s up to the task.

Kerwin’s translated the sample “Projects” chapter from Jira Strategy Admin Workbook into Chinese!  You can download both the English and Chinese sample chapters for free.  If you’re interested in a full Chinese or other language translation, let us know below!  If there’s enough interest, we’ll translate the whole book!

Translations
We're exploring offering the Jira Strategy Admin Workbook in additional languages. Tell us which language(s) you're interested in! Enter your email address (optional) and we'll notify you when a translation is ready.
Which language(s) should the Jira Strategy Admin Workbook be offered in?

About the Translator

Kerwin Chung, ACP-SW, ACP-JA
Atlassian DevOps Senior Consultant at Cenoq in China

The reason why I love Jira is its expandability.

It is the best tool for the DevOps toolchain. Lots of companies in China use a lot of open source tools but they use only one commercial tool, which is Jira.

I am proud of being a Jira evangelist. I enjoyed using Jira to organize my own job and am very happy to introduce Jira to my customers and friends. Everyone loves it.

Five Steps to a Successful Jira Upgrade

For most Jira Server users, an upgrade is a major activity that requires careful planning.  What is your upgrade plan?  How will you prepare?  How will you ensure success?  How often will you upgrade?

I approach upgrades as five high level steps:

Step 1:  Research

Conduct all pre-upgrade “what changed” and compatibility research

This very important first step can determine the success of your upgrade.  Start by reviewing the retrospective from the last upgrade so you can improve the upgrade process and plan for issues encountered in the last event.   Also, it’s a good time to make sure your emergency rollback plan is still accurate.

Next, read all of Atlassian’s “Release Notes” and “Upgrade Notes” for every version between yours and the one you’re upgrading too.

  TIP
Look for changes that might impact the application, users, or user behavior.  Look for bugs you’ve been waiting for fixes for.

Also read the Security Advisories, End of Support announcements, and End of Life policy.

  TIP
Ask your REST API and database users to read the Atlassian documentation too, so they can prepare for any changes needed in their applications.

After, verify the compatibility of your hardware, operating system, database,  java version, add-ons, and any internally developed customizations.  Resources:  Jira Requirements, Supported Platforms, and Checking Add-On Compatibility

Finally, double-check that your license is valid through the upgrade testing period and you are not about to reach your license limit.   You don’t want license issues to delay your upgrade.

Step 2:  Pre-Upgrade Tasks (Test Environment)

Copy all production data to lower environments, update plugins, upgrade and test

  RECOMMENDATION
Don’t have a test environment?  Remedy that issue first!  Ideally you’ll have a secondary server instance but if that’s not possible at least create a local instance on your personal computer.  Make sure the resources powering your test environment match your production environment as much as possible.  Make sure the software version and configuration are an exact copy of production.

  RECOMMENDATION
Before upgrading your test environment, be sure to copy all of your production data to the environment.  It’s not enough to test an upgrade on a vanilla instance; you need to test it with your specific configuration data!

By now you should know which version you’re able to upgrade to.  Download the installer file, stop the application, and run the binary.  Document the installation process, so you can repeat the steps in production.  Review all configuration files, paths, custom files, and settings for accuracy.  Also check the logs for major problems.

If all is well on startup, it’s time to update the Universal Plugin Manager, other add-ons, and re-index.  After the re-index, start your regression testing.  Make sure all basic application functions and new features are working as expected.

 MISTAKE
During testing, I discovered one of my heavily used plugins wasn’t compatible with the upgrade version and had moved from free to paid.  I clicked the “Buy Now” button on the “Manage add-ons” page, assuming it would take me to a shopping cart with pricing information.  Instead, it immediately installed an unlicensed version of the new plugin code!  All of our workflows broke and I was inundated by reports of license errors from users.  I had to quickly generate a free trial code to restore functionality and sheepishly contact the purchasing department to secure emergency funding for the new plugin.  I did all this in production!  #facepalm

Finally, contact your REST API and database users so they can verify all is well with their applications.  Also, compile any “new features” documentation to share with end users.  Conduct an end user and project-level admin demo if UI or feature changes are substantial.

Step 3:  Upgrade Preparation

Line up support resources, schedule production upgrade activities, and announce plans

At this point, you are confident in the stability of your test environment and ready to schedule the production event.  Start by identifying an upgrade team.  Who will execute the upgrade?  Who will “smoke test” the major functions?  Who can you contact if there’s emergency?

After you have your team assembled, pick an upgrade time outside of peak use hours.  Communicate the upgrade date, time, and expected duration to users and any support teams, like the company help desk or network operations center.  Don’t surprise these teams with “Jira is down!” reports during the upgrade window!

  TIP
Use Jira’s announcement banner function to communicate upgrade plans.

Sample Code:
<div style=”border: 1px solid #9e1c1c; background-color: #fff; padding: 10px;”>Upgrade Outage
The upgrade will start on [day], [date] at [time] [timezone] and conclude before the start of business on [day], [date].  During the upgrade window: (1) you WILL NOT be able to login to JIRA, (2) any changes attempted WILL NOT be retained, (3) API calls will fail, and (4) issue creation via email will fail.  For a list of new features and fixes, see our JIRA Upgrade notes.

Download sample wording for your entire upgrade process from the Strategy for Jira store.

Step 4:  Upgrade Tasks (Production)

Backup production data, update add-ons, upgrade and test

  RECOMMENDATION
Hopefully you’re already taking regular (automated) backups of your database and file system.  But when’s the last time you verified that your most recent backup occurred and is actually usable?  Do that before proceeding.

At last, you’ve planned as much as possible, know what to expect, and are ready for the upgrade event!  It’s time to repeat the installation steps you practiced in your test environment including:  installation, add-on updates, and regression testing.  Use the notes you took in step 2 and be sure to address any differences that exist in the production environment.

Step 5:  Communication

Announce upgrade and communicate changes and benefits to user base

Finally, it’s time to announce the upgrade to users and complete post-upgrade steps.

  RECOMMENDATION
Use Jira’s announcement banner function to communicate the upgrade is complete.  Include a link to the “new features” documentation you compiled in step 2.

Review any previous trouble reports, in case the upgrade remedied them, and be ready to respond to new reports.  Check in with your REST API and database users, to make sure all is well with their apps.

Finish any outstanding tasks, compile your retrospective, and make any needed plan updates in preparation for the next upgrade.  Also be sure to thank your upgrade team!

Detailed Upgrade Plan

Jira Detailed Upgrade Plan

A well-crafted plan can help ensure upgrade success.  Download the sample upgrade plan worksheet.  Customize it to fit your needs and environment.  This worksheet may contain more or fewer steps than necessary for your situation, but it gives you a great starting point.  Don’t forget to update and improve the plan after each upgrade.

A test instance and a healthy application are the foundation of a successful upgrade event.  You’ll want to upgrade often for the newest features, fixes, and performance improvements.  Happy upgrading!