{"id":100,"date":"2014-02-28T13:00:43","date_gmt":"2014-02-28T13:00:43","guid":{"rendered":"http:\/\/www.michelgoes.com\/blog\/?p=100"},"modified":"2014-02-28T14:20:21","modified_gmt":"2014-02-28T14:20:21","slug":"the-submerged-part-of-the-iceberg","status":"publish","type":"post","link":"https:\/\/www.michelgoes.com\/blog\/?p=100","title":{"rendered":"The submerged part of the iceberg"},"content":{"rendered":"<div class='watch-action'><div class='watch-position align-right'><div class='action-like'><a class='lbg-style1 like-100 jlk' href='javascript:void(0)' data-task='like' data-post_id='100' data-nonce='3e49a96320' rel='nofollow'><img src='https:\/\/www.michelgoes.com\/blog\/wp-content\/plugins\/wti-like-post\/images\/pixel.gif' title='Like' \/><span class='lc-100 lc'>41<\/span><\/a><\/div><\/div> <div class='status-100 status align-right'><\/div><\/div><div class='wti-clear'><\/div><p><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-thumbnail wp-image-108\" alt=\"20\" src=\"http:\/\/www.michelgoes.com\/blog\/wp-content\/uploads\/2013\/12\/20-150x150.jpg\" width=\"150\" height=\"150\" \/>Every business solution <span style=\"font-size: x-small;\"><sup>[1]<\/sup><\/span> aims at addressing business\/customer needs. So an appropriate understanding of these needs is fundamental before proceeding with a design, a development, an implementation, &#8230; \u00a0In short, everything that the adopted development methodology <span style=\"font-size: x-small;\"><sup>[2]<\/sup><\/span> requires.<!--more--><\/p>\n<p>Perfect, are we tempted to say, but &#8230; what about the needs which are not business i.e. not rendering <span style=\"text-decoration: underline;\">directly<\/span> value\u00a0to the customers ? for example the capacity, robustness or resilience of the solution ? These requirements are often called &#8220;non-functional&#8221;\u00a0<span style=\"font-size: x-small;\"><sup>[3]<\/sup><\/span>. And finally what about the processes supporting the business solution: operation, maintenance, support, ordering, billing, &#8230; ?<\/p>\n<table style=\"background-color: #ffffff; border: 0px; padding: 0px;\">\n<tbody>\n<tr>\n<td style=\"border: 0px solid #ffffff; padding: 0px; background-color: #ffffff;\" align=\"left\" valign=\"middle\"><span style=\"font-size: small;\">In an IT context, most of the development methodologies start by analysing the business needs (business modelling), then derive the necessary functionality to support these needs that get finally implemented in a technical\u00a0solution (software\/hardware). These methodologies tend to focus on the functional needs (the ones directly beneficial to the customer or expressed by him) and on software aspects. The processes and non-functional parts being less well covered.<\/span><\/td>\n<td style=\"background-color: #ffffff; border: 0px solid #ffffff; padding: 0px 25px;\" align=\"left\" valign=\"middle\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone  wp-image-661\" alt=\"quadrant\" src=\"http:\/\/www.michelgoes.com\/blog\/wp-content\/uploads\/quadrant-300x300.jpg\" width=\"180\" height=\"180\" srcset=\"https:\/\/www.michelgoes.com\/blog\/wp-content\/uploads\/quadrant-300x300.jpg 300w, https:\/\/www.michelgoes.com\/blog\/wp-content\/uploads\/quadrant-110x110.jpg 110w, https:\/\/www.michelgoes.com\/blog\/wp-content\/uploads\/quadrant.jpg 474w\" sizes=\"auto, (max-width: 180px) 100vw, 180px\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>This is the submerged part of the iceberg which can nevertheless represent a consequent or the main part of the overall development efforts and costs.\u00a0Here are some examples of non-functional aspects\u00a0to take into account:<\/p>\n<table border=\"0\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody style=\"line-height: 10px;\">\n<tr>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Accessibility<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Operability<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Effectiveness<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Audit and control<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Parties (dependency on other)<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Efficiency<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Availability<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Performance<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Extensibility<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Backup<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Portability<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Failure management<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Capacity<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Pricing<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Interoperability<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Compatibility<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Privacy<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Security<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Compliance<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Quality<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Stability<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Configuration management<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Reporting<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Testability<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Deployment<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Resilience<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Legal and licensing<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Disaster recovery<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Robustness<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Training<\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Documentation<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">Scalability<\/span><\/td>\n<td style=\"width: 200px; background-color: #ffffff; border: 1px solid #ffffff;\"><span style=\"font-size: 11px;\">\u00a0<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Underestimating or ignoring these aspects induces delays, additional costs and inaccurate business cases\u00a0because the reality of the implementation of the solution always demands these requirements to be addressed sooner or later. Who can for example afford to spare security or performance ?<\/p>\n<p>So how to increase the chances not to miss anything ?<\/p>\n<ol>\n<li>By adopting a development methodology that takes into account the needs of <span style=\"text-decoration: underline;\">all<\/span> the actors interacting with the solution i.e. not only the business actors but also the non\u2013business ones: back office <span style=\"font-size: x-small;\"><sup>[4]<\/sup><\/span>, third-party providers, employees &#8230;<\/li>\n<li>But also by initiating the design and development of the processes associated with the business solution. This effort must be conducted simultaneoulsy to the software development effort.<\/li>\n<\/ol>\n<p>What the iceberg metaphor tells us is that\u00a0what is visible is anticipated and\u00a0what is hidden is underestimated but this is that part that makes the whole thing float.<\/p>\n<p>References:<\/p>\n<p><span style=\"font-size: 11px;\">[1] <a title=\"Business solution\" href=\"http:\/\/www.michelgoes.com\/blog\/?page_id=473\" target=\"_blank\">business solution<\/a><\/span><br \/>\n<span style=\"font-size: 11px;\"> [2]\u00a0<a href=\"http:\/\/en.wikipedia.org\/wiki\/Software_development_methodology\" target=\"_blank\">software development methodology, wikipedia<\/a><\/span><br \/>\n<span style=\"font-size: 11px;\"> [3] <a href=\"http:\/\/en.wikipedia.org\/wiki\/Non-functional_requirement\" target=\"_blank\">non-functional requirements, wikipedia<\/a><\/span><br \/>\n<span style=\"font-size: 11px;\"> [4] <a href=\"http:\/\/en.wikipedia.org\/wiki\/Back_office\" target=\"_blank\">back office, wikipedia<\/a><\/span><\/p>\n<p>Related articles:<\/p>\n<ul>\n<li><a title=\"Quid of the functional strategy ?\" href=\"http:\/\/www.michelgoes.com\/blog\/?p=17\">Quid of the functional strategy ?<\/a><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>41 Every business solution [1] aims at addressing business\/customer needs. So an appropriate understanding of these needs is fundamental before proceeding with a design, a development, an implementation, &#8230; \u00a0In short, everything that the adopted development methodology [2] requires.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3,5],"tags":[],"class_list":["post-100","post","type-post","status-publish","format-standard","hentry","category-methodology","category-processes"],"_links":{"self":[{"href":"https:\/\/www.michelgoes.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/100","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.michelgoes.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.michelgoes.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.michelgoes.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.michelgoes.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=100"}],"version-history":[{"count":136,"href":"https:\/\/www.michelgoes.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/100\/revisions"}],"predecessor-version":[{"id":654,"href":"https:\/\/www.michelgoes.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/100\/revisions\/654"}],"wp:attachment":[{"href":"https:\/\/www.michelgoes.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=100"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.michelgoes.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=100"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.michelgoes.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=100"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}