{"id":43295,"date":"2014-08-19T13:05:34","date_gmt":"2014-08-19T13:05:34","guid":{"rendered":"https:\/\/wp.lansa.com\/blog\/ambiguity-in-requirements"},"modified":"2024-12-04T06:41:58","modified_gmt":"2024-12-04T12:41:58","slug":"ambiguity-in-requirements","status":"publish","type":"post","link":"https:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/","title":{"rendered":"Mind the Gap: Addressing Ambiguity in Requirements"},"content":{"rendered":"<p>The lesson of the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Tower_of_Babel\" target=\"_blank\" rel=\"noopener noreferrer\">Tower of Babel<\/a>, possibly the first post-project review in historical records, is that communication failure within the team will cause project failure. In today\u2019s software requirements, often staffed by cross-functional teams spread across the globe, the communication challenge persists.<\/p>\n<div id=\"attachment_4521\" style=\"width: 100px\" class=\"wp-caption alignright\"><img decoding=\"async\" aria-describedby=\"caption-attachment-4521\" class=\"wp-image-4521\" title=\"Tree swing what customer wanted\" src=\"https:\/\/lansa.com\/wp-content\/uploads\/2022\/06\/Tree-swing-what-customer-wanted1.jpg\" alt=\"Tree swing what customer wanted\" width=\"90\" height=\"149\" \/><p id=\"caption-attachment-4521\" class=\"wp-caption-text\">What the customer actually wanted . . .<\/p><\/div>\n<p>Complexity in problem definition, solution and design tool architecture, organizational structures and market forces demand agility and constant risk assessment. According to the <a href=\"https:\/\/www.pmi.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Project Management Institute (PMI)<\/a>, of the two in five projects that fail to meet business objectives, half traced the cause of failure to ineffective communications. In software development projects (including <a href=\"https:\/\/lansa.com\/solutions\/ibm-i-modernization\/\">application modernization<\/a> projects) these typically include incomplete or changing requirement specifications, and lack of user input.<\/p>\n<p class=\"mceTemp\">Don\u2019t assume that all project stakeholders have the same understanding of the term \u201crequirements\u201d. A broad ranging <a href=\"https:\/\/www.wiley.com\/en-us\/Requirements+Engineering%3A+A+Good+Practice+Guide-p-9780471974444\" target=\"_blank\" rel=\"noopener noreferrer\">definition<\/a> is: <em>Requirements are a specification of what should be implemented. They are descriptions of how the system should behave, of a system property or attribute. They may be a constraint on the development process of the system. A non-functional requirement should define how well the system must do what it does. <\/em><\/p>\n<h2><strong>What Are Requirements In Software Development?<\/strong><\/h2>\n<p>\u201cRequirement\u201d in software development projects is also a term overloaded with many different meanings and could be relating to any of the typical project artefacts.<\/p>\n<div id=\"attachment_4504\" style=\"width: 684px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/lansa.com\/wp-content\/uploads\/2022\/06\/tree-swing-project-management-large.jpg\" data-lightbox=\"tree-swing-project-management-large\"><img decoding=\"async\" aria-describedby=\"caption-attachment-4504\" class=\"wp-image-4504 size-full\" title=\"tree-swing-project-management-large\" src=\"https:\/\/lansa.com\/wp-content\/uploads\/2022\/06\/tree-swing-project-management-large.jpg\" alt=\"Tree Swing Project Management cartoon\" width=\"674\" height=\"488\" \/><\/a><p id=\"caption-attachment-4504\" class=\"wp-caption-text\">Tree Swing Project Management cartoon<\/p><\/div>\n<p>As the classic <a href=\"http:\/\/www.projectcartoon.com\/cartoon\/46980\" target=\"_blank\" rel=\"noopener noreferrer\">tree swing cartoon<\/a> illustrates (originating from the 1970s), all project stakeholders bring their own biases, assumptions, prejudices and expectations which influence the eventual outcome. The IT team or software vendor might be able to define what they can deliver, but only the customer can define what they need from the system. Choosing which project documents are created and reviewed is based on categorization and criteria, such as<\/p>\n<ul>\n<li>By target audience (e.g. stakeholder, user, regulatory and customer Requirements)<\/li>\n<li>By level of detail (e.g. scope level, high level, detailed level and project Requirements)<\/li>\n<li>By business domain (e.g. business rules and business Requirements)<\/li>\n<li>By system\/product (e.g. process requirements and product requirements)<\/li>\n<li>By project (e.g. Assumptions, Constraints, Documentation Requirements)<\/li>\n<li>Technical (e.g. data, design, functional, non-functional, usability, infrastructure Requirements)<\/li>\n<\/ul>\n<p>To ensure that the required project deliverables are produced, careful planning and monitoring is needed to manage both the process and the quality of the requirement specifications, in all documentation and review steps.<\/p>\n<p>The planning and monitoring tasks might include:<\/p>\n<ol>\n<li>Define the attributes of a good requirement definition approach, adapted to the business, organization and project.<\/li>\n<li>Understand the different kinds of requirements and classify customer input into the appropriate categories.<\/li>\n<li>Take an iterative and incremental approach to requirements development.<\/li>\n<li>Use standard templates for your vision and scope, use case and System Requirements Specification (SRS) documents.<\/li>\n<li>Define the mechanism and process of formal and informal reviews, helping to ensure that stakeholders effectively review, prioritize and explicitly accept the requirements baseline.<\/li>\n<li>\u00a0Team and customer discipline to handle requirement changes consistently and effectively.<\/li>\n<\/ol>\n<h2><strong>Requirement Ambiguity<\/strong><\/h2>\n<p>While Industry groups such as IIBA\u2019s BABOK 2.0 and Borland\u2019s <a href=\"https:\/\/www.microfocus.com\/products\/requirements-management\/?utm_medium=301&amp;utm_source=borland.com\" target=\"_blank\" rel=\"noopener noreferrer\">RDM<\/a> provide prescriptive standards and processes, we must cater for human frailties in expression and comprehension. Authors often lack formal training in specifying requirements and may use unconstrained natural language which:<\/p>\n<ul>\n<li>Introduces ambiguity, vagueness and subjectivity<\/li>\n<li>Is not always clear, concise and coherent<\/li>\n<li>Is often not testable<\/li>\n<li>Sometimes misses triggers, implied requirements and exceptions<\/li>\n<\/ul>\n<p>Non-standardized business and technical language in English doesn\u2019t help. For example, the word \u201cset\u201d has 194 distinct uses: 58 as a noun, 126 as a verb and 10 as an adjective. The acronym ATM has <a href=\"https:\/\/www.acronymfinder.com\/ATM.html\" target=\"_blank\" rel=\"noopener noreferrer\">129<\/a> possible values. Then there are \u201cdoublespeak\u201d examples (from Orwell\u2019s book 1984) which deliberately disguise the literal meaning, such as \u201cnegative patient care outcome\u201d (death), \u201ccareer alternative enhancement programs\u201d (layoffs) and \u201cfiscal underachievers\u201d (the poor).<\/p>\n<p>Two important goals of writing requirements are that anyone who reads the requirement should reach the same interpretation as another reader, and each reader\u2019s interpretation matches what the author intended to communicate. Language that is explicit, concise and jargon free can be understood by those who don\u2019t have the training or the desire to interpret jargon and acronym filled documents.<\/p>\n<p>Take a moment to review the requirements statement column in the table below, and attempt to identify the ambiguity defect. Is there a better way of writing the requirements? Can each requirement be tested as written?<\/p>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td valign=\"top\" width=\"390\"><strong>Functional Requirement Statement<br \/>\n<\/strong><\/td>\n<td valign=\"top\" width=\"390\"><strong>Ambiguity Defect<\/strong><\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"390\">The software shall support a water level sensor.<\/td>\n<td valign=\"top\" width=\"390\">What does \u201csupport\u201d mean?<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"390\">The thesaurus software shall display about five alternatives to the requested word.<\/td>\n<td valign=\"top\" width=\"390\">Boundary values &#8211; how many is \u201cabout five\u201d 3, 4,6,10 more?<br \/>\nUnder what conditions are they displayed?<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"390\">Accepted transactions are posted to the database later. Delinquent accounts are reviewed periodically.<\/td>\n<td valign=\"top\" width=\"390\">When is later?<br \/>\nWhen is periodically?<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"390\">The software shall blink the LED on the adapter using a 50% on 50% off duty cycle.<\/td>\n<td valign=\"top\" width=\"390\">Does the software blink the LED at all times?<br \/>\nIs there a trigger that initiates the blinking?<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"390\">If a boot disk is detected in the system, the software shall boot from it.<\/td>\n<td valign=\"top\" width=\"390\">What if a boot disk is not present \u2013 is that a discrepancy scenario or an exception?<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"390\">If you drive through a red light at an intersection, you will get a ticket.<\/td>\n<td valign=\"top\" width=\"390\">Omission of implicit action, such as \u2018the user hits enter\u2019 or \u2018the event times out\u2019, or \u2018the record is not found\u2019. A better specification is \u201cIf you drive through a red light, and your car is photographed by a traffic camera or stopped by a police officer, you will get a ticket.\u201d<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"390\">If the interest amount is greater than 100, send the customer the notice.<\/td>\n<td valign=\"top\" width=\"390\">Aliasing of \u2018interest amount\u2019. Is it interest owing, earned, paid or anticipated?<\/td>\n<\/tr>\n<tr>\n<td valign=\"top\" width=\"390\">The system shall provide collection of PC configuration data for a mass release by the Delivery\/Fulfilment team.<\/td>\n<td valign=\"top\" width=\"390\">Subjective interpretation<\/p>\n<ul>\n<li>The team is named Delivery\/Fulfilment.<\/li>\n<li>Some projects call the group a Delivery team, others call it a fulfilment team.<\/li>\n<li>There are two teams and either team can do a mass release, so the slash means \u2018or\u2019.<\/li>\n<li>Both groups jointly do the mass release, so the slash means \u2018and\u2019.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Functional requirements like those above are can be better expressed from the perspective of something that the system should do, or something the user can do. In some functional requirements, the generic term\u00a0 \u201cthe user\u201d is referred to.\u00a0 The user\u2019s role or class or Actor\u00a0 in the application step (e.g. the production manager, the system operator) should be explicitly referenced instead.\u00a0 Also, the term <strong>shal<\/strong>l is preferable to <strong>should<\/strong> (which may indicate desired), versus <strong>may<\/strong>, which could mean optional. Semantic nuances between verbs &#8211; such as shall, must, may, might, will, would, should, could, needs to, has to, should provide &#8211; can make it hard to interpret the requirements consistently.<\/p>\n<p>The <a href=\"https:\/\/dl.acm.org\/citation.cfm?id=1684881\" target=\"_blank\" rel=\"noopener noreferrer\">Easy Approach to Requirements Syntax<\/a> (EARS) presents a general template for writing concise, testable requirements syntax. It comprises the format: [optional trigger][optional precondition] Actor Action [Object] . An EARS example requirement specification is: \u201cWhen an Order is shipped [<strong><em>trigger]<\/em><\/strong> and Order Terms are not \u201cPrepaid\u201d [<strong><em>precondition<\/em><\/strong><em>],<\/em> the system [<strong><em>Actor<\/em><\/strong>] shall create [<strong><em>Action<\/em>]<\/strong> an Invoice [<strong><em>Object<\/em><\/strong>].\u201d<\/p>\n<p>The timing, level and precision of the requirements, as specified for developers and testers, can be impacted by whether:<\/p>\n<ul>\n<li>Work is being done for an internal or external client.<\/li>\n<li>Developers have considerable domain experience.<\/li>\n<li>System testing will be based on requirements.<\/li>\n<li>Accurate estimates are required.<\/li>\n<li>Precedents are available, such as replacing an existing application.<\/li>\n<li>Customers are extensively involved.<\/li>\n<li>Project team members are geographically dispersed.<\/li>\n<\/ul>\n<p>To discover and resolve ambiguity earlier in the development cycle, have team members who represent diverse perspectives who can formally inspect the requirement documents. Suitable reviewers include:<\/p>\n<ul>\n<li>the analyst who wrote the requirements<\/li>\n<li>the customer or representative who supplied them (particularly for use case reviews)<\/li>\n<li>the developer who must implement them<\/li>\n<li>the tester who must verify them<\/li>\n<\/ul>\n<p>Another powerful review technique is to begin writing test cases early on in requirements development. Writing conceptual test cases against both the use cases and functional requirements, reinforces your understanding of how the software should behave under certain conditions. This practice helps reveal ambiguities and missing information, and also leads to a requirements document that can generate comprehensive test cases.<\/p>\n<p>Also consider developing prototypes to help visualize a more tangible result than a text based SRS. Create a preliminary or possible implementation of a poorly understood portion of the requirements, to help identify and clarify gaps in your knowledge. Analysis models such as data flow diagrams, entity-relationship diagrams, class and collaboration diagrams, state-transition diagrams, and dialog maps provide alternative and complementary views of requirements that also reveal knowledge gaps.<\/p>\n<h2><strong>Professional Low-Code Development<\/strong><\/h2>\n<p>The do-nothing alternative could lead to requirement ambiguity, which forces designers and developers to guess. If that happens, who do you want constructing your tree swing? Find out more about our <a href=\"\/products\/visual-lansa\/\" target=\"_blank\" rel=\"noopener\">professional low-code development<\/a> to help your developers when it comes to minimizing software requirements.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The lesson of the Tower of Babel, possibly the first post-project review in historical records, is that communication failure within the team will cause project failure. In today\u2019s software requirements, often staffed by cross-functional teams spread across the globe, the communication challenge persists. Complexity in problem definition, solution and design tool architecture, organizational structures and [&hellip;]<\/p>\n","protected":false},"author":59,"featured_media":43296,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[77],"tags":[],"class_list":["post-43295","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-rapid-app-development"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.4 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Mind the Gap: Addressing Ambiguity in Requirements<\/title>\n<meta name=\"description\" content=\"What is needed when it comes to software requirements and how can ambiguity lead to error? Here&#039;s how to avoid that.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mind the Gap: Addressing Ambiguity in Requirements\" \/>\n<meta property=\"og:description\" content=\"What is needed when it comes to software requirements and how can ambiguity lead to error? Here&#039;s how to avoid that.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/\" \/>\n<meta property=\"og:site_name\" content=\"LANSA\" \/>\n<meta property=\"article:published_time\" content=\"2014-08-19T13:05:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-12-04T12:41:58+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/lansa.com\/wp-content\/uploads\/2022\/06\/Tree-swing-what-customer-wanted1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"250\" \/>\n\t<meta property=\"og:image:height\" content=\"414\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Patrick Fleming\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Patrick Fleming\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/lansa.com\\\/blog\\\/app-development\\\/rapid-app-development\\\/ambiguity-in-requirements\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/lansa.com\\\/blog\\\/app-development\\\/rapid-app-development\\\/ambiguity-in-requirements\\\/\"},\"author\":{\"name\":\"Patrick Fleming\",\"@id\":\"https:\\\/\\\/lansa.com\\\/#\\\/schema\\\/person\\\/897e068165fbeea90e9f1b37f818f57f\"},\"headline\":\"Mind the Gap: Addressing Ambiguity in Requirements\",\"datePublished\":\"2014-08-19T13:05:34+00:00\",\"dateModified\":\"2024-12-04T12:41:58+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/lansa.com\\\/blog\\\/app-development\\\/rapid-app-development\\\/ambiguity-in-requirements\\\/\"},\"wordCount\":1492,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/lansa.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/lansa.com\\\/blog\\\/app-development\\\/rapid-app-development\\\/ambiguity-in-requirements\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/lansa.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/Tree-swing-what-customer-wanted1.jpg\",\"articleSection\":[\"Rapid Application Development\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/lansa.com\\\/blog\\\/app-development\\\/rapid-app-development\\\/ambiguity-in-requirements\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/lansa.com\\\/blog\\\/app-development\\\/rapid-app-development\\\/ambiguity-in-requirements\\\/\",\"url\":\"https:\\\/\\\/lansa.com\\\/blog\\\/app-development\\\/rapid-app-development\\\/ambiguity-in-requirements\\\/\",\"name\":\"Mind the Gap: Addressing Ambiguity in Requirements\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/lansa.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/lansa.com\\\/blog\\\/app-development\\\/rapid-app-development\\\/ambiguity-in-requirements\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/lansa.com\\\/blog\\\/app-development\\\/rapid-app-development\\\/ambiguity-in-requirements\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/lansa.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/Tree-swing-what-customer-wanted1.jpg\",\"datePublished\":\"2014-08-19T13:05:34+00:00\",\"dateModified\":\"2024-12-04T12:41:58+00:00\",\"description\":\"What is needed when it comes to software requirements and how can ambiguity lead to error? Here's how to avoid that.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/lansa.com\\\/blog\\\/app-development\\\/rapid-app-development\\\/ambiguity-in-requirements\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/lansa.com\\\/blog\\\/app-development\\\/rapid-app-development\\\/ambiguity-in-requirements\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/lansa.com\\\/blog\\\/app-development\\\/rapid-app-development\\\/ambiguity-in-requirements\\\/#primaryimage\",\"url\":\"https:\\\/\\\/lansa.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/Tree-swing-what-customer-wanted1.jpg\",\"contentUrl\":\"https:\\\/\\\/lansa.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/Tree-swing-what-customer-wanted1.jpg\",\"width\":250,\"height\":414,\"caption\":\"Addressing Ambiguity in Requirements\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/lansa.com\\\/blog\\\/app-development\\\/rapid-app-development\\\/ambiguity-in-requirements\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/lansa.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Application Development\",\"item\":\"https:\\\/\\\/lansa.com\\\/blog\\\/category\\\/app-development\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Rapid Application Development\",\"item\":\"https:\\\/\\\/lansa.com\\\/blog\\\/category\\\/app-development\\\/rapid-app-development\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Mind the Gap: Addressing Ambiguity in Requirements\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/lansa.com\\\/#website\",\"url\":\"https:\\\/\\\/lansa.com\\\/\",\"name\":\"LANSA\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/lansa.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/lansa.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/lansa.com\\\/#organization\",\"name\":\"LANSA\",\"url\":\"https:\\\/\\\/lansa.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/lansa.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/lansa.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/Lansa_ID_Logo.png\",\"contentUrl\":\"https:\\\/\\\/lansa.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/Lansa_ID_Logo.png\",\"width\":140,\"height\":51,\"caption\":\"LANSA\"},\"image\":{\"@id\":\"https:\\\/\\\/lansa.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/lansa.com\\\/#\\\/schema\\\/person\\\/897e068165fbeea90e9f1b37f818f57f\",\"name\":\"Patrick Fleming\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6004c9b156ed742384904ccc769ce7ad5eaa466a9a62252e8dabfcd20a0f3065?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6004c9b156ed742384904ccc769ce7ad5eaa466a9a62252e8dabfcd20a0f3065?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/6004c9b156ed742384904ccc769ce7ad5eaa466a9a62252e8dabfcd20a0f3065?s=96&d=mm&r=g\",\"caption\":\"Patrick Fleming\"},\"description\":\"LANSA expert specializing in application modernization, enterprise software solutions, and integration strategies.\",\"url\":\"https:\\\/\\\/lansa.com\\\/blog\\\/author\\\/patrickf\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Mind the Gap: Addressing Ambiguity in Requirements","description":"What is needed when it comes to software requirements and how can ambiguity lead to error? Here's how to avoid that.","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:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/","og_locale":"en_US","og_type":"article","og_title":"Mind the Gap: Addressing Ambiguity in Requirements","og_description":"What is needed when it comes to software requirements and how can ambiguity lead to error? Here's how to avoid that.","og_url":"https:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/","og_site_name":"LANSA","article_published_time":"2014-08-19T13:05:34+00:00","article_modified_time":"2024-12-04T12:41:58+00:00","og_image":[{"width":250,"height":414,"url":"https:\/\/lansa.com\/wp-content\/uploads\/2022\/06\/Tree-swing-what-customer-wanted1.jpg","type":"image\/jpeg"}],"author":"Patrick Fleming","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Patrick Fleming","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/#article","isPartOf":{"@id":"https:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/"},"author":{"name":"Patrick Fleming","@id":"https:\/\/lansa.com\/#\/schema\/person\/897e068165fbeea90e9f1b37f818f57f"},"headline":"Mind the Gap: Addressing Ambiguity in Requirements","datePublished":"2014-08-19T13:05:34+00:00","dateModified":"2024-12-04T12:41:58+00:00","mainEntityOfPage":{"@id":"https:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/"},"wordCount":1492,"commentCount":0,"publisher":{"@id":"https:\/\/lansa.com\/#organization"},"image":{"@id":"https:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/#primaryimage"},"thumbnailUrl":"https:\/\/lansa.com\/wp-content\/uploads\/2022\/06\/Tree-swing-what-customer-wanted1.jpg","articleSection":["Rapid Application Development"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/","url":"https:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/","name":"Mind the Gap: Addressing Ambiguity in Requirements","isPartOf":{"@id":"https:\/\/lansa.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/#primaryimage"},"image":{"@id":"https:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/#primaryimage"},"thumbnailUrl":"https:\/\/lansa.com\/wp-content\/uploads\/2022\/06\/Tree-swing-what-customer-wanted1.jpg","datePublished":"2014-08-19T13:05:34+00:00","dateModified":"2024-12-04T12:41:58+00:00","description":"What is needed when it comes to software requirements and how can ambiguity lead to error? Here's how to avoid that.","breadcrumb":{"@id":"https:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/#primaryimage","url":"https:\/\/lansa.com\/wp-content\/uploads\/2022\/06\/Tree-swing-what-customer-wanted1.jpg","contentUrl":"https:\/\/lansa.com\/wp-content\/uploads\/2022\/06\/Tree-swing-what-customer-wanted1.jpg","width":250,"height":414,"caption":"Addressing Ambiguity in Requirements"},{"@type":"BreadcrumbList","@id":"https:\/\/lansa.com\/blog\/app-development\/rapid-app-development\/ambiguity-in-requirements\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/lansa.com\/"},{"@type":"ListItem","position":2,"name":"Application Development","item":"https:\/\/lansa.com\/blog\/category\/app-development\/"},{"@type":"ListItem","position":3,"name":"Rapid Application Development","item":"https:\/\/lansa.com\/blog\/category\/app-development\/rapid-app-development\/"},{"@type":"ListItem","position":4,"name":"Mind the Gap: Addressing Ambiguity in Requirements"}]},{"@type":"WebSite","@id":"https:\/\/lansa.com\/#website","url":"https:\/\/lansa.com\/","name":"LANSA","description":"","publisher":{"@id":"https:\/\/lansa.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/lansa.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/lansa.com\/#organization","name":"LANSA","url":"https:\/\/lansa.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/lansa.com\/#\/schema\/logo\/image\/","url":"https:\/\/lansa.com\/wp-content\/uploads\/2022\/06\/Lansa_ID_Logo.png","contentUrl":"https:\/\/lansa.com\/wp-content\/uploads\/2022\/06\/Lansa_ID_Logo.png","width":140,"height":51,"caption":"LANSA"},"image":{"@id":"https:\/\/lansa.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/lansa.com\/#\/schema\/person\/897e068165fbeea90e9f1b37f818f57f","name":"Patrick Fleming","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/6004c9b156ed742384904ccc769ce7ad5eaa466a9a62252e8dabfcd20a0f3065?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/6004c9b156ed742384904ccc769ce7ad5eaa466a9a62252e8dabfcd20a0f3065?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/6004c9b156ed742384904ccc769ce7ad5eaa466a9a62252e8dabfcd20a0f3065?s=96&d=mm&r=g","caption":"Patrick Fleming"},"description":"LANSA expert specializing in application modernization, enterprise software solutions, and integration strategies.","url":"https:\/\/lansa.com\/blog\/author\/patrickf\/"}]}},"_links":{"self":[{"href":"https:\/\/lansa.com\/wp-json\/wp\/v2\/posts\/43295","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lansa.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lansa.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lansa.com\/wp-json\/wp\/v2\/users\/59"}],"replies":[{"embeddable":true,"href":"https:\/\/lansa.com\/wp-json\/wp\/v2\/comments?post=43295"}],"version-history":[{"count":7,"href":"https:\/\/lansa.com\/wp-json\/wp\/v2\/posts\/43295\/revisions"}],"predecessor-version":[{"id":68574,"href":"https:\/\/lansa.com\/wp-json\/wp\/v2\/posts\/43295\/revisions\/68574"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lansa.com\/wp-json\/wp\/v2\/media\/43296"}],"wp:attachment":[{"href":"https:\/\/lansa.com\/wp-json\/wp\/v2\/media?parent=43295"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lansa.com\/wp-json\/wp\/v2\/categories?post=43295"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lansa.com\/wp-json\/wp\/v2\/tags?post=43295"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}