IT departments feature a wide variety of skills and disciplines, usually divided into groups with specific focus areas. There are developers and system administrators, project and product managers, the design team, and QA. Each group has a primary focus — described in their respective titles.
Most associate the QA team with finding bugs, logging tickets, and implementing any necessary automation. Within that department, there are also specific roles that further define an area of work for testing. For example, QA analysts may focus on gathering requirements and manually testing an application. QA engineers invest a lot of their time in transitioning manual test cases into automated tests. Each department has a similar breakdown in focus that defines the scope of that entire team.
But quality assurance is much greater than any one department or role. It isn’t just a department as much as it is a concept. Each team plays a role in QA as it’s the continual process of making the product better. Every team works to ensure that an application is high quality. Having a dedicated QA team helps with managing and organizing issues that can creep into a project, but the QA team isn’t the only team that contributes to the process. How do others contribute? Let’s take a look:
The Development Team
This team helps build the application from the ground up and play a key role in building a quality product. Devs implement the right framework for the project, work toward writing efficient code with best practices, and write unit tests when feasible. All of the work they do up front can help alleviate headaches in the future. When an application goes to production, consumers expect it to “just work” so the development team works toward ensuring just that.
The Project Managers
PMs make sure deadlines are being met and requirements are fulfilled. They assess risks and budget constraints for a project and help make sure the right people are doing the work. If there’s a problem, PMs, they’ll solve it. Quality is achieved when there is a good rhythm for work and timelines — something that the project managers establish throughout the entire project lifecycle.
The Design Team
An application may functionally work, but if it isn’t intuitive then one should argue that it isn’t a quality product. A good user interface and experience is crucial for any application. The design team defines the user flow and creates a visual identity for the application. It is up to the design team to ensure the product is built to specifications. This can include typography, colors, and spacing. When these specs can’t be met due to technical restraints, time, or resources then the design team can work on alternative solutions. They also provide value in testing and reviewing areas of the application that test automation can’t (and shouldn’t try to) cover. An application that looks great and has a workflow that makes sense contribute to its overall quality.
Development, testing, and app demonstrations all become incredibly difficult when there are no environments to work in. The Devops team make sure that deployments, CI processes, and environments are available. A project suffers when these aspects are not reliable, as team members can’t accurately gauge the health of an application. When the project suffers then the end product suffers as well.
Consumers are very good at finding problems with an application. They’ll let you know if a workflow doesn’t make sense or if an area is bug-ridden. Customer reviews and adoption rates can make or break a product, so it’s incredibly helpful when customers can take part in beta or usability testing sessions. Their feedback help make your application even better.
It can be easy to separate each team into their own little silo and forget about the role they play in releasing an application. Some roles may not even be as easily noticeable. Each team probably already knows the work they do is beneficial, but maybe they don’t consider it as being a part of quality assurance. One of the greatest aspects of this idea of QA being more than just one team is that it means that everyone contributes to creating a system of checks and balances. Each team helps validate another team’s work. For example, testing checks development, project management validates development and design, and consumers validate the application as a whole. QA is more than one team; it is a process by which a company releases stable products.
What are your thoughts on Quality Assurance being more of a process than just one team? Let us know in the comments!