{"id":4732,"date":"2016-03-19T16:17:50","date_gmt":"2016-03-19T16:17:50","guid":{"rendered":"https:\/\/www.process.st\/templates\/user-story-template\/"},"modified":"2024-02-28T16:41:54","modified_gmt":"2024-02-28T16:41:54","slug":"user-story-template","status":"publish","type":"post","link":"https:\/\/www.process.st\/templates\/user-story-template\/","title":{"rendered":"User Story Template"},"content":{"rendered":"<section id=\"introduction\">\n<h2> Introduction <\/h2>\n<div class=\"image-content\">\n<figure>\n   <a href=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/hx6fU6rGdbhuhgaCN49HKQ.png\" alt=\"Introduction\" target=\"_blank\" rel=\"noopener\"> <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/hx6fU6rGdbhuhgaCN49HKQ.png\" \/> <\/a><br \/>\n  <\/figure>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>User stories make up the backbone of any decent software engineering team. Standardizing all of the potential tasks for your team with a user story template, however, can be a daunting task.<\/p>\n<p>'<em>Written language is often very imprecise, and there\u2019s no guarantee that a customer and developer will interpret a statement in the same way<\/em>' - <a href=\"https:\/\/www.mountaingoatsoftware.com\/articles\/advantages-of-user-stories-for-requirements\" rel=\"nofollow noopener\" target=\"_blank\">Mike Cohn<\/a><\/p>\n<p>In order to prevent this confusion from happening and wasting both you and your colleagues' time, we've come up with this handy little user story template. Whether you're tracking your stories in <a href=\"https:\/\/www.atlassian.com\/software\/jira\" rel=\"nofollow noopener\" target=\"_blank\">JIRA<\/a>, <a href=\"https:\/\/github.com\/\" rel=\"nofollow noopener\" target=\"_blank\">GitHub<\/a> or <a href=\"http:\/\/www.fogcreek.com\/fogbugz\/\" rel=\"nofollow noopener\" target=\"_blank\">Fogbugz<\/a>, by running this every time you need to standardize a user story, you can easily detail:<\/p>\n<ul>\n<li>The entire user story in a concise manner<\/li>\n<li>The context of the issue<\/li>\n<li>Additional features (such as labels) to organize your backlog effectively<\/li>\n<li>How complex the issue is<\/li>\n<\/ul>\n<p>Before we begin, however, it is worth mentioning that we have assumed all of your&nbsp;potential user stories have been collected into one grooming queue. If you are unsure of whether or not this has already happened, check that all issues which the developers will need to work on have been tracked before continuing.<\/p>\n<p>Grooming queue ready? Well then, let's get started!<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"writing-the-story\">\n<h2> Writing the Story: <\/h2>\n<\/section>\n<section id=\"select-the-first-source-in-your-grooming-queue\">\n<h2> Select the first source in your grooming queue <\/h2>\n<div class=\"text-content\">\n<p>First up, in order to perform this user story&nbsp;template you'll <strong>need the original source<\/strong> to go off, be it a bug report or a desire expressed by one of your developers.&nbsp;<\/p>\n<p>All user stories need grooming, so just go into the <strong>first one in your grooming queue<\/strong>. Bear in mind, this can consist of many things, including (but not limited to):<\/p>\n<ul>\n<li>A support ticket requesting a new feature<\/li>\n<li>Bug reports<\/li>\n<li>One of your developers requesting a new back-end feature<\/li>\n<li>You own musings on how a particular customer may want to use your product<\/li>\n<\/ul>\n<p>Don't worry about complexity, how vague or specific the source is or anything like that. For now, just get the first source.<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"check-the-storys-information-is-stored\">\n<h2> Check the story's information is stored <\/h2>\n<div class=\"text-content\">\n<p>Once you've selected your user story, you need to <strong>make sure that the original data<\/strong> for it <strong>is stored<\/strong> as proof of grooming. Ideally, at least one will have<strong> automatically<\/strong> been filled out in the <strong>form fields<\/strong> below.<\/p>\n<\/p><\/div>\n<div class=\"text-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> Original Title <\/label><br \/>\n   <input type=\"text\" placeholder=\"Something will be typed here...\" disabled=\"disabled\" class=\"form-control\" \/>\n  <\/div>\n<\/p><\/div>\n<div class=\"textarea-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> Original Description <\/label><br \/>\n   <textarea placeholder=\"Something will be typed here...\" rows=\"3\" disabled=\"disabled\" class=\"form-control\"><\/textarea>\n  <\/div>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>Above are the <strong>form fields<\/strong> for the <strong>Story ID, Original Title <\/strong>and<strong> Original Description<\/strong>; more fields can be added if desired by editing this template. The <strong>Story ID&nbsp;should all automatically fill<\/strong> when linked to your project management software correctly.<\/p>\n<p>As for the Title and Description fields, unless they are automatically filled just copy and paste the story's current title and description in there.<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"update-the-title\">\n<h2> Update the title <\/h2>\n<div class=\"image-content\">\n<figure>\n   <a href=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/hMPqXWBEtowvvLCCdhdAEw.png\" alt=\"Update the title\" target=\"_blank\" rel=\"noopener\"> <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/hMPqXWBEtowvvLCCdhdAEw.png\" \/> <\/a><br \/>\n  <\/figure>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>The whole aim of this user story template is to <strong>standardize<\/strong> them, ready to later plan into your sprints. To this end, the first step in writing the story should be to <strong>change the title<\/strong> to <strong>concisely describe<\/strong> <strong>the story<\/strong>.<\/p>\n<p>Enter the <strong>new title<\/strong> into the<strong> form field<\/strong> below - note that this can be linked back to your project management software to<strong> automatically update <\/strong>the<strong> user story card<\/strong> itself.<\/p>\n<\/p><\/div>\n<div class=\"text-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> Updated Title <\/label><br \/>\n   <input type=\"text\" placeholder=\"Something will be typed here...\" disabled=\"disabled\" class=\"form-control\" \/>\n  <\/div>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>Although there are a couple of different methods for formatting this, the most commonly used is the <strong>Agile method<\/strong>, which is as follows:<\/p>\n<ul>\n<li><strong>As a &lt;user identity&gt;, I want &lt;desired feature&gt; in order to &lt;goal&gt;<\/strong><\/li>\n<\/ul>\n<p>Fill in the blanks by either working with what the story already tells or, or with small logic leaps (such as predicting the user's goal, based on their identity and desired feature). Note that the title of bugs should also be formatted in the same way or, at least, as much as possible.<\/p>\n<p><strong>Keep it short and sweet!<\/strong> Ideally, the title should be entirely visible from the dashboard view of your tracking software. This won't always be possible, but strive to be concise.<\/p>\n<p>An example of a complete title would be:<\/p>\n<ul>\n<li><strong>As a user, I can indicate folders not to backup so that my backup drive isn't filled up with things I don't need saved<\/strong><\/li>\n<\/ul><\/div>\n<\/section>\n<section id=\"state-any-acceptance-criteria\">\n<h2> State any acceptance criteria <\/h2>\n<div class=\"text-content\">\n<p><strong>Acceptance criteria<\/strong> eliminate doubt from your issues and are vital to include when writing your user stories. Remember to keep them in<strong> basic language<\/strong> that cannot be misinterpreted.<\/p>\n<p>If you are unsure of what to write, all you need to do is to picture the&nbsp;<strong>boundaries of your user story<\/strong>, and <strong>what must be true<\/strong> in order for a story to be confirmed in working as intended.<\/p>\n<p>For example, <a href=\"http:\/\/nomad8.com\/acceptance_criteria\/\" rel=\"nofollow noopener\" target=\"_blank\">Sandy Mamoli<\/a>&nbsp;states that this user story:<\/p>\n<ul>\n<li>As an &lt;internet banking customer&gt; I want &lt;to see a rolling balance for my everyday accounts&gt;&nbsp;so that &lt;I know the balance of my account after each transaction is applied&gt;<\/li>\n<\/ul>\n<p>Has the acceptance criteria of:<\/p>\n<ul>\n<li>The rolling balance is displayed<\/li>\n<li>The rolling balance is calculated for each transaction<\/li>\n<li>The balance is displayed for every transaction for the full period of time transactions are available<\/li>\n<li>The balance is not displayed if a filter has been applied<\/li>\n<\/ul><\/div>\n<\/section>\n<section id=\"update-the-description\">\n<h2> Update the description <\/h2>\n<div class=\"text-content\">\n<p>The final text field to edit in the user story is the <strong>description<\/strong>. Although the story's title and acceptance criteria should detail everything the software team needs to know, enter any<strong> extra information<\/strong> which may be helpful in the <strong>form field<\/strong> below.<\/p>\n<p>As always, this field <strong>can be linked back<\/strong> to <strong>automatically update<\/strong> the <strong>original card<\/strong>.<\/p>\n<\/p><\/div>\n<div class=\"textarea-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> Updated Description <\/label><br \/>\n   <textarea placeholder=\"Something will be typed here...\" rows=\"3\" disabled=\"disabled\" class=\"form-control\"><\/textarea>\n  <\/div>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>The level of extra detail will depend on the complexity of the issue, but as a general rule of thumb, update the description with a bit of&nbsp;<strong>brief context to the issue<\/strong> (if applicable) or any <strong>outside factors to consider<\/strong>.<\/p>\n<p>Once again, we've got a <strong>form field<\/strong> for you to go ahead and write the description in; <strong>you can map this back to JIRA<\/strong> for automatic card updates too!<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"add-a-label\">\n<h2> Add a label <\/h2>\n<div class=\"image-content\">\n<figure>\n   <a href=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/sYChkCGfV5Yep7Jj1NlLVQ.png\" alt=\"Add a label\" target=\"_blank\" rel=\"noopener\"> <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/sYChkCGfV5Yep7Jj1NlLVQ.png\" \/> <\/a><br \/>\n  <\/figure>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>Now that the meat of the story is complete, you need to start filling in the remaining fields.&nbsp;First on our list is the story's <strong>label<\/strong>, which should be selected from the <strong>forms dropdown<\/strong> below.<\/p>\n<\/p><\/div>\n<div class=\"select-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> Card Label <\/label><br \/>\n   <select disabled=\"disabled\" class=\"form-control\"><option value=\"An option will be selected here\">An option will be selected here<\/option><\/select>\n  <\/div>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>Although the labels will vary (sadly, we aren't psychically&nbsp;linked to your company just yet), these should be pretty self-explanatory. Whether they are indications of the affected feature or the team which will benefit,<strong> label your story and move on<\/strong>.<\/p>\n<p><strong>Forms<\/strong> are once again to the rescue here, with the ability to <strong>update your labels and tags<\/strong> directly within this template! Feel free to <strong>edit the drop-down options<\/strong> to your heart's content.<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"set-the-due-date\">\n<h2> Set the due date <\/h2>\n<div class=\"text-content\">\n<p>Next up we have a <strong>due date<\/strong> to set! If your user story has a particular date by which it must be complete, note this in the <strong>form field<\/strong> below.<\/p>\n<\/p><\/div>\n<div class=\"date-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> Due Date <\/label> <\/p>\n<div class=\"date-container\">\n    <button type=\"button\" disabled=\"disabled\" class=\"btn btn-default\"> <i class=\"fa fa-calendar btn-icon\"><\/i> Date will be set here <\/button>\n   <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>Due dates are<strong> not always applicable<\/strong> (to either stories or certain tracking software), so don't worry too much if you do not know of any particular due date to set, or are plain unable to.<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"add-relevant-attachments-optional\">\n<h2> Add relevant attachments (optional) <\/h2>\n<div class=\"text-content\">\n<p>The third (and final) optional section of this user story template is adding <strong>attachments<\/strong> to your user story. Once again, this should only be done if relevant and necessary, and should be <strong>recorded<\/strong> using the <strong>form field<\/strong> below.<\/p>\n<\/p><\/div>\n<div class=\"file-field-content form-field-content\">\n<div class=\"form-group\">\n   <label> User Story Attachment <\/label> <\/p>\n<div class=\"file-container\">\n    <button type=\"button\" disabled=\"disabled\" class=\"btn btn-default\"> <i class=\"fa fa-upload btn-icon\"><\/i> File will be uploaded here <\/button>\n   <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>For example, a user story created from a bug report may require a<strong> screenshot<\/strong> of the issue to be take and attached in order to speed up the software debugging process.<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"prioritize-the-story\">\n<h2> Prioritize the story <\/h2>\n<div class=\"image-content\">\n<figure>\n   <a href=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/qFqtr4cj3-5jhfyeyf9FbA.png\" alt=\"Prioritize the story\" target=\"_blank\" rel=\"noopener\"> <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/qFqtr4cj3-5jhfyeyf9FbA.png\" \/> <\/a><br \/>\n  <\/figure>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>You're in the home stretch of the user story template! Now you'll need to consider the urgency of the story and <strong>assign it a priority<\/strong>.<\/p>\n<p>Once again, this is an area where you'll need to use your own judgment rather than any particular guidelines. In general, consider how widespread the effect of completing the story will be, and <strong>how great an impact it will have<\/strong> within that blast radius.<\/p>\n<p>For example, product-breaking glitches and bugs should probably be high priority, whilst minor additions to features which will not be implemented for months &nbsp;would be either low or medium.<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"estimate-points-based-on-complexity\">\n<h2> Estimate points based on complexity <\/h2>\n<div class=\"text-content\">\n<p>When prioritizing user tickets for the next sprint, it is incredibly important to know how complex an issue is. Hence, you must now<strong> assign points<\/strong> to your user story based on the complexity of the issue.<\/p>\n<p>Score the issues based on their<strong> perceived complexity, the&nbsp;effort required to achieve them and the level of doubt in the process<\/strong>. <a href=\"https:\/\/www.mountaingoatsoftware.com\/blog\/how-can-we-get-the-best-estimates-of-story-size\" rel=\"nofollow noopener\" target=\"_blank\">Mike Cohn<\/a> recommends scoring based on a &quot;bucket&quot; grouping system based on a Fibonacci sequence (0, 1, 2, 3, 5, 8, 13, 20, 40, 100), as this lessens the effect of small uncertainties.<\/p>\n<p>Remember to <strong>consider the points assigned rationally<\/strong>; if putting your story in the &quot;3&quot; bucket, ask yourself if it is truly three times more complicated than a recent 1 point issue.<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"assess-the-size-of-the-task\">\n<h2> Assess the size of the task <\/h2>\n<div class=\"text-content\">\n<p>Whilst most user stories are singular tasks, every so often you can stumble across something much larger. Before you spend time planning your user story within a certain sprint, you need to <strong>assess the size <\/strong>of the problem posed.<\/p>\n<p>If your story consists of a<strong> significantly large task<\/strong>, you should<strong> consider turning the story into an epic<\/strong>. For example,&nbsp;if the task (let's say, the creation of an entirely new feature)&nbsp;is unrealistic to achieve in a single sprint, it's probably an epic.<\/p>\n<p>Epics will require <strong>breaking up into several smaller stories<\/strong>, all of which must then be groomed with this same user story template.<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"move-your-story-to-the-production-queue\">\n<h2> Move your story to the production queue <\/h2>\n<div class=\"image-content\">\n<figure>\n   <a href=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/kKjlEZc0W4Eh0D_4zE1L0w.png\" alt=\"Move your story to the production queue\" target=\"_blank\" rel=\"noopener\"> <img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.process.st\/templates\/wp-content\/uploads\/2024\/02\/kKjlEZc0W4Eh0D_4zE1L0w.png\" \/> <\/a><br \/>\n  <\/figure>\n<\/p><\/div>\n<div class=\"text-content\">\n<p>To finish off the user story template, you need to <strong>move the complete user story&nbsp;into the production queue <\/strong>(or backlog), ready to prioritize. Usually, this just requires you to move the story to the next list in your tracking system<\/p>\n<p>This can be automated to a certain degree, but you need to<strong> check for the presence of the new entry<\/strong> even if you do not have a manual system. Congratulations! Your user story template is complete, and it's time to move on to the next one.<\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"sources\">\n<h2> Sources: <\/h2>\n<div class=\"text-content\">\n<p><a href=\"https:\/\/twitter.com\/mikewcohn\" target=\"_blank\" rel=\"nofollow noopener\">Mike Cohn<\/a> -&nbsp;<a href=\"https:\/\/www.mountaingoatsoftware.com\/articles\/advantages-of-user-stories-for-requirements\" rel=\"nofollow noopener\" target=\"_blank\">Advantages of User Stories for Requirements<\/a><\/p>\n<p><a href=\"https:\/\/twitter.com\/smamol\" target=\"_blank\" rel=\"nofollow noopener\">Sandi Mamoli<\/a> -&nbsp;<a href=\"http:\/\/nomad8.com\/acceptance_criteria\/\" target=\"_blank\" rel=\"nofollow noopener\">On Acceptance Criteria for User Stories<\/a><\/p>\n<p><a href=\"https:\/\/twitter.com\/mikewcohn\" target=\"_blank\" rel=\"nofollow noopener\">Mike Cohn<\/a>&nbsp;-&nbsp;<a href=\"https:\/\/www.mountaingoatsoftware.com\/blog\/how-can-we-get-the-best-estimates-of-story-size\" target=\"_blank\" rel=\"nofollow noopener\">How Can We Get the Best Estimates of Story Size?<\/a><\/p>\n<p><a href=\"https:\/\/twitter.com\/andrea_gigante\" target=\"_blank\" rel=\"nofollow noopener\">Andrea Gigante<\/a> -&nbsp;<a href=\"https:\/\/www.scrumalliance.org\/community\/articles\/2013\/august\/creating-an-agile-roadmap-using-story-mapping\" rel=\"nofollow noopener\" target=\"_blank\">Creating an Agile Road Map Using Story Mapping<\/a><\/p>\n<p><a href=\"https:\/\/www.scrumalliance.org\/community\/profile\/vpammi\" target=\"_blank\" rel=\"nofollow noopener\">Venkata Gayatri Krishnamurty Pammi<\/a> -&nbsp;<a href=\"https:\/\/www.scrumalliance.org\/community\/articles\/2013\/september\/agile-user-stories\" rel=\"nofollow noopener\" target=\"_blank\">Agile User Stories<\/a><\/p>\n<p><a href=\"https:\/\/twitter.com\/cowansf\" target=\"_blank\" rel=\"nofollow noopener\">Alex Cowan<\/a> -&nbsp;<a href=\"http:\/\/www.alexandercowan.com\/best-agile-user-story\/\" rel=\"nofollow noopener\" target=\"_blank\">Your Best Agile User Story<\/a><\/p>\n<p><a href=\"https:\/\/www.gov.uk\/\" target=\"_blank\" rel=\"nofollow noopener\">Gov.uk<\/a> -&nbsp;<a href=\"https:\/\/www.gov.uk\/service-manual\/agile-delivery\/writing-user-stories\" rel=\"nofollow noopener\" target=\"_blank\">Writing User Stories<\/a><\/p>\n<p><a href=\"https:\/\/twitter.com\/romanpichler\" target=\"_blank\" rel=\"nofollow noopener\">Roman Pichler<\/a> -&nbsp;<a href=\"http:\/\/www.romanpichler.com\/blog\/10-tips-writing-good-user-stories\/\" rel=\"nofollow noopener\" target=\"_blank\">10 Tips for Writing Good User Stories<\/a><\/p>\n<p><a href=\"http:\/\/agilemodeling.com\/\" target=\"_blank\" rel=\"nofollow noopener\">Agile Modeling<\/a> -&nbsp;<a href=\"http:\/\/www.agilemodeling.com\/artifacts\/userStory.htm\" rel=\"nofollow noopener\" target=\"_blank\">User Stories: An Agile Introduction<\/a><\/p>\n<p><a href=\"https:\/\/twitter.com\/mikewcohn\" target=\"_blank\" rel=\"nofollow noopener\">Mike Cohn<\/a>&nbsp;-&nbsp;<a href=\"https:\/\/www.mountaingoatsoftware.com\/blog\/advantages-of-the-as-a-user-i-want-user-story-template\" rel=\"nofollow noopener\" target=\"_blank\">Advantages of the \u201cAs a user, I want\u201d User Story Template<\/a><\/p>\n<p><a href=\"http:\/\/codesqueeze.com\/\" target=\"_blank\" rel=\"nofollow noopener\">Codesqueeze<\/a> -&nbsp;<a href=\"http:\/\/codesqueeze.com\/the-easy-way-to-writing-good-user-stories\/\" rel=\"nofollow noopener\" target=\"_blank\">The Easy Way to Writing Good User Stories<\/a><\/p>\n<p><a href=\"https:\/\/help.rallydev.com\/\" target=\"_blank\" rel=\"nofollow noopener\">CA Agile Central Help<\/a> -&nbsp;<a href=\"https:\/\/help.rallydev.com\/writing-great-user-story\" rel=\"nofollow noopener\" target=\"_blank\">Write a Great User Story<\/a><\/p>\n<p><a href=\"https:\/\/twitter.com\/auchmill\" target=\"_blank\" rel=\"nofollow noopener\">Courtney Johnston<\/a> -&nbsp;<a href=\"http:\/\/www.boost.co.nz\/blog\/2010\/09\/acceptance-criteria\/\" rel=\"nofollow noopener\" target=\"_blank\">User Stories: A Beginner's Guide to Acceptance Criteria<\/a><\/p>\n<\/p><\/div>\n<\/section>\n<section id=\"relevant-checklists\">\n<h2> Relevant Checklists: <\/h2>\n<div class=\"text-content\">\n<p><a href=\"https:\/\/www.process.st\/templates\/git-workflow\/\" target=\"_blank\" rel=\"nofollow noopener\">Git Workflow<\/a><\/p>\n<p><a href=\"https:\/\/www.process.st\/templates\/sprint-planning\/\" target=\"_blank\" rel=\"nofollow noopener\">Sprint Planning<\/a><\/p>\n<p><a href=\"https:\/\/www.process.st\/templates\/scrum-project-management\/\" target=\"_blank\" rel=\"nofollow noopener\">Scrum Project Management<\/a><\/p>\n<p><a href=\"https:\/\/www.process.st\/templates\/software-deployment\/\" target=\"_blank\" rel=\"nofollow noopener\">Software Deployment<\/a><\/p>\n<p><a href=\"https:\/\/www.process.st\/templates\/software-testing-tutorial\/\" target=\"_blank\" rel=\"nofollow noopener\">Software Testing Tutorial<\/a><\/p>\n<p><a href=\"https:\/\/www.process.st\/templates\/software-debugging-process\/\" target=\"_blank\" rel=\"nofollow noopener\">Software Debugging Process<\/a><\/p>\n<\/p><\/div>\n<\/section>\n","protected":false},"excerpt":{"rendered":"<p>Introduction User stories make up the backbone of any decent software engineering team. Standardizing all of the potential tasks for your team with a user story template, however, can be a daunting task. 'Written language is often very imprecise, and there\u2019s no guarantee that a customer and developer will interpret a statement in the same [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":4733,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"ep_exclude_from_search":false,"cover_icon_emoji":"","cover_icon_url":"","tasks_count":"16","template_description":"Run this user story template every time you need to groom a user story","template_id":"oh5neS-BntcCXsqZFNJCFQ","task_0":"Introduction","task_slug_0":"introduction","task_1":"Writing the Story:","task_slug_1":"writing-the-story","task_2":"Select the first source in your grooming queue","task_slug_2":"select-the-first-source-in-your-grooming-queue","task_3":"Check the story's information is stored","task_slug_3":"check-the-storys-information-is-stored","task_4":"Update the title","task_slug_4":"update-the-title","task_5":"State any acceptance criteria","task_slug_5":"state-any-acceptance-criteria","task_6":"Update the description","task_slug_6":"update-the-description","task_7":"Add a label","task_slug_7":"add-a-label","task_8":"Set the due date","task_slug_8":"set-the-due-date","task_9":"Add relevant attachments (optional)","task_slug_9":"add-relevant-attachments-optional","task_10":"Prioritize the story","task_slug_10":"prioritize-the-story","task_11":"Estimate points based on complexity","task_slug_11":"estimate-points-based-on-complexity","task_12":"Assess the size of the task","task_slug_12":"assess-the-size-of-the-task","task_13":"Move your story to the production queue","task_slug_13":"move-your-story-to-the-production-queue","task_14":"Sources:","task_slug_14":"sources","task_15":"Relevant Checklists:","task_slug_15":"relevant-checklists","task_16":"","task_slug_16":"","task_17":"","task_slug_17":"","task_18":"","task_slug_18":"","task_19":"","task_slug_19":"","task_20":"","task_slug_20":"","task_21":"","task_slug_21":"","task_22":"","task_slug_22":"","task_23":"","task_slug_23":"","task_24":"","task_slug_24":"","task_25":"","task_slug_25":"","task_26":"","task_slug_26":"","task_27":"","task_slug_27":"","task_28":"","task_slug_28":"","task_29":"","task_slug_29":"","task_30":"","task_slug_30":"","task_31":"","task_slug_31":"","task_32":"","task_slug_32":"","task_33":"","task_slug_33":"","task_34":"","task_slug_34":"","task_35":"","task_slug_35":"","task_36":"","task_slug_36":"","task_37":"","task_slug_37":"","task_38":"","task_slug_38":"","task_39":"","task_slug_39":"","task_40":"","task_slug_40":"","task_41":"","task_slug_41":"","task_42":"","task_slug_42":"","task_43":"","task_slug_43":"","task_44":"","task_slug_44":"","task_45":"","task_slug_45":"","task_46":"","task_slug_46":"","task_47":"","task_slug_47":"","task_48":"","task_slug_48":"","task_49":"","task_slug_49":"","task_50":"","task_slug_50":"","task_51":"","task_slug_51":"","task_52":"","task_slug_52":"","task_53":"","task_slug_53":"","task_54":"","task_slug_54":"","task_55":"","task_slug_55":"","task_56":"","task_slug_56":"","task_57":"","task_slug_57":"","task_58":"","task_slug_58":"","task_59":"","task_slug_59":"","task_60":"","task_slug_60":"","task_61":"","task_slug_61":"","task_62":"","task_slug_62":"","task_63":"","task_slug_63":"","task_64":"","task_slug_64":"","task_65":"","task_slug_65":"","task_66":"","task_slug_66":"","task_67":"","task_slug_67":"","task_68":"","task_slug_68":"","task_69":"","task_slug_69":"","task_70":"","task_slug_70":"","task_71":"","task_slug_71":"","task_72":"","task_slug_72":"","task_73":"","task_slug_73":"","task_74":"","task_slug_74":"","task_75":"","task_slug_75":"","task_76":"","task_slug_76":"","task_77":"","task_slug_77":"","task_78":"","task_slug_78":"","task_79":"","task_slug_79":"","task_80":"","task_slug_80":"","task_81":"","task_slug_81":"","task_82":"","task_slug_82":"","task_83":"","task_slug_83":"","task_84":"","task_slug_84":"","task_85":"","task_slug_85":"","task_86":"","task_slug_86":"","task_87":"","task_slug_87":"","task_88":"","task_slug_88":"","task_89":"","task_slug_89":"","task_90":"","task_slug_90":"","task_91":"","task_slug_91":"","task_92":"","task_slug_92":"","task_93":"","task_slug_93":"","task_94":"","task_slug_94":"","task_95":"","task_slug_95":"","task_96":"","task_slug_96":"","task_97":"","task_slug_97":"","task_98":"","task_slug_98":"","task_99":"","task_slug_99":"","footnotes":""},"categories":[5,7,16,31],"tags":[],"class_list":["post-4732","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-featured","category-miscellaneous","category-quality-assurance","category-software"],"acf":[],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/posts\/4732","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/comments?post=4732"}],"version-history":[{"count":0,"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/posts\/4732\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/media\/4733"}],"wp:attachment":[{"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/media?parent=4732"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/categories?post=4732"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.process.st\/templates\/wp-json\/wp\/v2\/tags?post=4732"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}