{"id":44,"date":"2009-12-13T15:17:50","date_gmt":"2009-12-13T21:17:50","guid":{"rendered":"http:\/\/www.kevintate.com\/?p=44"},"modified":"2009-12-13T16:27:03","modified_gmt":"2009-12-13T22:27:03","slug":"test-software-development-post","status":"publish","type":"post","link":"https:\/\/www.kevintate.com\/?p=44","title":{"rendered":"It&#8217;s Code-AND-Fix!"},"content":{"rendered":"<p>The error in the first print run of my book that I most wish I&#8217;d caught in proofreading is at the start of the chapter on <em>Defect Prevention<\/em>.\u00a0 In the opening paragraph I describe how a culture of defect detection is one of coding then bugfixing; i.e. code-then-fix, or &#8220;let&#8217;s add all the features first, then spend a few weeks fixing all the bugs&#8221;.\u00a0 A culture of defect prevention on the other hand is one where feature development and bugfixing happen every day; i.e. &#8220;every day, let&#8217;s check in an incremental addition to a feature and fix the bugs that come up that day&#8221;.\u00a0 This is a &#8220;code-AND-fix&#8221; culture, yet in the first print run the text says code-then-fix.\u00a0 Oops.<\/p>\n<p>There are other errors in the first print run (check out the Publications page for a list) but this one caused me the most stress.\u00a0 I&#8217;ll never forget the feeling of opening the box of books from the publisher, pulling out a copy and skimming it only to find this.\u00a0 Let&#8217;s just say it did not make my day.<\/p>\n<p>So the big question is, why is this important?\u00a0 Because teams that focus on features first (i.e. a culture of defect detection) have a false sense of progress.\u00a0 Their <em>project<\/em> might be tracking to schedule, but nine times out of ten their <em>product <\/em>isn&#8217;t because once they try and release the usual outcome is stress as they fix bugs and try to stabilize the product again.\u00a0 I&#8217;ve seen projects where a number of those fancy new features have to be disabled just to get the product out the door, and heroism and stress are required in equal measure.\u00a0 The feeling the team has when the product finally ships is a sense of relief, which is a shame since a lot of hard work went into the product.\u00a0<\/p>\n<p>The advantage of a culture of defect prevention, where the team focuses on quality first and features second,\u00a0is that products are shipped with a sense of pride and with less stress and no heroism required.\u00a0 True, there are always things to improve in every release, but these teams are able to make each release better than the one before it, and that gets the attention of customers.<\/p>\n<p>If there&#8217;s one observation I have in my career to date it&#8217;s that focusing on quality first is critical.\u00a0 Quality enables innovation and business success, which are critical for long-term success.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The error in the first print run of my book that I most wish I&#8217;d caught in proofreading is at [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[3],"tags":[],"class_list":["post-44","post","type-post","status-publish","format-standard","hentry","category-software_development"],"_links":{"self":[{"href":"https:\/\/www.kevintate.com\/index.php?rest_route=\/wp\/v2\/posts\/44","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kevintate.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kevintate.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kevintate.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kevintate.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=44"}],"version-history":[{"count":7,"href":"https:\/\/www.kevintate.com\/index.php?rest_route=\/wp\/v2\/posts\/44\/revisions"}],"predecessor-version":[{"id":47,"href":"https:\/\/www.kevintate.com\/index.php?rest_route=\/wp\/v2\/posts\/44\/revisions\/47"}],"wp:attachment":[{"href":"https:\/\/www.kevintate.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=44"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kevintate.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=44"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kevintate.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=44"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}