{"id":15893,"date":"2017-09-01T18:41:06","date_gmt":"2017-09-02T01:41:06","guid":{"rendered":"https:\/\/www.uxpin.com\/studio\/?p=15893"},"modified":"2024-06-25T00:06:46","modified_gmt":"2024-06-25T07:06:46","slug":"7-rules-follow-generating-requirements-prototypes","status":"publish","type":"post","link":"https:\/\/www.uxpin.com\/studio\/blog\/7-rules-follow-generating-requirements-prototypes\/","title":{"rendered":"7 Rules to Follow When Generating Requirements With Prototypes"},"content":{"rendered":"<p><i>\u201cThat\u2019s not how I imagined this would work when I wrote the requirement.&#8221;<\/i><\/p>\n<p>Most dev teams are resigned to hearing some variation of that statement at the <i>worst <\/i>possible point in the project. This experience usually leads to a great moment of self-righteous anger, during which they blame the stakeholder for not properly defining requirements. <\/p>\n<p>As much as we all enjoy indulging that righteous anger, the truth is that the <b>blame for these situations lies squarely with us<\/b>. <\/p>\n<p>Specifically, we\u2019re failing to give stakeholders what they need to evaluate requirements for any gaps. Let\u2019s talk about what typically happens here.<\/p>\n<h2>The Harsh Truth Behind Generating Requirements<\/h2>\n<p>Requirements typically come from meetings where stakeholders talk about what they want and the design\/dev team captures those items. Instead of drawing from actual <b>user research<\/b>, the meeting can be combination of personal opinion, political pressure, and knee-jerk reaction to competitor features. This, to me, is the equivalent of placing a fast-food order for 12 million strangers.<\/p>\n<p>There\u2019s only one way to prevent this. It\u2019s so simple that I am perpetually shocked that more organizations don\u2019t adopt it: <b>build a simple prototype as soon as humanly possible<\/b>, and iterate with stakeholders to generate requirements.<\/p>\n<p>We are at a point in history where collaborative design platforms make it ridiculously easy for anyone to build a solid low-fidelity prototype in an hour or two for feedback. And even easier to export all of it in a few clicks to HTML that stakeholders can click through just like the real thing. <\/p>\n<p>I\u2019ve seen plenty of instances where a two-hour review session with my stakeholders (where iteration and review\/discussion are happening simultaneously) has replaced one or more two-week sprints. <\/p>\n<p>One quick note on prototyping\u2014<b>low-fidelity means exactly that<\/b>. You <i>must<\/i> stick to the following constraints, otherwise you\u2019ll spend considerably more time than necessary, and you\u2019ll be inviting everyone who sees it to fixate on <i>what it looks like<\/i> instead of <i>what it does<\/i>. <\/p>\n<h2>A Better Path Forward<\/h2>\n<p>For startups, initial product prototyping and iteration has to be three things: <b>fast<\/b>, <b>inexpensive,<\/b> and <b>accurate<\/b>. They\u2019re facing extreme constraints, they need to get to reality quickly, and they can\u2019t afford to be too off target right out of the gate. <\/p>\n<p>There is absolutely no reason an enterprise organization cannot operate the same way. <\/p>\n<p>All it takes is following these constraints:<\/p>\n<ol>\n<li><b>Limited colors (use blue to indicate text hyperlinks)<\/b>. Everything else is filled with varying shades of grey or simple colors to indicate visual hierarchy.\n<\/li>\n<li><b>No images or graphical data displays<\/b>. The minute you introduce either, your reviewers fixate on them instead of casting a critical eye to screen layout, content structure, controls, interactivity, and workflow.\n<\/li>\n<li><b>No fonts other than Arial<\/b>. As with colors, fonts invite analysis and speculation.\n<\/li>\n<li><b>Real labels on all interactive components<\/b>. It doesn\u2019t have to be correct or final, but you definitely need feedback on navigation menu items, accordion content, data tables, buttons, form fields, etc. The only way to get it is to give people something to consider as a starting point.\n<\/li>\n<li><b>Real text content, to whatever degree possible<\/b>. Content goes a long way in establishing context, and context is the key to user experience. Design around content. A rough draft of your content is much better than \u201cLorem ipsum\u201d.\n<\/li>\n<li><b>Keep interactions simple<\/b>. Anything that requires significant, real coding for demonstration purposes is something you need to drop, re-think, or table it for your hi-fi prototype.\n<\/li>\n<li><b>Annotate to begin suggesting and documenting requirements<\/b>. It is your responsibility to communicate the rationale of all interaction decisions. Not only do annotated prototypes reduce misinterpretation, you create contextual rather than &nbsp;\u201cpaper trail\u201d documentation. Try the <b>user story format<\/b> I suggest in previous chapters\u2014it\u2019s the perfect format.\n<\/li>\n<\/ol>\n<p>To illustrate the fidelity level I\u2019m advocating, here are a few prototypes I created of a possible enterprise document management platform:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-15879\" src=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/09\/image4.jpg\" alt=\"Prototype of document management platform in UXPin\" width=\"997\" height=\"628\" srcset=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/09\/image4.jpg 997w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/09\/image4-476x300.jpg 476w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/09\/image4-768x484.jpg 768w\" sizes=\"auto, (max-width: 997px) 100vw, 997px\" \/><\/p>\n<p><em>Prototyped in <a href=\"https:\/\/www.uxpin.com\/\">UXPin<\/a><\/em><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-15876\" src=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/09\/image1.jpg\" alt=\"Prototype made in UXPin\" width=\"600\" height=\"983\" srcset=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/09\/image1.jpg 600w, https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/09\/image1-183x300.jpg 183w\" sizes=\"auto, (max-width: 600px) 100vw, 600px\" \/><\/p>\n<p><em>Prototyped in <a href=\"https:\/\/www.uxpin.com\/\">UXPin<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Quick reference for generating requirements through prototyping. <\/p>\n","protected":false},"author":130,"featured_media":15879,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,174],"tags":[],"class_list":["post-15893","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","category-enterprise-ux"],"yoast_title":"","yoast_metadesc":"UXPin gives you a look at the basic rules when you generate requirements with prototypes.","acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v18.2.1 (Yoast SEO v27.3) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>7 Rules to Follow When Generating Requirements With Prototypes | UXPin<\/title>\n<meta name=\"description\" content=\"UXPin gives you a look at the basic rules when you generate requirements with prototypes.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.uxpin.com\/studio\/blog\/7-rules-follow-generating-requirements-prototypes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"7 Rules to Follow When Generating Requirements With Prototypes\" \/>\n<meta property=\"og:description\" content=\"UXPin gives you a look at the basic rules when you generate requirements with prototypes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.uxpin.com\/studio\/blog\/7-rules-follow-generating-requirements-prototypes\/\" \/>\n<meta property=\"og:site_name\" content=\"Studio by UXPin\" \/>\n<meta property=\"article:published_time\" content=\"2017-09-02T01:41:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-06-25T07:06:46+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/09\/image4.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"997\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Joe Natoli\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Joe Natoli\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. 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:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/7-rules-follow-generating-requirements-prototypes\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/7-rules-follow-generating-requirements-prototypes\\\/\"},\"author\":{\"name\":\"Joe Natoli\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/#\\\/schema\\\/person\\\/1836d99fbfbc90f4bc85f7ffb0748035\"},\"headline\":\"7 Rules to Follow When Generating Requirements With Prototypes\",\"datePublished\":\"2017-09-02T01:41:06+00:00\",\"dateModified\":\"2024-06-25T07:06:46+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/7-rules-follow-generating-requirements-prototypes\\\/\"},\"wordCount\":669,\"image\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/7-rules-follow-generating-requirements-prototypes\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/wp-content\\\/uploads\\\/2017\\\/09\\\/image4.jpg\",\"articleSection\":[\"Blog\",\"Enterprise UX\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/7-rules-follow-generating-requirements-prototypes\\\/\",\"url\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/7-rules-follow-generating-requirements-prototypes\\\/\",\"name\":\"7 Rules to Follow When Generating Requirements With Prototypes | UXPin\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/7-rules-follow-generating-requirements-prototypes\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/7-rules-follow-generating-requirements-prototypes\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/wp-content\\\/uploads\\\/2017\\\/09\\\/image4.jpg\",\"datePublished\":\"2017-09-02T01:41:06+00:00\",\"dateModified\":\"2024-06-25T07:06:46+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/#\\\/schema\\\/person\\\/1836d99fbfbc90f4bc85f7ffb0748035\"},\"description\":\"UXPin gives you a look at the basic rules when you generate requirements with prototypes.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/7-rules-follow-generating-requirements-prototypes\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/7-rules-follow-generating-requirements-prototypes\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/7-rules-follow-generating-requirements-prototypes\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/wp-content\\\/uploads\\\/2017\\\/09\\\/image4.jpg\",\"contentUrl\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/wp-content\\\/uploads\\\/2017\\\/09\\\/image4.jpg\",\"width\":997,\"height\":628,\"caption\":\"image4\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/blog\\\/7-rules-follow-generating-requirements-prototypes\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"7 Rules to Follow When Generating Requirements With Prototypes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/#website\",\"url\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/\",\"name\":\"Studio by UXPin\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/#\\\/schema\\\/person\\\/1836d99fbfbc90f4bc85f7ffb0748035\",\"name\":\"Joe Natoli\",\"url\":\"https:\\\/\\\/www.uxpin.com\\\/studio\\\/author\\\/joenatoli\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"7 Rules to Follow When Generating Requirements With Prototypes | UXPin","description":"UXPin gives you a look at the basic rules when you generate requirements with prototypes.","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:\/\/www.uxpin.com\/studio\/blog\/7-rules-follow-generating-requirements-prototypes\/","og_locale":"en_US","og_type":"article","og_title":"7 Rules to Follow When Generating Requirements With Prototypes","og_description":"UXPin gives you a look at the basic rules when you generate requirements with prototypes.","og_url":"https:\/\/www.uxpin.com\/studio\/blog\/7-rules-follow-generating-requirements-prototypes\/","og_site_name":"Studio by UXPin","article_published_time":"2017-09-02T01:41:06+00:00","article_modified_time":"2024-06-25T07:06:46+00:00","og_image":[{"width":997,"height":628,"url":"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/09\/image4.jpg","type":"image\/jpeg"}],"author":"Joe Natoli","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Joe Natoli","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.uxpin.com\/studio\/blog\/7-rules-follow-generating-requirements-prototypes\/#article","isPartOf":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/7-rules-follow-generating-requirements-prototypes\/"},"author":{"name":"Joe Natoli","@id":"https:\/\/www.uxpin.com\/studio\/#\/schema\/person\/1836d99fbfbc90f4bc85f7ffb0748035"},"headline":"7 Rules to Follow When Generating Requirements With Prototypes","datePublished":"2017-09-02T01:41:06+00:00","dateModified":"2024-06-25T07:06:46+00:00","mainEntityOfPage":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/7-rules-follow-generating-requirements-prototypes\/"},"wordCount":669,"image":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/7-rules-follow-generating-requirements-prototypes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/09\/image4.jpg","articleSection":["Blog","Enterprise UX"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.uxpin.com\/studio\/blog\/7-rules-follow-generating-requirements-prototypes\/","url":"https:\/\/www.uxpin.com\/studio\/blog\/7-rules-follow-generating-requirements-prototypes\/","name":"7 Rules to Follow When Generating Requirements With Prototypes | UXPin","isPartOf":{"@id":"https:\/\/www.uxpin.com\/studio\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/7-rules-follow-generating-requirements-prototypes\/#primaryimage"},"image":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/7-rules-follow-generating-requirements-prototypes\/#primaryimage"},"thumbnailUrl":"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/09\/image4.jpg","datePublished":"2017-09-02T01:41:06+00:00","dateModified":"2024-06-25T07:06:46+00:00","author":{"@id":"https:\/\/www.uxpin.com\/studio\/#\/schema\/person\/1836d99fbfbc90f4bc85f7ffb0748035"},"description":"UXPin gives you a look at the basic rules when you generate requirements with prototypes.","breadcrumb":{"@id":"https:\/\/www.uxpin.com\/studio\/blog\/7-rules-follow-generating-requirements-prototypes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.uxpin.com\/studio\/blog\/7-rules-follow-generating-requirements-prototypes\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.uxpin.com\/studio\/blog\/7-rules-follow-generating-requirements-prototypes\/#primaryimage","url":"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/09\/image4.jpg","contentUrl":"https:\/\/www.uxpin.com\/studio\/wp-content\/uploads\/2017\/09\/image4.jpg","width":997,"height":628,"caption":"image4"},{"@type":"BreadcrumbList","@id":"https:\/\/www.uxpin.com\/studio\/blog\/7-rules-follow-generating-requirements-prototypes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.uxpin.com\/studio\/"},{"@type":"ListItem","position":2,"name":"7 Rules to Follow When Generating Requirements With Prototypes"}]},{"@type":"WebSite","@id":"https:\/\/www.uxpin.com\/studio\/#website","url":"https:\/\/www.uxpin.com\/studio\/","name":"Studio by UXPin","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.uxpin.com\/studio\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.uxpin.com\/studio\/#\/schema\/person\/1836d99fbfbc90f4bc85f7ffb0748035","name":"Joe Natoli","url":"https:\/\/www.uxpin.com\/studio\/author\/joenatoli\/"}]}},"_links":{"self":[{"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/posts\/15893","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/users\/130"}],"replies":[{"embeddable":true,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/comments?post=15893"}],"version-history":[{"count":2,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/posts\/15893\/revisions"}],"predecessor-version":[{"id":53644,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/posts\/15893\/revisions\/53644"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/media\/15879"}],"wp:attachment":[{"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/media?parent=15893"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/categories?post=15893"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.uxpin.com\/studio\/wp-json\/wp\/v2\/tags?post=15893"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}