Software quality assurance is often thought of as QA testers finding bugs, and coders then fixing those bugs. This is very much part of our work at Tek-Connect, but we take the involvement of QA staff further than that. One of the cornerstones of our process to is to involve QA very early in the process of developing an app or a feature. There are multiple benefits to this approach.
The first benefit of bringing QA into the process at the beginning is the avoidance of surprises during development. We’re talking specifically about surprises or gaps in requirements. For a seasoned software developer, bugs that are caused by typos are neither surprising nor difficult to manage. However, gaps or problems with requirements can wreak havoc on the process, resulting in budget or schedule overruns, and/or unhappy clients. At Tek-Connect, we have QA review feature tickets before the coders estimate the work. Having an extra pair of detail-oriented eyes on the requirements surfaces gaps in use cases, and helps to identify possible side effects with other functionality. Under normal conditions, QA will also write the test plan in advance of coders coding the feature.
The second benefit of having QA involved in the entire software development process is efficiency and accuracy of communication. The efficiency comes from QA staff building up knowledge of the app and its features, and being able to discuss and support the team at any time. Documentation is critical to processes like software development, but it’s no replacement for expertise. Accuracy comes from QA reviewing tickets for clarity and consistency of language. In that sense, the tickets themselves get QA’d.
Coders review tickets as well and ask questions, of course. However, coders have many things to think about beyond requirements. Modern apps are sophisticated; coders are always thinking about implementation details, technical challenges, pros and cons of various approaches, etc. The QA staff members are freed from all of that and can devote their mental energy to understanding and scrutinizing the app from the standpoint of the users. In turn, thorough requirements make for happy and efficient coders.
With QA fully up to speed on a feature, and with everything documented, QA and coding can work together directly, freeing up the technical lead for other tasks. The team stays in touch both with comments on tickets, as well as in group chats.
All of the above rests on clearly defined roles, reliable processes, and efficient tools. By way of an extremely high-level overview, here is how it all fits together:
- Technical project managers gather and document requirements.
- QA reviews features that affect the test plan.
- Coders then review and estimate the tasks.
- Upon client approval, coders code, and then QA tests.
We’ve been at this business of software development for many years, and have seen a number of methodologies come and go. Building QA into development is an approach that has stood the test of time and helps us to deliver the greatest value to our clients.