{"id":1812,"date":"2024-10-09T09:53:00","date_gmt":"2024-10-09T16:53:00","guid":{"rendered":"http:\/\/10kdev.net\/?p=1812"},"modified":"2025-07-17T10:20:33","modified_gmt":"2025-07-17T17:20:33","slug":"a-plan-for-quality","status":"publish","type":"post","link":"http:\/\/10kdev.net\/?p=1812","title":{"rendered":"A Plan for Quality"},"content":{"rendered":"\n<p>Here&#8217;s a plan for team code quality I&#8217;ve devised over a several years of working with different applications.  Most of these can be done open source.<\/p>\n\n\n\n<p>Each category represents a type of monitoring methodology.  This is by no means comprehensive, but is a good guide for the type of project hygiene that has to be done to maintain a good running application.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">INPUTS<\/h1>\n\n\n\n<p>The input bin of this plan involve what things we look at before we decide to act &#8212; data and observable collecting.<\/p>\n\n\n\n<p>Of course any of these tools can be ran in almost any of these stages, but I&#8217;ve put them into a best fit bin for matter of brevity.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Monitored Quality<\/h2>\n\n\n\n<p>Monitored quality looks at the aspects of the running applications and infrastructure; pretty much runtime state.  A lot of devops is involved.  <\/p>\n\n\n\n<p>Monitoring of server conditions and application logs, database performance and optimization, specific coverages for OWASP or security breaches. In that monitoring is also running some sort of continuous testing &#8212; load type tests (JMeter etc.), performance checks.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Automated Quality<\/h2>\n\n\n\n<p>Automated quality we are scanning pre-production code looking for errors.<\/p>\n\n\n\n<p>At this level we have code quality scanning (SonarQube etc.), dependency scanning (Dependency Track etc.), security scanning (BurpSuite etc.), and UI\/UX scanning (Lighthouse etc.).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Developer Driven Quality<\/h2>\n\n\n\n<p>Developer quality involves tools and observations during the development process &#8212; usually on local.<\/p>\n\n\n\n<p>Few developers check their build logs and should (other than runtime)&#8211; it&#8217;s an endless list of issues.  Quality checks before committing &#8212; Sonar, linting, AI tools, code coverage &#8212; should all be a given. Also, pull requests and code reviews before merging to main branches.<\/p>\n\n\n\n<p>At a higher level &#8212; architectural upgrades (watching framework sites for updates, warning from scans, etc.) and developer experience &#8212; tools, build times, local issues &#8212; should be constantly revisited.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">OUTPUTS<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Dashboards<\/h2>\n\n\n\n<p>Dashboards monitor real time data, especially useful for production support.  <\/p>\n\n\n\n<p>Dashboards can be made for Automated Quality and Developer Quality, but generally I consider those part of engineering management and not production monitoring.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ticket Process<\/h2>\n\n\n\n<p>The ticket process involves a triage &#8212; to see if the ticket should even be logged.<\/p>\n\n\n\n<p>The inputs come from all three areas, and can product a ton of backlog &#8212; sometimes it&#8217;s best just to focus on blockers, criticals and majors.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"http:\/\/10kdev.net\/wp-content\/uploads\/2025\/07\/Quality-Plan-Generic.drawio-7.png\"><img decoding=\"async\" loading=\"lazy\" width=\"805\" height=\"1024\" src=\"http:\/\/10kdev.net\/wp-content\/uploads\/2025\/07\/Quality-Plan-Generic.drawio-7-805x1024.png\" alt=\"\" class=\"wp-image-1821\" srcset=\"http:\/\/10kdev.net\/wp-content\/uploads\/2025\/07\/Quality-Plan-Generic.drawio-7-805x1024.png 805w, http:\/\/10kdev.net\/wp-content\/uploads\/2025\/07\/Quality-Plan-Generic.drawio-7-236x300.png 236w, http:\/\/10kdev.net\/wp-content\/uploads\/2025\/07\/Quality-Plan-Generic.drawio-7-768x977.png 768w, http:\/\/10kdev.net\/wp-content\/uploads\/2025\/07\/Quality-Plan-Generic.drawio-7.png 842w\" sizes=\"(max-width: 805px) 100vw, 805px\" \/><\/a><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>Here&#8217;s a plan for team code quality I&#8217;ve devised over a several years of working with different applications. Most of these can be done open source. Each category represents a type of monitoring methodology. This is by no means comprehensive, but is a good guide for the type of project hygiene that has to be [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/1812"}],"collection":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1812"}],"version-history":[{"count":5,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/1812\/revisions"}],"predecessor-version":[{"id":1825,"href":"http:\/\/10kdev.net\/index.php?rest_route=\/wp\/v2\/posts\/1812\/revisions\/1825"}],"wp:attachment":[{"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1812"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1812"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/10kdev.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1812"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}