{"id":270,"date":"2009-02-05T09:44:16","date_gmt":"2009-02-05T09:44:16","guid":{"rendered":"http:\/\/kubasek.com\/blog\/pragmatic_craftsman\/?p=270"},"modified":"2009-02-05T09:44:16","modified_gmt":"2009-02-05T09:44:16","slug":"quality-and-speed","status":"publish","type":"post","link":"https:\/\/pragmaticcraftsman.kubasek.com\/2009\/02\/05\/quality-and-speed\/","title":{"rendered":"Quality and Speed"},"content":{"rendered":"<p>Uncle Bob wrote an excellent post, <a href=\"http:\/\/blog.objectmentor.com\/articles\/2009\/02\/03\/speed-kills\">Speed Kills<\/a>. Is there a tradeoff between speed and quality, he asks. <\/p>\n<blockquote><p>If by &#8220;speed&#8221; you mean delivering working softwarequickly and repeatably release after release after release; thenmaintaining high quality is your only option.<\/p><\/blockquote>\n<p> I couldn&#8217;t agree more. In the long run, the only way you can move fast at high speed is if you have quality. Time and time again, I come across projects that were finished fast, with the thinking that they will never be modified again. (I&#8217;m not even sure if that&#8217;s always the case, but rather that quality was not a requirement.) After a few months, things change. They often do. And the project needs to be modified. What is your speed then? <\/p>\n<p>It would actually make more sense to rewrite the project. But that&#8217;s almost impossible. Too many dependencies. Too much coupling. Who can read that and understand? Too risky. At that point, the easiest thing is to do is just add a special exception, an &#8220;if&#8221; statement that would make the thing work. <\/p>\n<p>And the project quality degrades. <\/p>\n<p>And the speed decreases.<\/p>\n<p>Frustrating? You bet. Especially if you are not the original coder.<\/p>\n<p>Wouldn&#8217;t it be easier if it was written with quality in mind in the first place? <\/p>\n<p><b>Reference<\/b><br \/><a href=\"http:\/\/blog.objectmentor.com\/articles\/2009\/02\/03\/speed-kills\">Speed Kills<\/a> by Uncle Bob<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Uncle Bob wrote an excellent post, Speed Kills. Is there a tradeoff between speed and quality, he asks. If by &#8220;speed&#8221; you mean delivering working softwarequickly and repeatably release after [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[7],"tags":[],"class_list":["post-270","post","type-post","status-publish","format-standard","hentry","category-craftsmanship"],"_links":{"self":[{"href":"https:\/\/pragmaticcraftsman.kubasek.com\/wp-json\/wp\/v2\/posts\/270","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pragmaticcraftsman.kubasek.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pragmaticcraftsman.kubasek.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pragmaticcraftsman.kubasek.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pragmaticcraftsman.kubasek.com\/wp-json\/wp\/v2\/comments?post=270"}],"version-history":[{"count":0,"href":"https:\/\/pragmaticcraftsman.kubasek.com\/wp-json\/wp\/v2\/posts\/270\/revisions"}],"wp:attachment":[{"href":"https:\/\/pragmaticcraftsman.kubasek.com\/wp-json\/wp\/v2\/media?parent=270"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pragmaticcraftsman.kubasek.com\/wp-json\/wp\/v2\/categories?post=270"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pragmaticcraftsman.kubasek.com\/wp-json\/wp\/v2\/tags?post=270"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}