{"id":7971,"date":"2026-06-16T01:00:59","date_gmt":"2026-06-16T07:00:59","guid":{"rendered":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/?p=7971"},"modified":"2026-06-05T11:48:51","modified_gmt":"2026-06-05T17:48:51","slug":"measuring-software-quality","status":"publish","type":"post","link":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/measuring-software-quality\/","title":{"rendered":"Measuring Software Quality"},"content":{"rendered":"\r\n<p class=\"wp-block-paragraph\">Is it possible to make software more maintainable and testable using software metrics?<\/p>\r\n<p><em>Download my free ebook, <a href=\"https:\/\/www.qimacros.com\/pdf\/Agile-Process-Innovation.pdf\" target=\"_blank\" rel=\"noopener\">Agile Process Innovation &#8211; Hacking Lean Six Sigma for Results<\/a>.<\/em><\/p>\r\n\r\n\r\n\r\n<p><iframe loading=\"lazy\" src=\"https:\/\/player.vimeo.com\/video\/1123945487?title=0&amp;byline=0&amp;portrait=0\" width=\"720\" height=\"405\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><span data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" class=\"mce_SELRES_start\">\ufeff<\/span><\/iframe><\/p>\r\n\r\n\r\n\r\n<p class=\"wp-block-paragraph\">&#8220;Hi, I&#8217;m Jay Arthur, author of \u201c<a href=\"https:\/\/www.amazon.com\/Lean-Six-Sigma-Hospitals-Improving\/dp\/1259641082\/\">Lean Six Sigma For Hospitals<\/a>\u201d and <a href=\"https:\/\/www.qimacros.com\/demo\/\">QI Macros [software]<\/a>.<\/p>\r\n<p>&#8220;Back in the 80s, I wrote a book called <a href=\"https:\/\/www.betterworldbooks.com\/product\/detail\/measuring-programmer-productivity-and-software-quality-9780471887133\">\u2018Measuring Programmer Productivity and Software Quality,\u2019<\/a> and strangely enough, it started to be referenced now 35 years later. I see articles; academia sends me things about it. There was a thing in there called \u2018<a href=\"https:\/\/www.geeksforgeeks.org\/dsa\/cyclomatic-complexity\/\">McCabe cyclomatic complexity<\/a>\u2019 which said if the number of decisions in a piece of software exceeds 10 then it starts to become unmaintainable, and when you get to about 49 or 50, it becomes completely unmaintainable and untestable.<\/p>\r\n<p>&#8220;That&#8217;s one of the reasons for the way I built QI Macros was to minimize McCabe cyclomatic complexity per module, and also do a lot of reuse to have things that I need and just reuse them over and over and over again. I learned that from working in Unix shell programming long ago. (<a href=\"https:\/\/www.amazon.com\/Unix-Shell-Programming-Lowell-Arthur\/dp\/0471168947\">I wrote a book about that, too.<\/a>)<\/p>\r\n<p>&#8220;But I want you to get this idea that we can take things like software development and make it so that it&#8217;s very maintainable, very maintainable, enhanceable\u2026 there&#8217;s ways to go about that. And then you end up with software that doesn&#8217;t break on you so much and do wrong things you don&#8217;t like. So this may not apply to you, but if you work in IT on software, you know all about it.<\/p>\r\n<p>&#8220;That&#8217;s my Improvement Insight. Let&#8217;s go out and improve something this week, like our software, and reduce McCabe cyclomatic complexity to get to something that&#8217;s more and more maintainable.&#8221;<\/p>\r\n","protected":false},"excerpt":{"rendered":"<p>Is it possible to make software more maintainable and testable using software metrics? Download my free ebook, Agile Process Innovation &ndash; Hacking Lean Six Sigma for Results. &#65279; &ldquo;Hi, I&rsquo;m Jay Arthur, author of &ldquo;Lean Six Sigma For Hospitals&rdquo; and QI Macros [software]. &ldquo;Back in the 80s, I wrote a book called &lsquo;Measuring Programmer Productivity [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":8329,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[290],"tags":[168,90,664],"class_list":["post-7971","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-improvement-insights","tag-qi-macros","tag-software","tag-software-complexity"],"_links":{"self":[{"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/posts\/7971","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/comments?post=7971"}],"version-history":[{"count":5,"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/posts\/7971\/revisions"}],"predecessor-version":[{"id":8378,"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/posts\/7971\/revisions\/8378"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/media\/8329"}],"wp:attachment":[{"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/media?parent=7971"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/categories?post=7971"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.qimacros.com\/lean-six-sigma-blog\/wp-json\/wp\/v2\/tags?post=7971"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}