Designing a safer Jira Data Center upgrade experience.
I designed the end-to-end administrator experience for Jira Data Center's Zero Downtime Upgrade workflow, from checking whether an environment was ready to monitoring individual nodes during an active upgrade.
The problem
An upgrade affected a live clustered environment.
Jira Data Center customers ran Jira across multiple nodes to support large organizations and maintain availability.
Upgrading these environments was different from updating a conventional application. Administrators had to coordinate changes across a cluster while Jira continued serving users.
The challenge was that an upgrade affected a live clustered environment. Administrators needed to understand compatibility issues, node states, exceptions, and when it was safe to move forward without taking Jira offline.
Before beginning an upgrade, they needed to know:
- whether the environment was ready
- whether installed add-ons were compatible with the target Jira version
- whether database changes could introduce downtime
- what would happen to individual nodes during the upgrade
- when the cluster had reached a state where the upgrade could safely be completed
This made the experience as much about understanding system state as performing the upgrade itself.
System model
Before designing the interface, we modeled the operation.
Before designing the interface, I worked with the Product Manager and developers to understand how the upgrade actually behaved.
We mapped the operation from preparation through completion, including:
- readiness conditions
- add-on compatibility
- Jira version requirements
- database changes
- node-level operations
- warnings and exceptions
- intermediate cluster states
- completion conditions
The system flow became the reference for deciding what administrators needed to see at each stage and which conditions required action before they could continue.
Shown as evidence of the working process; it is not intended to be read end-to-end.
Research
Three practical questions about readiness and confidence.
We tested the workflow with Jira administrators while the product and technical model were still evolving.
The research focused on three practical questions:
- 01Can administrators determine whether their environment is ready?
- 02Do they understand what will happen when the upgrade begins?
- 03During the operation, can they tell whether the cluster is progressing normally and when it is safe to finish?
The sessions helped us identify where technical system behavior needed to be made more explicit in the interface, reducing reliance on documentation and administrator interpretation.
I planned and conducted the research, with the Product Manager participating in sessions, and documented the findings for the team.
The upgrade experience
Three stages kept the operation navigable.
I organized the administrator experience around three stages:
- 01
Prepare
Understand readiness, compatibility, and anything that could prevent a safe upgrade.
- 02
Upgrade
Monitor the cluster and individual nodes while Jira versions change.
- 03
Finish
Confirm that the cluster has reached the required state and explicitly complete the operation.
This gave administrators a stable structure even though the technical operation underneath it contained multiple conditions and branches.
01 · Pre-upgrade
Readiness surfaced before anything changed.
Before entering upgrade mode, administrators needed a clear view of anything that could make the operation unsafe.
The pre-upgrade experience surfaced the conditions that mattered before anything changed in the cluster, including instance health, Jira version requirements, and add-on compatibility.
The interface brought these problems forward during preparation, before administrators started the upgrade.
Add-on compatibility
Compatibility became part of readiness.
Installed add-ons could behave differently against a newer Jira version, so compatibility had to be checked before the cluster was upgraded.
The compatibility experience showed administrators which add-ons had been checked against the target Jira version and where action might be required.
This turned compatibility from a background technical concern into an explicit part of upgrade readiness.
The zero-downtime exception
"Zero downtime" still had an exception.
Certain upgrades could require database index changes that introduced downtime. That created an important exception inside a feature explicitly designed around zero downtime.
The interface made the condition explicit by telling administrators:
- why downtime might occur
- what part of the upgrade required it
- whether the change could be handled automatically
- when manual intervention was required
- what would happen if they continued
Administrators could then make the decision with the operational consequence visible before committing to it.
Multiple CTA and message variations document exploration; only selected variations shipped.
02 · Upgrade
Once it started, the job changed from preparation to monitoring.
Once upgrade mode started, the administrator's job changed from preparation to monitoring.
A conventional progress indicator wasn't enough because different nodes in the cluster could be in different states or running different Jira versions.
Progress depended on system state, not a single percentage.
The interface exposed the state of individual nodes so administrators could understand what was happening across the cluster without relying on a single progress number.
They could see which nodes had moved forward, which version each node was running, and whether the cluster had reached the conditions required for the next step.
Intermediate states
Everything meaningful between start and done.
The upgrade passed through several meaningful states between starting and completion.
The experience distinguished between states such as Starting → In progress → Ready to finish.
These states gave administrators clear feedback about whether the system was still changing, whether additional node operations were required, or whether the cluster was ready for completion.
This was particularly important because an apparently stable Jira instance did not necessarily mean the upgrade itself was finished.
03 · Finish
Finishing was an explicit action.
Finishing the operation was an explicit administrator action.
Once the required nodes were upgraded and the cluster reached the correct state, the interface changed from monitoring progress to confirming that the upgrade could be completed.
The final state made it clear that the operation was finished, avoiding a state that left administrators to infer completion from the absence of activity.
Iteration
The interaction model evolved with the technical behavior.
The interaction model evolved as we learned more about the technical behavior of the upgrade.
Earlier versions treated readiness information more independently. As the workflow developed, instance health, add-on compatibility, Jira-version requirements, and upgrade readiness became more tightly connected.
The later design brought these conditions together so administrators could understand the state of the environment before entering upgrade mode.
The changes were not primarily visual. They reflected a clearer model of what administrators needed to know before starting and what the system needed to communicate while the upgrade was running.
Ownership
My role
I was the primary designer for the Zero Downtime Upgrade experience.
I owned the end-to-end UX and UI across preparation, compatibility checking, active upgrade monitoring, exception handling, intermediate states, and completion.
I also planned and conducted administrator research and produced the research reports used by the team.
The Product Manager participated in research sessions, and I worked closely with the Product Manager, Tech Lead, UX Lead, and developers to understand the underlying cluster behavior and translate it into the administrator experience.
Technical architecture and implementation decisions remained with engineering.
Outcome
Shipped as part of Jira Data Center.
Zero Downtime Upgrade shipped as part of Jira Data Center, giving administrators a structured way to prepare for, monitor, and complete upgrades while keeping Jira available through the supported upgrade path.
The delivered experience included:
- pre-upgrade readiness checks
- add-on compatibility visibility
- explicit handling of downtime exceptions
- node-level upgrade monitoring
- meaningful intermediate states
- explicit upgrade completion
Reliable historical product metrics from this work are not available to me today, so I don't attribute numerical improvements to the redesign.
The evidence I can stand behind is the shipped workflow and the interaction model developed with the product and engineering team.
Shipped · Jira Data CenterReflection
What this project taught me
This project changed how I thought about complex enterprise interfaces.
Consequential operations may require more of the system to be exposed to users.
Users may need to see the current state, exceptions, consequences, and what needs to happen next. The designer's job is deciding which of that complexity users actually need in order to act safely.
Atlassian archive
More from Atlassian
JQL Search
Designing a more approachable way to construct powerful Jira queries.
Case study coming nextShared Filters & Dashboards
Designing information-management workflows for complex Jira environments.
Case study coming next