Driving product clarity, reducing migration failure, and creating scalable documentation systems for Atlassian Cloud

Scaling Trust: Building Soft Limits for Jira Cloud Migrations

Context

Jira Cloud-to-Cloud (C2C) is an Atlassian cloud product which helps customers move their product data within cloud from one site to another.

When I joined, the product was still in Beta but was already being positioned as the recommended migration method for both small and large-scale enterprise use cases.

This project focused on improving migration clarity, user confidence, and support readiness for Jira C2C during this transition phase.

  • I was the first content designer to lead creating soft limits in Atlassian’s cloud offerings. My responsibilities included:

    • Leading strategy, design, and rollout of the guardrails framework

    • Coordinating across product, engineering, legal, and support

    • Synthesizing insights from research and technical sources

    • Authoring internal and external documentation

  • Product Design, Product Management, Engineering, Legal, Customer Support

  • 3 months

    • Jira C2C admins assessing migration options

    • Support teams handling queries

    • Customer-facing teams guiding customers on product selection

Problem Statement

Jira C2C was being positioned as a scalable migration tool while still in active development, with limited and evolving capabilities.

This created a growing gap between what users expected the product to handle and what it could reliably support in real world migrations.

As a result, users were making high risk migration decisions without clear visibility into product limitations, and support teams lacked a consistent way to guide them.

The core question became:

How might we set clearer expectations about Jira C2C’s capabilities and risks, so users can plan better and support teams can guide them more effectively?

Goal

Help customers use Jira C2C more confidently by:

  • clearly explaining what the product can and cannot do

  • reducing migration failures through better pre-migration guidance

  • equipping support teams with unified and clear messaging

  • building a framework that could be reused for other Atlassian Cloud products

  • aligning with Atlassian’s north star of cloud growth through successful enterprise migrations

Approach

All the user issues needed to be tackled individually with deep design, engineering, and support collaboration.

Instead of treating documentation as a downstream fix, I approached this as a system design problem. The intent was to build a common understanding of where migrations were breaking down, and to use that shared view to design a content strategy that could guide both user decisions and internal product direction.

This allowed us to move from reacting to isolated incidents to designing a unified, proactive approach to migration risk.

What I Delivered

  • User-facing documentation explaining Jira C2C capabilities and limitations

  • A shared structure for defining and documenting migration risks

  • Internal support enablement documentation and FAQs

  • A living Confluence knowledge base used by product, engineering, and support

  • Updated UI and documentation with clearer Beta messaging

Solution overview

I split the content strategy into three core aspects:

  • Clarity in choice: Enabled users to choose the right tool based on their data type and size. We focused on a more confident and informed decision-making.

  • Honest product positioning: Set realistic expectations before users started migrations, which reduced frustration from discovering issues too late in the flow.

  • Scalable frameworks and support enablement: Aligned support, engineering, and design around one unified strategy.

  • Support teams used the documentation directly in ticket replies

  • Soft limits became a go or no-go checkpoint for enterprise migrations

  • Users had clearer guidance before attempting large data moves

  • Product teams reused the framework for other Cloud tools

  • The tracker template was adopted by other teams building guardrails

  • Engineers used it as a pre-release checklist for new builds

  • Jira C2C moved closer to launch readiness with fewer unknowns and escalations

Impact

Even before formal UX metrics were available:

Design process

The process was non-linear, we had to revisit and refine our approach as new insights came up. This section goes into detail on how the research system was built, how patterns emerged, and how the soft limits model took shape.

Research & inputs

(How I built understanding)

When I joined the project, there was no single, reliable source of user data for Jira C2C. The product was in beta, and information about failures was scattered across support, engineering, PMs, and community channels. I focused on making sense of the signals already present across the system that reflected real operational issues.

I partnered with the lead content designer from the Data Center platform team, who had already worked on guardrails for their products. Their experience gave me valuable context on what success looked like, and how we could adapt it for the Jira C2C use case.

With that context, I set up weekly syncs with engineering, PMs, product design, and support to gather whatever existing user data we had. This included:

  • Support call recordings and ticket escalations

  • Engineering logs and Jira tickets

  • PM inputs from customer emails and community posts

  • Existing user interviews and Beta feedback

At this stage, the problem was not lack of data. The problem was lack of structure.

Key findings

Each source answered a different part of the problem:

  • Migrations often failed without clear reasons or recovery steps

  • Interviews showed user hesitation due to lack of migration status reporting, so they couldn’t tell what had succeeded or failed

  • Support data showed where users were struggling and how issues were being explained

  • Engineering logs and UI feedback were not actionable for users

Together, these inputs gave us a system-level view of both technical behaviour and user perception.

Data categorization & prioritization

(Creating order from scattered inputs)

To make sense of these inputs, I created a shared Confluence tracker that acted as a living repository of user issues, Jira tickets, support workarounds, and internal notes.

I spent time with support teams to understand:

  • what kinds of questions users were asking

  • how they were responding

  • what workarounds they were using

These conversations revealed recurring user pain points and showed that support teams lacked clear product capability information and consistent language.

Once the tracker had enough data, I started categorising issues based on:

  • affected components (projects, fields, comments, attachments, etc.)

  • urgency and frequency

  • whether a workaround existed

  • and whether the issue was systemic, edge case, high risk

This helped us establish design priorities, by showing which failures were both frequent and impactful, and which ones were not yet reliable enough to publish externally.

Identifying where users needed guardrails

(What I decided and why)

With priorities in place, I worked with the product designer and engineers to map the end-to-end migration journey.

We focused on:

  • where users were most likely to fail

  • where failures were invisible or hard to recover from

  • and where support teams had no clear guidance

This mapping revealed a consistent pattern: most serious breakdowns were happening before users even started migrating, during planning and decision making.

Users were making high-risk choices without knowing:

  • whether their data size was supported

  • which components were likely to fail

  • or what “success” looked like in a Beta product

Aligning with the Journey

We were clear that aligning with the user journey will enable:

  • customers to make informed decisions about Jira C2C before migrating

  • support teams to provide consistent, aligned responses to data-related issues

  • engineering to track known problem areas and log coverage

  • designers and PMs to reference data limits when planning roadmap or UI updates

This allowed us to ship a meaningful first version while leaving room for iteration.

Challenges in alignment

Initially, we faced some pushback from PMs and engineering, who had competing development priorities. To counter this, we presented:

  • migration failure reports from support

  • documentation feedback from users

  • screenshots from the Atlassian Community

  • internal business goals around cloud adoption and enterprise migration success

This helped shift the guardrails effort from “nice-to-have” to strategic priority for the next quarter.

Identifying the limits of existing guardrails

(Conceptual tension)

As we started shaping the documentation, I realised that our positioning did not fully align with existing guardrails used across Atlassian.

The Data Center guardrails model focused on long-term system health and stability in on-prem environments. Our problem space was cloud migrations, where users were trying to move large volumes of data through a system that was still evolving.

This mismatch made it difficult to reuse the same mental model and language.

I revisited the original guardrails pitch and discussed this gap with content design, support, product design, engineering, and later legal.

It became clear that although both approaches aimed to mitigate risk, they served different goals:

  • Data Center guardrails were about protecting system stability over time

  • Our migration limits were about enabling successful and efficient data movement

Guardrails vs. soft limits: Laying down the distinction

Based on these discussions, we formally separated the two concepts:

Guardrails address long-term system health and maintenance in on-prem environments. The desired outcome is system-wide stability.

Soft limits focus on enabling successful and efficient data movement in cloud migrations. The desired outcome is increased migration effectiveness.

This distinction shaped:

  • the terminology used across support macros and documentation

  • collaboration with legal on appropriate wording

  • internal alignment across engineering, PMs, and support

Following legal guidance, I proposed the term soft limits to reflect advisory, in-beta guidance rather than hard technical constraints.

Shaping the soft limits

With the conceptual model in place, the next challenge was defining which limits were feasible to publish and how they should be structured.

We shortlisted what made it into version1 based on:

  • migration components most likely to fail

  • features not fully supported or prone to inconsistency

  • common failure themes with known workarounds

  • areas where users had no visibility and support had no clear answers

Some potential limits were put on hold due to:

  • limited user data

  • no existing fix or workaround

  • legal sensitivity

Documentation & design

Once structure and messaging were clear, I translated the soft limits into usable and scalable documentation.

We reused the platform team’s guardrails layout to maintain cross-product consistency, adapting tone and hierarchy for the in-beta, advisory context.

I also partnered with the product designer to integrate soft limits into the product flow by:

  • identifying key decision points

  • adding in-product links and warnings

  • aligning onboarding with documentation

Support-First Content Strategy

Because the majority of user issues were showing up in support escalations, we created an extensive FAQ section, based on real user queries and answers already being handled manually by support.

This not only reduced the burden on support teams but allowed us to scale their responses through documentation

This ensured users encountered the guidance at the moment it mattered.

Launch & rollout

Externally:

  • email to Beta users

  • community announcement

  • in-product references

  • inclusion in Atlassian documentation hub

Internally:

  • support and engineering walkthroughs

  • regular handoffs

  • show-and-tells across cloud teams

Closing reflection

This project closed a critical trust gap between product capability and user expectation.

More importantly, it showed how content design can shape product behaviour, support workflows, and long-term system clarity in complex, evolving platforms.

Previous
Previous

Feature naming

Next
Next

Information architecture plan