{"id":2923,"date":"2016-10-21T03:05:37","date_gmt":"2016-10-21T03:05:37","guid":{"rendered":"https:\/\/www.wapshere.com\/missmiis\/?p=2923"},"modified":"2016-10-21T03:05:37","modified_gmt":"2016-10-21T03:05:37","slug":"it-always-comes-back-to-requirements","status":"publish","type":"post","link":"https:\/\/www.wapshere.com\/missmiis\/it-always-comes-back-to-requirements","title":{"rendered":"It always comes back to Requirements"},"content":{"rendered":"<p>I&#8217;m just going to say it &#8211; many people in IT don&#8217;t give enough thought to requirements. They might\u00c2\u00a0<em>think<\/em> they do, there may even be a document with the word &#8220;Requirements&#8221; in the title, but are they good enough for the job?<\/p>\n<p><!--more--><\/p>\n<p>I&#8217;m sure there are erudite and exhaustive\u00c2\u00a0documents out there on &#8220;how to write good requirements&#8221; but I&#8217;m going to ignore all those and list my top\u00c2\u00a0<em>&#8220;requirements for requirements<\/em>&#8220;.<\/p>\n<p><strong>1. They must be precise<\/strong><\/p>\n<p>Or &#8211; they must not leave room for interpretation.<\/p>\n<p>As one of my colleagues said to me the other day &#8220;they have to pretend we&#8217;re 6&#8221;. It&#8217;s really hard to write requirements to such a level of exactitude that two different readers won&#8217;t come away with two different impressions, but we really do have to aim for that.<\/p>\n<p><strong>2. They must be comprehensive<\/strong><\/p>\n<p>If it&#8217;s not on the requirements list it&#8217;s not in the solution. End of.<\/p>\n<p>This takes discipline both in writing requirements and in delivering them. Many customers seems to think that a conversation in a meeting\/over email\/at the coffee shop will lead directly to additional functionality in the solution. Not unless it gets added to the requirements it doesn&#8217;t.<\/p>\n<p><strong>3. They must be testable<\/strong><\/p>\n<p>Requirements are the basis of both testing and solution acceptance.<\/p>\n<p>I think it really helps,\u00c2\u00a0when writing requirements, to think\u00c2\u00a0&#8220;how would someone test this?&#8221;. If we can&#8217;t\u00c2\u00a0<em>demonstrate<\/em> we met all the requirements then how can anyone say when the work is done?<\/p>\n<p><strong>4. Business requirements are\u00c2\u00a0different to Solution requirements<\/strong><\/p>\n<p>The business requirement may be &#8220;A user account for a new starter will be provisioned by their start date without manual intervention&#8221;.<\/p>\n<p>That simple sounding sentence actually contains large numbers of solution requirements which will\u00c2\u00a0include HR data feed, solution run schedules, provisioning logic, attribute population rules, start-date workflow, extras such as email account, home folder&#8230;.<\/p>\n<p>Business requirements will often un-pack to tens (even hundreds) of individual solution requirements, and yes we do need to capture them all (see points 1, 2 and 3).<\/p>\n<p>Oh and by the way &#8211; if it took a couple of\u00c2\u00a0weeks to write the business requirements, and that&#8217;s going to turn into (say) ten\u00c2\u00a0times as many solution requirements&#8230; I&#8217;m not saying it will take ten\u00c2\u00a0times as long to write the solution requirements, but it&#8217;s certainly not going to\u00c2\u00a0be a small amount of effort.<\/p>\n<p><strong>In Summary<\/strong><\/p>\n<p>You wouldn&#8217;t get someone to come in and build a house without incredibly detailed plans, designs, and lists of requirements right down to floor coverings and taps. And we shouldn&#8217;t attempt to build complex IT solutions without that level of planning either.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m just going to say it &#8211; many people in IT don&#8217;t give enough thought to requirements. They might\u00c2\u00a0think they do, there may even be a document with the word &#8220;Requirements&#8221; in the title, but are they good enough for the job?<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":[]},"categories":[3],"tags":[],"class_list":["post-2923","post","type-post","status-publish","format-standard","hentry","category-philosophising"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/pkp1o-L9","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/2923","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/comments?post=2923"}],"version-history":[{"count":10,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/2923\/revisions"}],"predecessor-version":[{"id":2934,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/posts\/2923\/revisions\/2934"}],"wp:attachment":[{"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/media?parent=2923"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/categories?post=2923"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.wapshere.com\/missmiis\/wp-json\/wp\/v2\/tags?post=2923"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}