Agile software development

How to create better Jira user stories with templates

22. January 2025
by Lukas Nicolai
Having trouble making well-structured user stories quickly and efficiently? You need a Jira user story template. Find out how to create these in Jira.
How to create better Jira user stories with templates

Creating user stories is a recurring task in Jira, especially if you’re a product owner. And although every user story is unique, it often involves the same components, considerations, and often, the same subtasks.

A Jira user story template can help standardize the process of creating and working on user stories in Jira, so that you’re consistently delivering what users want. Templates help capture user requirements in the right way and ensure teams know what to expect when embarking on a new story. They also save a bunch of time manually entering the same information and creating the same subtasks.

In this guide, you’ll learn:

    • What are the core components of a user story
    • How to write a user story in Jira
    • What a Jira user story template could look like
    • How a Jira template can improve the clarity and quality of your user stories
    • How to create user story templates in Jira

 

By the time you’ve finished reading this guide, you’ll know how to make and use Jira templates for user stories to consistently capture the user’s needs, and more capably deliver products that meet them.

A user story is not a feature

Understanding user stories in agile software development starts with knowing what a user story isn’t.

A user story is not a software feature.

It’s tempting to think that it is, because a feature is what you end up delivering. But a user doesn’t want a feature. A user wants to do something. A feature is just a means to that end.

The other thing is that you don’t even know what that feature’s going to be yet. You might have an idea, but it’s the team that decides what feature to create to meet the user’s needs. At this point in the process you’re just capturing requirements. Don’t jump to conclusions by assuming what the solution to those requirements will be.

So what is a user story?

A user story is a unit of work that, once completed, will enable an end user to do something within a software application. It’s a simple and concise explanation of a desired outcome and value, written from the end user’s perspective. It’s usually expressed in the following terms:

“As an [END USER]

I want [A CAPABILITY]

so that [A REASON/END GOAL].”

Here is an example user story statement using this structure:

“As a Jira user I want to create templates for Jira issues so that my team can save time and deliver consistent results on recurring projects.”

Of course, the components of a user story aren’t limited to just an explanation of what it is. As a unit of work, a story has other more practical components as well. Let’s look now at everything a good user story should have.

8 core components of a user story

There are seven core components that all good user stories should have.

1. An end user

The user story statement, “As an [END USER]”, I want [A CAPABILITY] so that [A REASON/END GOAL]”, gives us the first three core components of a user story.

It’s easy to forget about the end user, particularly as user stories are typically written by developers. Devs have a tendency to think in terms of “Oooo, that would be a cool feature to add” rather than in terms of who they’re adding it for, and why that person needs it. But really, no work should be done unless a user actually wants it.

2. A capability

This is the functionality the user wants, expressed in their terms. This is where it’s most common to make the mistake of describing a feature or solution. User stories should not contain a feature or solution. That comes later.

So, the “I want” part of the user story statement should look like this:

“I want to create templates for Jira issues.”

It shouldn’t look like this:

“I want a button that says “Create a new issue template”, which opens a screen where I can name the template and add issues, and I want to drag and drop those issues to form a hierarchy, then click on them to open a detailed view on the right so I can predefine all the fields.”

This latter description is what the issue templates feature in Templating.app turned into. But it became this once the dev team decided what the feature should be and how it should work. The user story would have looked more like the first description, which is much broader.

3. An end goal/reason/value statement

If you don’t add a value statement or reason why the user wants the capability, then your team will lose sight of what they’re building the feature for. This can lead to the creation of a feature that doesn’t really fit the user’s needs.

Our earlier example—”so that my team can save time and deliver consistent results on recurring projects”—outlines the value that templates in Jira will bring. Without this, the team can’t justify why they’re doing the work, and it’s harder for the product owner to decide what to prioritize.

4. Acceptance criteria

Acceptance criteria are the conditions that must be satisfied for the user story to be considered complete.

In essence, acceptance criteria are a more detailed version of the capability or ”I want” part of the user story statement.

Taking the example above, the acceptance criteria for “I want to create Jira issue templates” could include:

I want two ways of creating a Jira issue template: from scratch using a blank template, or using a example template I can adapt
I want to be able to create epics, tasks, and subtasks all at once
I want to add variables to my templates, so I can gather dynamic information during issue creation
I want to be able to apply an issue template to a project using Jira automation
I want my templates to work with Advanced Roadmaps/Jira Plans so that I can create additional hierarchies
I want to create templates without doing any coding; I only want to click buttons or use drag and drop

These would have been the acceptance criteria for the issue templates feature in Templating.app. You can see that the checklist is simply a fleshed-out explanation of what the user wants to achieve, which helps the dev team to make sure that the feature they’re building is working as the user intends.

 

5. Definition of “done”

The definition of “done” (DoD) is similar to the acceptance criteria in that it also helps the team to know when the story is complete. However, DoD looks at the big picture and focuses on the overall quality. As such, it tends to be the same across all user stories. For example, a DoD checklist could include:

Tests written and passing
Code peer-reviewed
Documentation updated
Acceptance criteria met
Acceptance criteria tends to be specific to each user story.

6. Subtasks

The actual work required to complete the user story is contained with the story’s subtasks. The subtasks are the smaller units of work that deliver value to the user. Often these subtasks will be the same across all user stories:

  • Build
  • Code review
  • Testing
  • Deployment
  • Post-live testing

7. Priority

Your team is likely working on multiple user stories. Assigning a priority helps them decide which stories to work on first according to business value or urgency.

If you’re finding it difficult to assign priorities, then it could be that you need to clarify or add detail to each story’s value statement.

8. Estimate

Estimates help agile teams plan their workload more effectively. So assigning an estimate to a user story tells the team how much time or effort is going to be required to complete it.

You could estimate in time by assigning a specific number of hours to the story. Dev teams will usually use story points, which represent effort rather than time. Some teams will eschew numerical estimates altogether in favor of a simpler and more visual alternative like T-shirt sizes.

How to write a user story in Jira

To create a user story in Jira, you select the “Story” issue type in the dropdown on the “Create issue” screen, and a bunch of default fields associated with stories will appear. These are likely to include the following:

  • Summary
  • Description
  • Assignee
  • Reporter
  • Status
  • Sprint
  • Priority
  • Story points

You’ll need to fill out these fields, add acceptance criteria and a definition of “done”, and create the subtasks required for completing the story.

Of course, doing this time and time again for every user story quickly becomes tedious. As a result, it’s easy to forget to include some of the core components of user stories, like acceptance criteria.

Users want a way of pre-populating the description field to make sure all user story descriptions follow the “As an [END USER]”, I want [A CAPABILITY] so that [A REASON/END GOAL]” structure. They also want a way of reminding users to add acceptance criteria, and of automatically adding a set of predefined subtasks to an issue.

For all this, you need a Jira template, so that you can create a Jira user story with a bunch of information preloaded into the issue, and a set of subtasks already attached and ready to go. Not only would a Jira user story template save time creating stories, it would also ensure consistency and quality in completing them.

What is a Jira user story template?

A Jira user story template is a predefined format for creating and managing stories in Jira. It should encompass all the core components of a user story mentioned above, i.e. subtasks, acceptance criteria, DoD, and a description that includes the “As an [END USER]”, I want [A CAPABILITY] so that [A REASON/END GOAL]” user story statement.

By using a Jira template for stories, you can create them more quickly and efficiently. Most importantly you ensure that you are always capturing the user’s needs, desired functionality, and the value you’re expected to provide.

Ultimately your products are going to better serve your customers if you create and manage stories in a consistent and organized manner.

Can you create Jira user story templates out of the box?

Stories are an issue type in native Jira but they are effectively a blank canvas. The closest thing to creating a story template you can do with standard Jira functionality would be to create custom fields and add default values to them. However, this is fraught with difficulty and you can’t add default values to the system fields, like the issue description. That means you can’t tell users to write their user story statements using the “As an [END USER]”, I want [A CAPABILITY] so that [A REASON/END GOAL]” structure.

There’s also no way to create a template for a hierarchy of issues, which would allow you to automatically generate a set of predefined subtasks under a story. As a workaround you could clone an existing story ticket, which allows you to clone the story’s subtasks along with it. Although you’d clone all the subtask customizations as well.

Jira automation offers further workarounds. You can use an automation rule to add default values to certain Jira fields, such as the description. You can also trigger the creation of subtasks, with predefined fields, under a story. However, Jira automation is hard to configure and even harder to configure correctly. You also can’t add variables such as users, dates, and priorities using Jira automation; you’d have to edit the issues one by one post-creation.

How to create Jira user story templates using a 3rd-party app

Since native Jira only offers unfriendly workarounds that don’t achieve exactly what template seekers want, most companies look to the Atlassian Marketplace. Apps like Templating.app simplify the creation and management of stories by allowing you to make templates for complete issue hierarchies, as well as for the issue create screen.

So with Templating.app, you have several options for creating Jira user story templates:

  • You could create an individual ticket template for a Jira story, which has predefined fields such as default text for the description and a default assignee (if you want all user stories assigned to the same person). The default description can read, “As an [END USER]”, I want [A CAPABILITY] so that [A REASON/END GOAL]”. You could also use the Jira action items feature to incorporate a definition of “done”, and remind the user to add acceptance criteria.

  • You could make a template for the issue create screen only, so that default values (such as default description text) appear when you create a new story.

  • You could make a template for a set of subtasks and add these to stories during the creation process.

  • You could make a template for a full Jira issue hierarchy which includes a story and a set of predefined subtasks under it. If your user stories are part of epics, then you can build full epic hierarchies as well.

Selection of Jira Cloud User Story Template in Templating.app

Creating user story templates with Templating.app is a much better, faster way of automating the creation of fully and consistently structured stories than cloning issues or using automation rules. In addition, these templates allow you to customize issues individually using variables, which has to be done manually post-creation if you resort to the workarounds.

Editing Jira User Story Template in Templating.app

To summarize (TL;DR)

  • All Jira user stories should include an end user, a desired capability, and a value statement. This is your “user story statement”.

  • A user story ticket in Jira should also include acceptance criteria, a definition of “done”, priority, estimate, and a set of Jira subtasks detailing the actual work required to complete the story.

  • A Jira user story template can help standardize this process so that you’re more capably and consistently delivering what users want.

  • You can’t create a user story template in Jira using the standard functionality. Workarounds include cloning issues and using automation rules. However, cloning issues is not particularly efficient, and Jira automation is complex and hard to get right.

  • For faster and more efficient creation of well-structured user stories, you need a third-party app from the Marketplace like Templating.app.

  • Templating.app allows users to create templates for subtasks, full issue hierarchies (including extra hierarchies created with Jira Plans/Advanced Roadmaps), and templates for the issue create screen. This allows users to explore a bunch of different options for creating templates for user stories.

If you want to bring consistency and quality to all your Jira user stories, book a personal demo of Templating.app or try the app for free on the Atlassian Marketplace.


				
Content

Related articles