{"id":45,"date":"2004-09-28T10:21:20","date_gmt":"2004-09-28T10:21:20","guid":{"rendered":"http:\/\/www.pleus.net\/blog\/?p=45"},"modified":"2010-08-13T00:10:44","modified_gmt":"2010-08-12T22:10:44","slug":"maintainable-software-by-inheritance-of-responsibility","status":"publish","type":"post","link":"https:\/\/www.pleus.net\/blog\/?p=45","title":{"rendered":"Maintainable Software by Inheritance of Responsibility"},"content":{"rendered":"<p>What is software quality all about?<\/p>\n<p>In general quality means:<br \/>\n&#8211; That it works according to the specifications.<br \/>\n&#8211; It&#8217;s maintainable. <\/p>\n<p>Who is responsible to meet these goals? It&#8217;s the developer and tester.<br \/>\nIf you have a sound specification it&#8217;s easy to measure whether a software behaves according to the specifications. <\/p>\n<p>The second goal is more difficult to achieve.<br \/>\nHow can one determine whether a software is maintainable?<\/p>\n<p>In general a developer should feel responsible for his\/her code. This can be supported by not interchanging developer resources on a particular code or component. It is encouraged for instance by the <a href=\"http:\/\/www.microsoft.com\/msf\" target=\"_blank\">Microsoft Solutions Framework (MSF) Team Model<\/a>. Responsibility is important for a projects success.<\/p>\n<p>But no developer stays in a company forever. And when he\/she leaves the company it&#8217;s really getting visible whether a software is maintainable. The successor decides whether it is or not.<br \/>\nYou might have experienced that: Usually code written by an other person is suspicious to a developer.<br \/>\nTo avoid this responsibility is the key. In order to give software a future, responsibility has to be inherited from one person to another.<\/p>\n<p>But how to achieve that?<br \/>\nFeeling responsible is nothing that can be decreed from outside. Responsibility grows inside a person.<br \/>\nIn order to make a person feel responsible he\/she has to feel confident with the code.<\/p>\n<p>It helps if the code is well documented and more important clearly structured.<br \/>\nThe person really has to understand the intention of the developer who created the code.<br \/>\nIt might be a good idea to refactor existing code together with the successor and simplify it&#8217;s structure so that he\/she really understands it.<br \/>\nGive enough time for hand over (weeks not days). It&#8217;s not sufficient just to pass the documentation and say good bye as it often happens. This can&#8217;t be enforced by the developer itself but the management which has to schedule it.<\/p>\n<p>You will be good adviced to inherit responsibility in order to create maintainable software.<\/p>\n<p>What is your opinion?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>What is software quality all about? In general quality means: &#8211; That it works according to the specifications. &#8211; It&#8217;s maintainable. Who is responsible to meet these goals? It&#8217;s the developer and tester. If you have a sound specification it&#8217;s easy to measure whether a software behaves according to the specifications. The second goal is &hellip; <a href=\"https:\/\/www.pleus.net\/blog\/?p=45\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Maintainable Software by Inheritance of Responsibility<\/span><\/a><\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-45","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/www.pleus.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/45","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.pleus.net\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.pleus.net\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.pleus.net\/blog\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.pleus.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=45"}],"version-history":[{"count":1,"href":"https:\/\/www.pleus.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/45\/revisions"}],"predecessor-version":[{"id":326,"href":"https:\/\/www.pleus.net\/blog\/index.php?rest_route=\/wp\/v2\/posts\/45\/revisions\/326"}],"wp:attachment":[{"href":"https:\/\/www.pleus.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=45"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.pleus.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=45"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.pleus.net\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=45"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}