This is Part 3 of Jody's talk at Dreamit Ventures. Check out Part 1: The Heartbreak of Technical Debt and Part 2: The Difference Between Quality Assurance and Quality Control.
There are a lot of benefits to focusing on quality, and having fewer bugs is not necessarily the primary one. One of the main benefits is maintainability. Another is professional growth. It's a side effect of a focus on quality. When you're focusing on quality, it makes your team communicate and improve with feedback.
In fact, the growth of your teammates and how good they become is actually more important to me than the actual output of the product. Because people, ultimately, are more important than code. A coder is much more than their code, because a coder is the author, and makes more and more of it. Ultimately, you want to be creating great coders, not just creating code, if you really want to be successful.
Obviously, by focusing on quality you'll have a better product, but this is especially noticeable in places you don't normally look. Focus on quality will help you more in the back end. A lot of people look at the front end. They’ll say, "That's a pixel off," or "You need to fix the menu; it’s unresponsive." Not many people will come back and say, "You know, the interface text on the admin dashboard is confusing." When you're doing quality checks, that might be the only time somebody really looks at and cares about stuff that can make a difference about how easy it is to understand the product and prevent confusion.
Quality focus makes it easier to launch and deploy projects. I was at an office recently and I was sitting in front of a wall and there were all these Post-it notes everywhere. I didn't know what they were, but then someone pointed out to me, "Oh, yeah, that's the play-by-play of the site launch we did the other day." Notes read, "8:30pm: security audit", "2:30am: change the DNS."I thought, "Well, that's not how I do launches. My launches usually take a few minutes and everyone's calm. We sleep at night." We do all of the leg work of making sure everything was done right and with a lot of quality all throughout the process. Then we just relax. Nothing's on fire.
Maintainability is the most important outcome of the focus on quality. The truth is that your code might last a really long time. You need to prepare for that possibility because if you don't, you're definitely going to have serious problems. It's not that hard to prepare things to be maintainable now, but it's really, really hard to make them maintainable later.
Continue to Part 4: Like a Joke, But Not Really a Funny Joke: Maintainable Code