We didn’t make Sifter just to track issues. We built it to help chip away at some of the human problems with issue tracking. But issue tracking is only a single component of a good quality strategy. Moreover, the tool itself is useless without a larger quality framework for it to live in. We want to help make it easier for people to setup that framework. Moreover, we want people to be excited about setting up their own framework for delivering higher quality.
Every journey begins with a single step, and our first step is the Software Quality Academy. We’ve spent years talking to teams and reading and learning about how to improve software quality, and we saw a big gap between what people are doing and what they could be doing. So we’ve summarized the basics in a series of lessones to help folks take the first steps and hopefully get inspired to go even further.
Like any skill, testing and quality assurance can take years to master, and many of the skills required aren’t about tools or processes at all. At it’s core, quality assurance is as much, if not more, about communicaton and collaboration as it is about the tools that you use. No single resource can teach you everything, but we’d like to think that quality and its benefits can be a larger part of the conversation.
Shipping high quality software is as much a human problem as it is a technical or process problem. There’s no shortage of tools to help teams improve quality, but there is a shortage of awareness and education to help team apply these tools. Creating and shipping software is both a young industry and one that changes extremely rapidly. So, often, today’s cutting edge processes are tomorrow’s legacy processes.
One thing that is constant is the value of focusing on quality. However, appreciation for just how much investing in quality pays dividends is underwhelming. The amount of software being shipped with countless bugs and quality issues is unfortunate.
There are countless tools and processes for shipping higher quality software, but folks aren’t using them or aren’t using them as well as they can.
- Awareness. With the increased ease of shipping software, more and more people are becoming software developers without the formal education. In many cases, even those with formal educations in computer science haven’t been exposed to software engineering practices. This isn’t inherently bad, but the result is that folks aren’t taking advantage of everything that’s available to them simply becauese they don’t know about it.
- Accessibility. Because most tools are used primarily by developers, they’re rarely easy to setup or use. So people don’t use them. Testing and quality assurance are moderately boring topics. It’s much more exciting to review designs or write new code, so those are the topics that get attention and investment. The result is that there’s not a lot of down-to-earth material on getting started with a quality strategy.
- Culture. Quality is often treated as an afterthought or an optional expense. Once a team starts sacrificing quality, it’s incredibly difficult to build a culture that truly values quality. Instead of recognizing high quality as a way to save time and money, it’s viewed as an added expense. This is incredibly unfortunate, because in the long-term, the real added time and expense comes from working with low quality codebases.
- Separation. Too often, teams view quality as the task of a testing team, but quality isn’t a single person or team’s responsibility. Everyone on the team needs to recognize and value quality. Designers. Developers. Project managers. Clients. There are countless vectors constantly tempting you to sacrifice quality, and viewed individually, it’s easy to justify the sacrifice. But when your team views quality as everyone’s collective job, things change.
These are all solvable problems. They aren’t trivial to solve, but they’re not impossible. We can all stand to learn a bit more and invest in our soft and hard skills to ship better stuff.
We’re passionate about quality, and we’re still learning ourselves. The biggest thing we’ve learned is that the more we invest in quality, the more everything improves. Not only are we shipping higher quality work, but we’re saving time and effort. That frees us up to focus on things that help customers rather than wasting time putting out fires after the fact.
For us, improving quality has become addictive. And it’s not just about issue tracking. It’s about automated testing, release management, requirements gathering, communication, code reviews, monitoring tools, and much more. Our hope is that we can share what we’ve learned in a way that makes quality more exciting.
We’ve created our little Software Quality Academy as a way to help teams take the first steps learning about all of the amazing tools and practices that are available to them. Despite its length, the academy barely skims the surface, but if all goes well, we think it can be springboard for your quest for improved quality.