5 Minute DevOps: Perfect Never Ships
<p>I created a T-shirt design and kept wearing it to work to rant at one of my teammates who kept polishing things instead of integrating his code with the rest of the team. CI means that code <strong><em>is</em></strong> integrating continuously, after all.</p>
<p>The shirt had this code snippet. Before I created the shirt, I posted it to my company’s Slack with a few thousand developers. Therefore, this is the most heavily reviewed code I’ve ever written:</p>
<p><iframe frameborder="0" height="216" scrolling="no" src="https://medium.com/media/930d5328cf9bc2b885713e4246ae853c" title="Perfect Never Ships" width="680"></iframe></p>
<p>For the non-developers: Until perfect is true, reduce the value to be delivered by half and then check if perfection is reached. Since there is never a condition where perfect can be set to true, the value continues to drop infinitely. In short, “perfect never ships.”</p>
<p>Don’t get me wrong. This doesn’t mean we shouldn’t care about quality. I often hear Voltaire misquoted as “perfect is the enemy of good enough.” That’s not what he said. He said, <a href="https://en.wikipedia.org/wiki/Perfect_is_the_enemy_of_good" rel="noopener ugc nofollow" target="_blank">“The best is the enemy of the good.”</a> This is the essence of agile delivery: build something we think is good, deliver it, compare our idea of “good” with the users’, and adjust rapidly as required.</p>
<p><a href="https://medium.com/defense-unicorns/5-minute-devops-perfect-never-ships-24513db98c22">Click Here</a></p>