Such an important topic, isn’t it? Most of the industry, in 2022, still thinks that the responsibility of Software Quality entirely lies with the Software Testing team. I saw many posts in LinkedIn stating the same, so I thought I would clarify on Software Quality ownership, to organisations and engineers alike, so that they get some clarity about where the responsibility for Software Quality lies.
Let’s take a look at the picture. As you can see, we have a bunch of users (typically the end-users or the target audience), who will be using the software. These end-users might have different ideas or expectations of what the product should look like, and hence their own definition of what a quality product is, will vary between different sets of users or even between individual users! Thus, it’s up to us, the product team, to manage those expectations, with the product owner or the project manager taking the lead on that aspect.
Let’s take a look at the various team members who contribute towards the product quality. Developers, testers, product owners, project managers, and every one in the product team contribute towards product quality with their efforts, inputs, and decisions, which affect the product quality. Note that it is not just the testing teams’ inputs or efforts that affect the product quality.
You will also notice that the product team interacts with the users to define or calibrate how the product needs to be. This is a very important aspect of product development, because without interactions, you might be building a product that’s not valuable to your end-users!
With all the efforts of the product team, the product is developed. In addition to all the interactions that the users have with the product team to influence how the product should be, the users also use the finished product to experience it. They provide feedback to the product team as to whether the product satisfies their expectations. Based on these feedback, the product team revises the product according to their expectations.
Another important thing to note is that I have depicted the users as a cloud with their inputs as a thought process. This is because Quality is a very experiential thing that is defined by how pleased the users are with the product in addition to the business-rules driven expectations of how the product should behave!
Hope that clarifies on how Quality is achieved in a Software product, and who are involved in the process! Feel free to share your comments, inputs, and questions! Thanks for reading, and see you around!