{"id":1064,"date":"2018-03-08T08:56:39","date_gmt":"2018-03-08T08:56:39","guid":{"rendered":"http:\/\/telekinetics.eu\/wp\/?p=1064"},"modified":"2018-03-10T02:07:35","modified_gmt":"2018-03-10T02:07:35","slug":"lost-in-the-code-translation","status":"publish","type":"post","link":"http:\/\/telekinetics.eu\/wp\/?p=1064","title":{"rendered":"Lost in the (code) translation"},"content":{"rendered":"<p>A recent article in the Atlantic magazine highlighted\u00a0\u00a0 aspects of engineering tunnel vision resulting in\u00a0 proliferation of code, tools, systems, and standards, and failures in their implementation.<\/p>\n<p>There are two distinct threads running through this, firstly the need for simplifying and structuring the number of systems, code base, tools and standards applied interchangeably in solving identical problems, and\u00a0 achieving greater reliability in doing so.<\/p>\n<p>Secondly, the need for\u00a0 creating user\u00a0 responsive capability in developing software solving real-world problems, in industry, health, science, rather than simplifying petty inconveniences, ie. as in &#8220;apps&#8221; development, for improved delivery services, or social media.<\/p>\n<p>We are reaching\u00a0 the stage where experimenting with and applying\u00a0 various tools, resulting in an\u00a0 identical solutions to\u00a0 similar problems,\u00a0 provides indistinct value, unless tempered with an underlying laser like focus on convergence to user needs.<\/p>\n<p>How many coding systems, applications, ecosystems, and standards do we really need to make things happen?<\/p>\n<p>It took over 2 million years to develop the hammer in its present form, but software acceleration is faster,\u00a0 dispersed and mechanistic in nature, and does not always reflect comparative progress\u00a0 in usability and function.We may die if avionics fail. We will not go hungry, or freeze,\u00a0 if we don&#8217;t download the next app.<\/p>\n<p>Coding as an intellectual exercise, brings with a narrow mechanistic\u00a0 focus, offsetting any\u00a0 cross pollination benefits.<\/p>\n<p>While keeping people in work and a vibrant consulting &amp; training industry in shape, the focus on technology as opposed to applying thought &amp;\u00a0 rigor to practice, has led to a great deal of inertia in progressing the cause of useful coding, tools, systems, and usability.<\/p>\n<p>This is evident for example in the &#8220;agile&#8221; development practices seen as panaceas addressing inertia in applying technology to business problems.<\/p>\n<p>Instead of focusing on the drivers, and high level objectives,\u00a0 supported by a structural, methodical automation of a\u00a0 core set of capabilities, an approach\u00a0 distancing requirements from technology\u00a0 is followed.<\/p>\n<p>While it is certain that the agile manifesto encapsulates many of the usability objectives laid out, in practice the gap between an understanding of value, structure,\u00a0 and the resulting inadequate code grows, in proportion to effort invested in responding to\u00a0 &#8220;pragmatic&#8221;\u00a0 deadlines.<\/p>\n<p>The point is that less code is better code, and code shaped by converged design, comprehensive reasons for existence (ie. requirements), and method in application,\u00a0\u00a0 is even better.<\/p>\n<p>Fortunately there are a number of such\u00a0 abstractions, and this brings the next point into view.<\/p>\n<p>What constitutes a\u00a0 useful &#8220;converged&#8221; abstract model ? It appears that as with the development of the hammer, so it is that in computing there are certain ways of shaping the link between mathematics and usability,\u00a0 progressing in a certain direction which works.<\/p>\n<p>One such example is the development of the *NIX systems, initially developed in 1970\u00a0 which after 40+ years are still relevant and used in the majority of current\u00a0 communication and computing\u00a0 infrastructures.<\/p>\n<p>Another, and this is standards focused,\u00a0 is the work done by\u00a0 OSI, shaped\u00a0 from\u00a0 ITU founded in 1865,\u00a0 resulting in the OSI\/Network management forum in 1988 which in turn morphed into TM Forum set of standards widely used today by service providers today as reference for designing communication systems .<\/p>\n<p>This work shows the need for abstractions in structurally solving a range of human problems in communicating information, involving extensive investment in engineering\u00a0 and software development.<\/p>\n<p>With the coming of internet, and subsequently the web, software tools proliferated in automating standard communication, adding\u00a0\u00a0 and information processing functions\u00a0 (HTML, CSS, Javascript). The IETF governed these new standards, independently\u00a0 from those practices inherited from\u00a0 the past.<\/p>\n<p>Applications became less demanding in implementing code\u00a0 for responsive, interactive software, and less thought\u00a0 given\u00a0 to generalizations and principles, as these were set in the standards, and tools.<\/p>\n<p>The problem arose when proliferation of standards, tools and applications led, on the one hand\u00a0 to\u00a0 a lack of structure and method in coding practice and secondly to a multiplying and divergent\u00a0 effect.<\/p>\n<p>It takes\u00a0 more effort to think carefully about a set of problems, and structure,\u00a0 leading to a successful solution,\u00a0 than to implement a program providing immediate results. Additionally, when\u00a0 proliferation of tools occurs, a lot of energy is invested\u00a0 in mastering\u00a0 these\u00a0 rather than in careful \u00a0 design and coding practice.<\/p>\n<p>As developers and engineers face new needs, and challenges , they constantly\u00a0 seek new ways of doing things, as competitors they seek new ways of limiting their opposition through gazumping their technology, in short &#8220;cheaper, better, faster&#8221; , roughly aligned to cost , quality and efficiency &#8211; for the foreseeable future software will proliferate, so the best possible approach is to govern the process of making software, rather than limit a growing process.<\/p>\n<p>Abstract architecture and governance\u00a0 methods,\u00a0 interactive modelling &amp; visualization languages,and data representation\u00a0 can go\u00a0 a long way in focusing attention\u00a0 on business and human value, before any code is produced, thus reducing\u00a0 software proliferation, increasing quality, while\u00a0 questioning the value of\u00a0 implementation objectives.<\/p>\n<p>Architecture and abstraction methods exist and provide\u00a0 cost saving &amp; efficient\u00a0 solutions to real-life problems &#8211; they support &amp; set the stage for users, and stakeholders understanding and setting objectives, and guide\u00a0\u00a0 subsequent coding practice.<\/p>\n<p>While in tension with the need to pragmatically deliver results, they guide and shape better, risk-free software\u00a0 systems, solving real\u00a0 business problems.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>A recent article in the Atlantic magazine highlighted\u00a0\u00a0 aspects of engineering tunnel vision resulting in\u00a0 proliferation of code, tools, systems,[&#8230;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[6,8,5],"tags":[],"_links":{"self":[{"href":"http:\/\/telekinetics.eu\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1064"}],"collection":[{"href":"http:\/\/telekinetics.eu\/wp\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/telekinetics.eu\/wp\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/telekinetics.eu\/wp\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/telekinetics.eu\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1064"}],"version-history":[{"count":17,"href":"http:\/\/telekinetics.eu\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1064\/revisions"}],"predecessor-version":[{"id":1097,"href":"http:\/\/telekinetics.eu\/wp\/index.php?rest_route=\/wp\/v2\/posts\/1064\/revisions\/1097"}],"wp:attachment":[{"href":"http:\/\/telekinetics.eu\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1064"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/telekinetics.eu\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1064"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/telekinetics.eu\/wp\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1064"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}