What is Test Environment Management (TEM) and how to implement it in Jira?

More than ever, software development teams have to continuously improve their processes to speed up releases and decrease the time to market. Quality assurance is essential and most companies have invested massively in better Test Management over the last years.

In the Atlassian ecosystem, Test Management usually takes place in Jira with Testing & QA Apps like Xray or Zephyr.

However, to perform their job successfully, testing teams (or QA/testers embedded in Agile/Scrum teams) need available and stable Test Environments, which are often under the responsibility of separate teams like infrastructure or operations...

 

Test Environment Management V3.png

What is Test Environment Management?

Test Environment Management (TEM) is an essential practice to streamline the software delivery process by making sure everyone in the delivery team can get working Test Environments when they need them, to execute test scenarios, or reproduce bugs.

TEM is divided into 3 main components:

  • Test Environment Inventory accessible to all relevant stakeholders
  • A transparent Test Environment Schedule with a clear booking process
  • An Environment Self-service for giving more autonomy to non-technical people

Test Environment Management may be the responsibility of a specific team on the paper, but a successful TEM process is always the result of improved communication, which is eventually coming from the contribution of all the teams involved.

And as Jira is becoming the backbone of team communication in many organizations, it is the ideal tool to implement Test Environment Management. Let's see how, component by component:

 

How to implement your Test Environment Inventory in Jira?

A Test Environment Inventory is a single source of truth for your Test Environments, and when you implement it in Jira, it becomes available to all relevant stakeholders in real-time.

The Golive Jira App provides you with an out-of-the-box Environment Inventory. If you prefer to do without an App, you can also create new objects in Insight Asset Management (part of Jira Service Management).

Each Environment should have:

  • The history of all software versions deployed on the Environment
  • Deployment details with information like build number, release notes, etc.
  • Current status (up, down, slow...) with history

If updating deployed versions and statuses can be done manually at the beginning, you will soon need to automate by connecting Golive or Insight with your deployment tools (Jenkins, Bamboo, TeamCity, etc.) and your monitoring tools (Datadog, Nagios, Splunk, etc.).

 

How to implement your Test Environment Schedule in Jira?

If your Test Environments are shared between several people, projects, or teams, you need a scheduling process. It usually combines:

  • An Environment Booking System for users to request a Test Environment with a specific configuration and for a specific period, including approval workflow and conflict detection
  • An Environment Schedule updated in real-time and accessible to anyone
  • Granular reporting for tracking usage and optimizing environment costs

Jira issues are ideal for your Environment Booking Requests. You can define an approval workflow and even add some Automation with Jira Automation or ScriptRunner for highlighting booking conflicts.

Refer to this Community article to Setup your Booking System in Jira

 

How to implement your Test Environment Self-Service in Jira?

DevOps practices are pushing teams to automate repetitive and manual tasks. Even though deployments are now fully automated, it often requires someone technical to trigger the deployment of a version, i.e. clicking on a button in a deployment tool (Jenkins, Bamboo, TeamCity, etc.). What if non-technical people could do that click, without the need of accessing a deployment tool?

This is what Environment Self-Service is all about:
Giving superpowers to non-technical people!

  • From a centralized tool, they can trigger the deployment of a specific application version on a specific Test Environment
  • And if all Environments are already allocated, they could even provision a new Test Environments in a click!

Thanks to Jira integration capabilities, you can implement a self-service using "Deployment Request" Jira issues and integrate them with your deployment tool (for instance a Jenkins deployment pipeline).

Deployments would be triggered from a Jira workflow transition, and with Jira workflow validators and Jira Automation, you can disable the deployment transition if there are other activities currently planned.

 

Benefits to expect from TEM

With an efficient Test Environment Management in Jira, you can expect to:

  • 🚀 INCREASE TEAM PRODUCTIVITY
    Chats, e-mails, spreadsheets, and shared calendars are replaced by a fit-for-purpose tool.

  • 💰 DECREASE COSTS
    Better resource usage tracking helps teams to share environments, prevent the creation of extra test environments, and to release unused (or underutilized) resources. Eventually, it reduces your AWS / Azure / GCP bills.

  • 💨 IMPROVE TIME TO MARKET
    R&D and QA processes standardization and better coordination speed up the software delivery.

So, what are you waiting for?
Start improving your TEM process with the Golive Jira App:

-> TRY IT FREE <-

 


Check my blog for more information about TEM:
What is Test Environment Management and why do you need it?

0 comments

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events