{"id":600,"date":"2016-02-10T16:34:58","date_gmt":"2016-02-10T16:34:58","guid":{"rendered":"http:\/\/storycase.co.uk\/?p=600"},"modified":"2016-02-10T16:34:58","modified_gmt":"2016-02-10T16:34:58","slug":"how-to-capture-non-functional-requirements-with-stories","status":"publish","type":"post","link":"https:\/\/storycase.co.uk\/staging\/how-to-capture-non-functional-requirements-with-stories\/600\/","title":{"rendered":"How to capture non functional requirements with stories"},"content":{"rendered":"<figure id=\"attachment_606\" aria-describedby=\"caption-attachment-606\" style=\"width: 150px\" class=\"wp-caption alignleft\"><img loading=\"lazy\" decoding=\"async\" class=\"size-thumbnail wp-image-606\" src=\"http:\/\/storycase.co.uk\/wp-content\/uploads\/2016\/02\/NFRs-150x150.png\" alt=\"Non Functional Requirements\" width=\"150\" height=\"150\" \/><figcaption id=\"caption-attachment-606\" class=\"wp-caption-text\">Non Functional Requirements<\/figcaption><\/figure>\n<p>I&#8217;ve used several ways to capture\u00a0or address non functional requirements (NFRs) with user stories. Agile practitioners such a Mike Cohn have <strong><a href=\"https:\/\/www.mountaingoatsoftware.com\/blog\/non-functional-requirements-as-user-stories\" target=\"_blank\">written<\/a><\/strong> about the challenge. Most agree there are two main approaches: write each NFR as a user story or include NFRs in the definition of done (DoD). Let&#8217;s see how each approach can work in practice.<\/p>\n<p>First what do we mean by\u00a0non functional requirement and is it an oxymoron? NFRs or quality goals for applications and\u00a0services include: the service must be available 24x7x365 with 99.99% uptime. Or all user requests must be returned within 3 seconds. Or maybe DevOps must be notified\u00a0to resolve critical outages, etc.<\/p>\n<p>Many of the quality goals are really cross functional requirements that determine choice of service architecture. Other NFRs help shape the company&#8217;s brand by promoting a consistent style and behaviour.<\/p>\n<p>A good way to decide how to approach an NFR is to ask how can I test it. User stories with clear behavioural driven acceptance criteria make an obvious place to start.<\/p>\n<h3>User Stories<\/h3>\n<pre>As a bank customer\u00a0\r\nI want to access my account at any time\r\nSo that I am not restricted to normal\u00a0banking hours<\/pre>\n<pre>SCENARIO Registered customer accesses their account at any time of day\r\nGIVEN customer has active account\r\nWHEN customer\u00a0logs in with valid credentials\r\nTHEN all account services are available for use<\/pre>\n<p>Testing this story needs some thought. Any time literally means always so how many times should the automated tests run? And all account services suggested a complete set of the online account services are checked for each invocation. Clearly an onerous test. Suppose we consider a related NFR for number of concurrent users:<\/p>\n<pre>As bank service provider\r\nI want to support up to 10,000 users accessing their online account\r\ndetails simultaneously\r\nSo that peak demand by\u00a0customers at busy periods is satisfied<\/pre>\n<p>Now we have 1000 user requests at any time of day wanting to access the service. We need one more NFR to close out acceptance criteria:<\/p>\n<pre>As a bank customer\r\nI want to see my account details within a few seconds of logging in\r\nSo that I can access my account quickly<\/pre>\n<pre>SCENARIO 10,000 registered customers simultaneously access their account at any time of day\r\nGIVEN customers have active accounts\r\nWHEN 10,000 customers\u00a0log in with valid credentials within the same second\r\nTHEN all customer's account services are available for use within 5 seconds<\/pre>\n<p>A combination of NFRs framed\u00a0in a set of user stories help build test scenarios that ensure quality goals are achievable and measured.\u00a0But if every user story needs to include the response time and common error handling it makes for a lot of repetition.<\/p>\n<h3>Definition of Done<\/h3>\n<p>Another approach to cross cutting NFRs is to build them into the DoD. For example a team might commit to a DoD for each story such as:<\/p>\n<ul>\n<li>All acceptance criteria met<\/li>\n<li>No critical or major defects found<\/li>\n<li>Minor and cosmetic defects logged<\/li>\n<li>Audit log entries captured for all transactions<\/li>\n<li>Maximum response time achieved<\/li>\n<li>Minimum concurrent users supported<\/li>\n<li>Branding guidelines adhered<\/li>\n<li>WAI accessibility requirements met<\/li>\n<li>etc.<\/li>\n<\/ul>\n<p>The DoD becomes a wish list for all the quality goals and can quickly grow. With a tightly integrated test team that can define BDD criteria for each requirement the DoD can be used.<\/p>\n<p>Back to the question of what an NFR means. Each quality goal needs quantitive values to perform tests and determine if the outcome passes or fails. Failure of a test is logged as a defect and development effort put in to correct it. But what if the test fails when the service is operational? It&#8217;s the user who has to log the defect and that can be an expensive or costly for reputation.<\/p>\n<p>That&#8217;s why I suggest an NFR is often an oxymoron as it&#8217;s really a functional requirement or rather it needs a user story to ensure the service always behaves in a desired way. For example if we return to the availability NFR and the business and user&#8217;s needs:<\/p>\n<pre>As bank service provider\r\nI want to support up to 10,000 users accessing their online account details simultaneously\r\nSo that peak demand by\u00a0customers at busy periods is satisfied<\/pre>\n<pre>As a bank\u00a0service provider\r\nI want to inform customers when my online service has reached maximum capacity\r\nSo that users know why they can't access their account<\/pre>\n<p>Or from the user&#8217;s perspective<\/p>\n<pre>As a bank customer\r\nI want the online service to tell me when it's too busy for me to login\r\nSo that I can come back later (or go find another bank!)<\/pre>\n<p>A good quality service is one that works with minimum friction but customers know things can go wrong. What customers hate is not being told when things go wrong. It&#8217;s like being on a train that just stops for a while and there&#8217;s no announcement to say why. So a good service needs to have behaviour built in to respond to operational issues and that needs a user story to define, build and test the behaviour to ensure it&#8217;s done.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve used several ways to capture\u00a0or address non functional requirements (NFRs) with user stories. Agile practitioners such a Mike Cohn have written about the challenge. Most agree there are two main approaches: write each NFR as a user story or include NFRs in the definition of done (DoD). Let&#8217;s see how each approach can work [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":606,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,16],"tags":[],"class_list":["post-600","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-agile-thoughts","category-testing"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>How to capture non functional requirements with stories &#8212; storycase<\/title>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to capture non functional requirements with stories &#8212; storycase\" \/>\n<meta property=\"og:description\" content=\"I&#8217;ve used several ways to capture\u00a0or address non functional requirements (NFRs) with user stories. Agile practitioners such a Mike Cohn have written about the challenge. Most agree there are two main approaches: write each NFR as a user story or include NFRs in the definition of done (DoD). Let&#8217;s see how each approach can work [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/storycase.co.uk\/staging\/how-to-capture-non-functional-requirements-with-stories\/600\/\" \/>\n<meta property=\"og:site_name\" content=\"storycase\" \/>\n<meta property=\"article:published_time\" content=\"2016-02-10T16:34:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/storycase.co.uk\/staging\/wp-content\/uploads\/2016\/02\/NFRs.png\" \/>\n\t<meta property=\"og:image:width\" content=\"270\" \/>\n\t<meta property=\"og:image:height\" content=\"250\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"R\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"R\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/how-to-capture-non-functional-requirements-with-stories\\\/600\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/how-to-capture-non-functional-requirements-with-stories\\\/600\\\/\"},\"author\":{\"name\":\"R\",\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/#\\\/schema\\\/person\\\/dd9695b0f527dd260b5aafdf5e06616f\"},\"headline\":\"How to capture non functional requirements with stories\",\"datePublished\":\"2016-02-10T16:34:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/how-to-capture-non-functional-requirements-with-stories\\\/600\\\/\"},\"wordCount\":634,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/how-to-capture-non-functional-requirements-with-stories\\\/600\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/wp-content\\\/uploads\\\/2016\\\/02\\\/NFRs.png\",\"articleSection\":[\"Agile Thoughts\",\"Testing\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/how-to-capture-non-functional-requirements-with-stories\\\/600\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/how-to-capture-non-functional-requirements-with-stories\\\/600\\\/\",\"url\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/how-to-capture-non-functional-requirements-with-stories\\\/600\\\/\",\"name\":\"How to capture non functional requirements with stories &#8212; storycase\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/how-to-capture-non-functional-requirements-with-stories\\\/600\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/how-to-capture-non-functional-requirements-with-stories\\\/600\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/wp-content\\\/uploads\\\/2016\\\/02\\\/NFRs.png\",\"datePublished\":\"2016-02-10T16:34:58+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/how-to-capture-non-functional-requirements-with-stories\\\/600\\\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/how-to-capture-non-functional-requirements-with-stories\\\/600\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/how-to-capture-non-functional-requirements-with-stories\\\/600\\\/#primaryimage\",\"url\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/wp-content\\\/uploads\\\/2016\\\/02\\\/NFRs.png\",\"contentUrl\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/wp-content\\\/uploads\\\/2016\\\/02\\\/NFRs.png\",\"width\":270,\"height\":250,\"caption\":\"Non Functional Requirements\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/how-to-capture-non-functional-requirements-with-stories\\\/600\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to capture non functional requirements with stories\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/#website\",\"url\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/\",\"name\":\"StoryCase\",\"description\":\"Agile Business Solutions\",\"publisher\":{\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/#organization\",\"name\":\"Storycase Ltd\",\"url\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/wp-content\\\/uploads\\\/2015\\\/11\\\/SC-Logo.png\",\"contentUrl\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/wp-content\\\/uploads\\\/2015\\\/11\\\/SC-Logo.png\",\"width\":742,\"height\":170,\"caption\":\"Storycase Ltd\"},\"image\":{\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/company\\\/storycase-limited\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/#\\\/schema\\\/person\\\/dd9695b0f527dd260b5aafdf5e06616f\",\"name\":\"R\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d189e81d3bc8014fe6353ddb35b152597a1251a162260a4870623477d42b2a7b?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d189e81d3bc8014fe6353ddb35b152597a1251a162260a4870623477d42b2a7b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/d189e81d3bc8014fe6353ddb35b152597a1251a162260a4870623477d42b2a7b?s=96&d=mm&r=g\",\"caption\":\"R\"},\"url\":\"https:\\\/\\\/storycase.co.uk\\\/staging\\\/author\\\/superick\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to capture non functional requirements with stories &#8212; storycase","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_GB","og_type":"article","og_title":"How to capture non functional requirements with stories &#8212; storycase","og_description":"I&#8217;ve used several ways to capture\u00a0or address non functional requirements (NFRs) with user stories. Agile practitioners such a Mike Cohn have written about the challenge. Most agree there are two main approaches: write each NFR as a user story or include NFRs in the definition of done (DoD). Let&#8217;s see how each approach can work [&hellip;]","og_url":"https:\/\/storycase.co.uk\/staging\/how-to-capture-non-functional-requirements-with-stories\/600\/","og_site_name":"storycase","article_published_time":"2016-02-10T16:34:58+00:00","og_image":[{"width":270,"height":250,"url":"https:\/\/storycase.co.uk\/staging\/wp-content\/uploads\/2016\/02\/NFRs.png","type":"image\/png"}],"author":"R","twitter_card":"summary_large_image","twitter_misc":{"Written by":"R","Estimated reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/storycase.co.uk\/staging\/how-to-capture-non-functional-requirements-with-stories\/600\/#article","isPartOf":{"@id":"https:\/\/storycase.co.uk\/staging\/how-to-capture-non-functional-requirements-with-stories\/600\/"},"author":{"name":"R","@id":"https:\/\/storycase.co.uk\/staging\/#\/schema\/person\/dd9695b0f527dd260b5aafdf5e06616f"},"headline":"How to capture non functional requirements with stories","datePublished":"2016-02-10T16:34:58+00:00","mainEntityOfPage":{"@id":"https:\/\/storycase.co.uk\/staging\/how-to-capture-non-functional-requirements-with-stories\/600\/"},"wordCount":634,"commentCount":0,"publisher":{"@id":"https:\/\/storycase.co.uk\/staging\/#organization"},"image":{"@id":"https:\/\/storycase.co.uk\/staging\/how-to-capture-non-functional-requirements-with-stories\/600\/#primaryimage"},"thumbnailUrl":"https:\/\/storycase.co.uk\/staging\/wp-content\/uploads\/2016\/02\/NFRs.png","articleSection":["Agile Thoughts","Testing"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/storycase.co.uk\/staging\/how-to-capture-non-functional-requirements-with-stories\/600\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/storycase.co.uk\/staging\/how-to-capture-non-functional-requirements-with-stories\/600\/","url":"https:\/\/storycase.co.uk\/staging\/how-to-capture-non-functional-requirements-with-stories\/600\/","name":"How to capture non functional requirements with stories &#8212; storycase","isPartOf":{"@id":"https:\/\/storycase.co.uk\/staging\/#website"},"primaryImageOfPage":{"@id":"https:\/\/storycase.co.uk\/staging\/how-to-capture-non-functional-requirements-with-stories\/600\/#primaryimage"},"image":{"@id":"https:\/\/storycase.co.uk\/staging\/how-to-capture-non-functional-requirements-with-stories\/600\/#primaryimage"},"thumbnailUrl":"https:\/\/storycase.co.uk\/staging\/wp-content\/uploads\/2016\/02\/NFRs.png","datePublished":"2016-02-10T16:34:58+00:00","breadcrumb":{"@id":"https:\/\/storycase.co.uk\/staging\/how-to-capture-non-functional-requirements-with-stories\/600\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/storycase.co.uk\/staging\/how-to-capture-non-functional-requirements-with-stories\/600\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/storycase.co.uk\/staging\/how-to-capture-non-functional-requirements-with-stories\/600\/#primaryimage","url":"https:\/\/storycase.co.uk\/staging\/wp-content\/uploads\/2016\/02\/NFRs.png","contentUrl":"https:\/\/storycase.co.uk\/staging\/wp-content\/uploads\/2016\/02\/NFRs.png","width":270,"height":250,"caption":"Non Functional Requirements"},{"@type":"BreadcrumbList","@id":"https:\/\/storycase.co.uk\/staging\/how-to-capture-non-functional-requirements-with-stories\/600\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/storycase.co.uk\/staging\/"},{"@type":"ListItem","position":2,"name":"How to capture non functional requirements with stories"}]},{"@type":"WebSite","@id":"https:\/\/storycase.co.uk\/staging\/#website","url":"https:\/\/storycase.co.uk\/staging\/","name":"StoryCase","description":"Agile Business Solutions","publisher":{"@id":"https:\/\/storycase.co.uk\/staging\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/storycase.co.uk\/staging\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/storycase.co.uk\/staging\/#organization","name":"Storycase Ltd","url":"https:\/\/storycase.co.uk\/staging\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/storycase.co.uk\/staging\/#\/schema\/logo\/image\/","url":"https:\/\/storycase.co.uk\/staging\/wp-content\/uploads\/2015\/11\/SC-Logo.png","contentUrl":"https:\/\/storycase.co.uk\/staging\/wp-content\/uploads\/2015\/11\/SC-Logo.png","width":742,"height":170,"caption":"Storycase Ltd"},"image":{"@id":"https:\/\/storycase.co.uk\/staging\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/storycase-limited"]},{"@type":"Person","@id":"https:\/\/storycase.co.uk\/staging\/#\/schema\/person\/dd9695b0f527dd260b5aafdf5e06616f","name":"R","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/secure.gravatar.com\/avatar\/d189e81d3bc8014fe6353ddb35b152597a1251a162260a4870623477d42b2a7b?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/d189e81d3bc8014fe6353ddb35b152597a1251a162260a4870623477d42b2a7b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d189e81d3bc8014fe6353ddb35b152597a1251a162260a4870623477d42b2a7b?s=96&d=mm&r=g","caption":"R"},"url":"https:\/\/storycase.co.uk\/staging\/author\/superick\/"}]}},"_links":{"self":[{"href":"https:\/\/storycase.co.uk\/staging\/wp-json\/wp\/v2\/posts\/600","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/storycase.co.uk\/staging\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/storycase.co.uk\/staging\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/storycase.co.uk\/staging\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/storycase.co.uk\/staging\/wp-json\/wp\/v2\/comments?post=600"}],"version-history":[{"count":8,"href":"https:\/\/storycase.co.uk\/staging\/wp-json\/wp\/v2\/posts\/600\/revisions"}],"predecessor-version":[{"id":609,"href":"https:\/\/storycase.co.uk\/staging\/wp-json\/wp\/v2\/posts\/600\/revisions\/609"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/storycase.co.uk\/staging\/wp-json\/wp\/v2\/media\/606"}],"wp:attachment":[{"href":"https:\/\/storycase.co.uk\/staging\/wp-json\/wp\/v2\/media?parent=600"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/storycase.co.uk\/staging\/wp-json\/wp\/v2\/categories?post=600"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/storycase.co.uk\/staging\/wp-json\/wp\/v2\/tags?post=600"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}