{"id":586,"date":"2023-03-13T16:44:45","date_gmt":"2023-03-13T16:44:45","guid":{"rendered":"https:\/\/titanapps.io\/blog?p=586"},"modified":"2025-10-16T19:44:31","modified_gmt":"2025-10-16T19:44:31","slug":"how-to-write-user-stories-in-jira","status":"publish","type":"post","link":"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira","title":{"rendered":"Write Kick-Ass User Stories"},"content":{"rendered":"\n<p>This article is dedicated to writing kick-ass User Stories. I\u2019ll focus on answering the following questions:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>What is a User Story and how can you write one?<\/li>\n\n\n\n<li>How to work with User Stories in Jira?<\/li>\n\n\n\n<li>What are story points and how are they used to estimate the complexity of a Story?<\/li>\n\n\n\n<li>How User Stories differ from other software requirements?<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">An introduction to User Stories<\/h2>\n\n\n\n<p>Engineers love solving puzzles, implementing new technologies, and finding better, more optimized uses for their tech stack. However, at the end of the day, the software they develop is not a Rubic\u2019s cube. There\u2019s more to it than being a puzzle that needs solving.&nbsp;<\/p>\n\n\n\n<p>For example, let\u2019s say you have a couple of eggs, a pint of water, and a bit of flour. What can you make from this humble list of ingredients? Obviously a loaf of bread is the first thing that comes to mind. But you can also make noodles, pancakes, or crepes.&nbsp;<\/p>\n\n\n\n<p>Having a User Story that <strong>defines a user <\/strong>(a very hungry me, craving for something Italian), <strong>their intent <\/strong>(who wants to make some Puttanesca just like nana used to) , and <strong>the desired outcome<\/strong> (to enjoy a delicious, home-made meal) will steer you to the correct recipe &#8211; you will be making spaghetti.<\/p>\n\n\n\n<p>Obviously, knowing why you do the things you do is helpful outside the kitchen.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to write User Stories?<\/h2>\n\n\n\n<p>If we were to go by the <a href=\"https:\/\/www.atlassian.com\/agile\/project-management\/user-stories?_ga=2.121380046.771177965.1677247049-261028857.1677101075\">definition<\/a>, a user story is an \u201cinformal, general explanation of a software feature written from the perspective of the end user.\u201d They are helpful, because they give the team a clear definition of what needs to be done and why.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>Most user stories follow a certain format:<em> as a <strong>[type of user] <\/strong>I want to do <strong>[action] <\/strong>so that <strong>[benefit\/value]<\/strong>. <\/em>You can use it as a template or wireframe for writing your stories.<\/p>\n<\/blockquote>\n\n\n\n<p>An example of a user story that follows this format will look something like this: As a <strong>user of the XYZ Bank banking app<\/strong> I want to<strong> temporarily edit the default credit card transaction limit<\/strong> so that <strong>I can make an expensive purchase<\/strong>.<\/p>\n\n\n\n<p>This description of a user story adds a lot of context and clarity. The dev team understands who they are developing the software for, that person\u2019s intent, and desired outcome. Having your user stories follow this format also helps communicate your vision and progress to the business people.&nbsp;<\/p>\n\n\n\n<p><em>Note: User Stories aren&#8217;t restricted to external end users. You can have user stories that are relevant to people within your team or organization who are dependent on something you\u2019ll be delivering.&nbsp;<\/em><\/p>\n\n\n\n<p><em>It\u2019s also not that uncommon to have users who aren\u2019t even people. We\u2019ve had cases when we needed to write them from the perspective of a database, where the database substituted the user. These types of stories are commonly used in #research tasks. Just remember that the user &#8211; regardless of it being a person or an object &#8211; still needs to achieve something so the format of the story formula does not change.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What is a User Story in Jira?<\/h2>\n\n\n\n<p>Software development teams rely on User Stories for project management &#8211; they serve as building blocks for <a href=\"https:\/\/titanapps.io\/blog\/epic-vs-story-vs-task\/\">Epics<\/a> and even <a href=\"https:\/\/titanapps.io\/blog\/jira-themes-initiatives\/\">Initiatives<\/a> in Jira. Engineers use the finalized stories to create detailed implementation plans that will include all the steps that must be completed in order to deliver said Story.&nbsp;<\/p>\n\n\n\n<p>You\u2019ll need to click on the \u201cCreate\u201d button in Jira to create a Story.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"252\" src=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-11-1024x252.png\" alt=\"\" class=\"wp-image-1927\" srcset=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-11-1024x252.png 1024w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-11-300x74.png 300w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-11-768x189.png 768w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-11-1536x378.png 1536w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-11-2048x504.png 2048w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-11-1100x271.png 1100w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>From there you\u2019ll need to create a new work item (issue) and select the story work type.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"629\" src=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-12-1024x629.png\" alt=\"\" class=\"wp-image-1930\" srcset=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-12-1024x629.png 1024w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-12-300x184.png 300w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-12-768x472.png 768w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-12-1536x944.png 1536w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-12-2048x1259.png 2048w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-12-1100x676.png 1100w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Once selected &#8211; fill the Story with the story description. Jira has <a href=\"https:\/\/confluence.atlassian.com\/adminjiraserver\/issue-fields-and-statuses-938847116.html\">many fields for documenting stories<\/a>. You may be actively using different ones based on the processes established in your company. Let\u2019s focus on several of them for now.<\/p>\n\n\n\n<ul class=\"wp-block-list large-list\">\n<li><strong>Summary:<\/strong> This field is a brief, one-line description of your work item. Use it to show what the story is about. Example: Temporarily change card limit.<\/li>\n\n\n\n<li><strong>Description: <\/strong>You can use this field to add more details and context, add links and file attachments, etc.&nbsp;<\/li>\n\n\n\n<li><strong>Epic:<\/strong> This field is located above the summary. It shows the Epic a Story is related to.<\/li>\n\n\n\n<li><strong>Reporter:<\/strong> This field will show the person who has entered the Story into the system.<\/li>\n\n\n\n<li><strong>Assignee:<\/strong> This field shows the person who will be working on the Story.<\/li>\n\n\n\n<li><strong>Watchers: <\/strong>This field is used to show people who are \u201cwatching\u201d (receiving updates when something in the Story changes) the work item. This field is often used for code reviews and QA.<\/li>\n\n\n\n<li><strong>Due Date:<\/strong> This is the due date or deadline for a Story.<\/li>\n\n\n\n<li><strong>Story Points:<\/strong> This field is used to visualize the complexity of a Story.&nbsp;<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">The workflow of a User Story<\/h2>\n\n\n\n<p>Most of the time the first batch of User Stories will be created and added to the backlog ad hoc. They will be pretty generalized and their objective will be to simply give the development a certain vector. This step is usually done by the Product owner.<\/p>\n\n\n\n<p>These stories will be later refined during the backlog refining sessions by the entire team. You\u2019ll add <a href=\"https:\/\/titanapps.io\/blog\/acceptance-criteria-jira\/\">Acceptance Criteria<\/a> to the stories. These criteria are needed to further define the story and add a bit more context.&nbsp;&nbsp;<\/p>\n\n\n\n<p>You\u2019ll also assign stories their story points &#8211; an agreed upon rough estimation of the complexity of a story.<\/p>\n\n\n\n<p>The stories that are moved from the backlog into the Sprint backlog must be ready. By that, I mean that they must be immediately actionable. This doesn&#8217;t mean that you\u2019ll need to define 100% of the Acceptance Criteria. But you\u2019ll need to ensure that the team understands the story well enough to a point where they are sure it can be delivered. For this purpose, many companies use <a href=\"https:\/\/www.agilealliance.org\/glossary\/invest\/\">INVEST<\/a> checklists for their Definition of Ready.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"680\" src=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-13-1024x680.png\" alt=\"\" class=\"wp-image-1932\" srcset=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-13-1024x680.png 1024w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-13-300x199.png 300w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-13-768x510.png 768w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-13-1536x1020.png 1536w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-13-2048x1360.png 2048w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-13-1100x730.png 1100w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>The following stage would be to move the work item from the backlog to the Sprint backlog. This is when the development team will begin their work on the feature and, once the story meets the Definition of Done, the feature will be released.<\/p>\n\n\n\n<p>Here are some valuable tips for writing kick-ass user stories:<\/p>\n\n\n\n<ul class=\"wp-block-list large-list\">\n<li>The user always comes first.<\/li>\n\n\n\n<li>Putting the user first will be much simpler if you are using user personas.<\/li>\n\n\n\n<li>Collaborate on your stories. While it is true that one person will most likely write the stories, your team will have a much better time if you discuss them before including them into the Sprint. This will inspire creativity and can offer a handful of fresh ideas on how to address the matter more efficiently.<\/li>\n\n\n\n<li>Don\u2019t get too carried away with creativity. Every user story must have a definitive business value rather than being an obscure use case.<\/li>\n\n\n\n<li>Be descriptive <strong><em>enough<\/em><\/strong> when writing user stories. As I\u2019ve mentioned before, a User Story is a general explanation of a feature and the details revolving around it should go to Acceptance Criteria. That being said, you\u2019ll still need to clearly describe the user, their goal and intent.&nbsp;<\/li>\n\n\n\n<li>Refine your user stories. Each of them must be clear, achievable, and testable.&nbsp;<\/li>\n\n\n\n<li>Add Acceptance Criteria to your Stories. They might seem similar to User Stories, but they are not the same. A User Story aims to describe what a user wants the software to do, while Acceptance Criteria (AC) describe the conditions that a User Story must satisfy. In simpler words, Acceptance Criteria is a set of conditions that the software must meet in order to satisfy the user. In our example with the banking app, the inability to an invalid number or having a limit on raising the card\u2019s limit would be considered Acceptance Criterias.&nbsp;<\/li>\n\n\n\n<li>While there isn&#8217;t a universal size for a user story, they are &#8211; by definition &#8211; atomic. They should be small enough for a technical team to be able to implement them within a considerably short amount of time (you should be able to move it across the board during a Sprint). And, if there are two parts of a story, well, there should be two stories.&nbsp;<\/li>\n<\/ul>\n\n\n\n<section class=\"note\" style=\"background: #fefae9\">\n  <div class=\"note-heading\">\n    <img loading=\"lazy\" decoding=\"async\" width=\"44\" height=\"44\" src=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2024\/08\/note.png\" class=\"note-heading__image\" alt=\"\" srcset=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2024\/08\/note.png 44w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2024\/08\/note-24x24.png 24w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2024\/08\/note-36x36.png 36w\" sizes=\"(max-width: 44px) 100vw, 44px\" \/>    <span class=\"note__label\">Pro Tip<\/span>\n  <\/div>\n      <div class=\"note__text\">\n        <p>You can use a <a href=\"https:\/\/marketplace.atlassian.com\/apps\/1216451\/smart-checklist-for-jira-pro?hosting=cloud&amp;tab=overview\">Jira Checklist<\/a> to document the core points of the Story, mentioning the additional tasks as individual checklist items.<\/p>\n    <\/div>\n  <\/section>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"680\" src=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-14-1024x680.png\" alt=\"\" class=\"wp-image-1933\" srcset=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-14-1024x680.png 1024w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-14-300x199.png 300w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-14-768x510.png 768w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-14-1536x1020.png 1536w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-14-2048x1360.png 2048w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-14-1100x730.png 1100w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Smart Checklist for Jira | Getting Started\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/mOuUImPHobg?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Story points in User Stories<\/h2>\n\n\n\n<p>Engineers typically use story points to measure the complexity of a story. We use a tool called <a href=\"https:\/\/www.planningpoker.com\/\">Planning Poker<\/a> to assign points to a story based on effort, uncertainty, and risk.&nbsp;<\/p>\n\n\n\n<p>This method of measurement helps the team understand the workload per sprint from seeing the story points in the backlog.&nbsp;<\/p>\n\n\n\n<p>How does this work?<\/p>\n\n\n\n<ul class=\"wp-block-list large-list\">\n<li>The team discusses the work they need to do before the Sprint begins. All of the stories are reviewed and assigned with story points based on their complexity.<\/li>\n\n\n\n<li>When the team commits to a Sprint, we know the stories we will be working on as well as their \u201cworth\u201d in points.<\/li>\n\n\n\n<li>The team burns down stories that have met the Definition of Done by the end of the Sprint.&nbsp;<\/li>\n\n\n\n<li>Any stories that have not been completed are moved back to the backlog and then refined and potentially re-estimated.These stories can then be moved back to the Sprint if the team decides on doing so.<\/li>\n\n\n\n<li>When this practice is consistent for each sprint &#8211; the team will learn their velocity (the number of story points they typically burn during a Sprint) over time.<\/li>\n<\/ul>\n\n\n\n<p>Obviously, there are other ways developers can assign Story Points to their stories. One of the most common approaches is the <a href=\"https:\/\/www.lucidchart.com\/blog\/fibonacci-scale-for-agile-estimation\">Fibonacci sequence<\/a>.<\/p>\n\n\n\n<p>This sequence follows a pattern where each number is the sum of the previous two in the series. The sequence starts with 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, and continues in the same way. Using this sequence as the scoring scale is known as Fibonacci agile estimation, which helps estimate the effort required for agile development tasks.<\/p>\n\n\n\n<p>This approach is quite useful as it limits the total number of numerals in the sequence and eliminates the need to debate over the nuances of complexity. Why is this important? Deciding the complexity based on a finite number of points is simpler as, at the end of the day, you are limited to either 55, or 89 instead of choosing through the entire range of 55 to 89.&nbsp;<\/p>\n\n\n\n<p><a href=\"http:\/\/www.agilebuddha.com\/estimation\/should-we-use-t-shirt-sizing-instead-of-story-points\/\">The T-shirt method<\/a> is also used to evaluate the complexity of work but it forgoes the concept of having points whatsoever. Engineers simply use T-shirt sizes like S, M, L, XL, and XXL instead of numbers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">User Stories VS Requirements<\/h2>\n\n\n\n<p>People often think that user stories are an evolution of software requirements that have adapted to agile software development. In reality, they are a type of software requirements.&nbsp;<\/p>\n\n\n\n<p>Other types of software requirements include functional\/non-functional requirements, use cases, scenarios, SRS, and business requirements.<\/p>\n\n\n\n<p>Functional requirements describe how a feature should function. Here\u2019s an example: <em>An Admin user needs to log into the ABZ application\u2019s Admin interface using valid login credentials.&nbsp;<\/em><\/p>\n\n\n\n<p>Non-functional requirements focus on other aspects like security, reliability, maintainability, availability, and performance. <em>1000 concurrent users needing to log into the ABC application in 5 seconds<\/em> would be an example of a non-functional performance requirement.<\/p>\n\n\n\n<p>Both functional and non-functional requirements must be prepared by a Product Owner, Product manager, or Business Analyst for every feature before the development begins.&nbsp;<\/p>\n\n\n\n<p>Use Cases document what the actions of a typical user they need to undertake in order to achieve something. This may sound similar to a User Story, but there\u2019s a major difference. Use Cases are written from the perspective of the system. They often include much more details and clear feature, and system requirements. They also usually contain technical details for internal use.<\/p>\n\n\n\n<p>The Business Requirements, or BRS is a document that defines and specifies the customer\u2019s requirements.<\/p>\n\n\n\n<p>SRS or Software Requirement Specification is created by a Business Analyst once the Business Requirement Specification has been agreed upon. These requirements are usually crafted with minimal collaboration between the development team and the business. SRS are similar to user stories in the way that they don\u2019t typically include any technical specifications or a defined way of developing the feature. That being said, their content is still lengthy and quite comprehensive. Think of them as a way the business shows what they believe their users want.&nbsp;<\/p>\n\n\n\n<p>User Stories are leaner. They have grown in popularity as more agile methodologies have dominated the development scene. The appeal of User Stories is that they are much more simple and intuitive. They follow the Agile manifesto and can be written by anyone from the business or the development team. User stories are continuously being written throughout the project. You can also update them at any time.&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Using Smart Checklist with User Stories<\/h2>\n\n\n\n<p>While attaching a <a href=\"https:\/\/titanapps.io\/blog\/definition-of-done-in-jira\/\">Definition of Done<\/a> to a story is not a #must, having one is still among <a href=\"https:\/\/titanapps.io\/blog\/jira-best-practices\/\">Jira best practices<\/a>. It is not related to the <a href=\"https:\/\/www.digitalsilk.com\/digital-marketing\" target=\"_blank\" rel=\"noreferrer noopener\">content of your story<\/a>, but rather a reminder of the processes you\u2019ve established.\u00a0<\/p>\n\n\n\n<p>An example of a Definition of Done would be that the feature is deployed, QA has access to it, and it has been covered with tests. Given its nature, the same Definition of Done can be applied to multiple stories, so it can be wise to automate it with a <a href=\"https:\/\/titanapps.io\/blog\/jira-checklist-templates\/\">template<\/a>. Having a checklist template for these things saves you from a lot of back and forth between developers, designers, and QA engineers.<\/p>\n\n\n\n<p>You\u2019ll also be able to add the <a href=\"https:\/\/titanapps.io\/blog\/acceptance-criteria-jira\/\">Acceptance Criteria<\/a> and Definition of Done to each individual User Story item in the checklist. This way both your team and the Product Owner will have them clearly visible whenever a ticket is open.&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"501\" src=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-15-1024x501.png\" alt=\"\" class=\"wp-image-1934\" srcset=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-15-1024x501.png 1024w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-15-300x147.png 300w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-15-768x376.png 768w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-15-1536x752.png 1536w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-15-2048x1003.png 2048w, https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Template-main-15-1100x539.png 1100w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Importance of User Stories in software development<\/h2>\n\n\n\n<p>Everyone who\u2019s used a messy product with a convoluted interface can confirm that software engineers can benefit from putting themselves into their user\u2019s shoes. However, this is not the only reason why good User Stories are important.<\/p>\n\n\n\n<ul class=\"wp-block-list large-list\">\n<li>Just like a to-do list will keep a person focused on what needs to be done in order to succeed with a task, a good User Story will guide the team towards solving the pains of their users.<\/li>\n\n\n\n<li>User Stories help everyone be on the same page. This frees the team to deliver results the way they see fit without any one person telling everyone exactly what to do.<\/li>\n\n\n\n<li>User stories are written in simple, non-technical language without any jargon and complexity. This inspires collaboration and involvement from engineers and \u201cthe suits\u201d alike.<\/li>\n<\/ul>\n\n\n\n<section class=\"banner-block\">\n  <div class=\"banner-block__info\">\n    <h5 class=\"banner-block__title\">Add checklists to your Jira tasks<\/h5>\n        <a href=\"https:\/\/marketplace.atlassian.com\/apps\/1216451\/smart-checklist-for-jira-pro\" target=\"_blank\" class=\"banner-block__link btn btn-orange\" >Try it free<\/a>\n  <\/div>\n  <div class=\"banner-block__image\">\n    <img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2020\/05\/Smart-Checklist_Jira-3.svg\" alt=\"\" width=\"420\" height=\"331\">\n  <\/div>\n<\/section>\n\n\n\n<section class=\"writer\">\n  <div class=\"writer__image\">\n    <img alt='Oleksandr Siryi' src='https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/05\/oleksandr-siryi_avatar-180x180.png' srcset='https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/05\/oleksandr-siryi_avatar-361x360.png 2x' class='avatar avatar-180 photo' height='180' width='180' \/>  <\/div>\n\n  <div class=\"writer-data\">\n    <span class=\"writer-data__label\">Article by<\/span>\n    <span class=\"writer-data__name\">\n      Oleksandr Siryi    <\/span>\n    <div class=\"writer-data__bio\">\n          <\/div>\n\n      <\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>This article is dedicated to writing kick-ass User Stories. I\u2019ll focus on answering the following questions: An introduction to User Stories Engineers love solving puzzles, implementing new technologies, and finding better, more optimized uses for their tech stack. However, at the end of the day, the software they develop is not a Rubic\u2019s cube. There\u2019s [&hellip;]<\/p>\n","protected":false},"author":181780125,"featured_media":6557,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[1401,1405,1416,1409],"tags":[],"coauthors":[1427],"class_list":["post-586","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-article","category-atlassian-jira","category-it-engineering","category-smart-checklist"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Write Kick-Ass User Stories in Jira | TitanApps Blog<\/title>\n<meta name=\"description\" content=\"Learn everything you need to know about writing effective User Stories and efficiently working with them in Jira.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Write Kick-Ass User Stories in Jira | Smart Checklist Blog\" \/>\n<meta property=\"og:description\" content=\"Learn everything you need to know about writing effective User Stories and efficiently working with them in Jira.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira\" \/>\n<meta property=\"og:site_name\" content=\"Titanapps\" \/>\n<meta property=\"article:published_time\" content=\"2023-03-13T16:44:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-16T19:44:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Write-Kick-Ass-User-Stories-in-Jira.png\" \/>\n\t<meta property=\"og:image:width\" content=\"2240\" \/>\n\t<meta property=\"og:image:height\" content=\"1260\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Oleksandr Siryi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Write Kick-Ass User Stories in Jira | Smart Checklist Blog\" \/>\n<meta name=\"twitter:description\" content=\"Learn everything you need to know about writing effective User Stories and efficiently working with them in Jira.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Write-Kick-Ass-User-Stories-in-Jira.png\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Oleksandr Siryi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira\",\"url\":\"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira\",\"name\":\"Write Kick-Ass User Stories in Jira | TitanApps Blog\",\"isPartOf\":{\"@id\":\"https:\/\/titanapps.io\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira#primaryimage\"},\"image\":{\"@id\":\"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira#primaryimage\"},\"thumbnailUrl\":\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Write-Kick-Ass-User-Stories-FFF1CC.svg\",\"datePublished\":\"2023-03-13T16:44:45+00:00\",\"dateModified\":\"2025-10-16T19:44:31+00:00\",\"author\":{\"@id\":\"https:\/\/titanapps.io\/blog\/#\/schema\/person\/e31194dd28ed4ff3f447c7ce300f46cf\"},\"description\":\"Learn everything you need to know about writing effective User Stories and efficiently working with them in Jira.\",\"breadcrumb\":{\"@id\":\"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira#primaryimage\",\"url\":\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Write-Kick-Ass-User-Stories-FFF1CC.svg\",\"contentUrl\":\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Write-Kick-Ass-User-Stories-FFF1CC.svg\",\"width\":480,\"height\":320},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/titanapps.io\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Write Kick-Ass User Stories\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/titanapps.io\/blog\/#website\",\"url\":\"https:\/\/titanapps.io\/blog\/\",\"name\":\"Titanapps\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/titanapps.io\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/titanapps.io\/blog\/#\/schema\/person\/e31194dd28ed4ff3f447c7ce300f46cf\",\"name\":\"Oleksandr Siryi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/titanapps.io\/blog\/#\/schema\/person\/image\/3071edc8a225b0198b189bd93cd7db6f\",\"url\":\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/05\/oleksandr-siryi_avatar-96x96.png\",\"contentUrl\":\"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/05\/oleksandr-siryi_avatar-96x96.png\",\"caption\":\"Oleksandr Siryi\"},\"sameAs\":[\"http:\/\/blogjirachecklist.wordpress.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Write Kick-Ass User Stories in Jira | TitanApps Blog","description":"Learn everything you need to know about writing effective User Stories and efficiently working with them in Jira.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira","og_locale":"en_US","og_type":"article","og_title":"Write Kick-Ass User Stories in Jira | Smart Checklist Blog","og_description":"Learn everything you need to know about writing effective User Stories and efficiently working with them in Jira.","og_url":"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira","og_site_name":"Titanapps","article_published_time":"2023-03-13T16:44:45+00:00","article_modified_time":"2025-10-16T19:44:31+00:00","og_image":[{"width":2240,"height":1260,"url":"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Write-Kick-Ass-User-Stories-in-Jira.png","type":"image\/png"}],"author":"Oleksandr Siryi","twitter_card":"summary_large_image","twitter_title":"Write Kick-Ass User Stories in Jira | Smart Checklist Blog","twitter_description":"Learn everything you need to know about writing effective User Stories and efficiently working with them in Jira.","twitter_image":"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Write-Kick-Ass-User-Stories-in-Jira.png","twitter_misc":{"Written by":"Oleksandr Siryi","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira","url":"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira","name":"Write Kick-Ass User Stories in Jira | TitanApps Blog","isPartOf":{"@id":"https:\/\/titanapps.io\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira#primaryimage"},"image":{"@id":"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira#primaryimage"},"thumbnailUrl":"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Write-Kick-Ass-User-Stories-FFF1CC.svg","datePublished":"2023-03-13T16:44:45+00:00","dateModified":"2025-10-16T19:44:31+00:00","author":{"@id":"https:\/\/titanapps.io\/blog\/#\/schema\/person\/e31194dd28ed4ff3f447c7ce300f46cf"},"description":"Learn everything you need to know about writing effective User Stories and efficiently working with them in Jira.","breadcrumb":{"@id":"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira#primaryimage","url":"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Write-Kick-Ass-User-Stories-FFF1CC.svg","contentUrl":"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2023\/03\/Write-Kick-Ass-User-Stories-FFF1CC.svg","width":480,"height":320},{"@type":"BreadcrumbList","@id":"https:\/\/titanapps.io\/blog\/how-to-write-user-stories-in-jira#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/titanapps.io\/blog\/"},{"@type":"ListItem","position":2,"name":"Write Kick-Ass User Stories"}]},{"@type":"WebSite","@id":"https:\/\/titanapps.io\/blog\/#website","url":"https:\/\/titanapps.io\/blog\/","name":"Titanapps","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/titanapps.io\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/titanapps.io\/blog\/#\/schema\/person\/e31194dd28ed4ff3f447c7ce300f46cf","name":"Oleksandr Siryi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/titanapps.io\/blog\/#\/schema\/person\/image\/3071edc8a225b0198b189bd93cd7db6f","url":"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/05\/oleksandr-siryi_avatar-96x96.png","contentUrl":"https:\/\/titanapps.io\/blog\/wp-content\/uploads\/2025\/05\/oleksandr-siryi_avatar-96x96.png","caption":"Oleksandr Siryi"},"sameAs":["http:\/\/blogjirachecklist.wordpress.com"]}]}},"article_bg":"#FFF1CC","_links":{"self":[{"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/posts\/586"}],"collection":[{"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/users\/181780125"}],"replies":[{"embeddable":true,"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/comments?post=586"}],"version-history":[{"count":20,"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/posts\/586\/revisions"}],"predecessor-version":[{"id":7384,"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/posts\/586\/revisions\/7384"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/media\/6557"}],"wp:attachment":[{"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/media?parent=586"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/categories?post=586"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/tags?post=586"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/titanapps.io\/blog\/wp-json\/wp\/v2\/coauthors?post=586"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}