When to include the QA team in your project and the team’s role in the project’s life cycle

Marko Tojčić
Undabot
Published in
5 min readAug 12, 2020

The process of developing software raises many questions. One of those is — when does the testing process start?

Most projects will enroll their QA team at the end of the project, at the point when the software is almost fully operational and in the testing phase of the project. But this common practice is not always the best option.

It can result in time delays and a major list of bugs when the project reaches the testing phase. Not only does it make the project more demanding, but it also creates frustration in the development team.

When to include the QA team and why in the early stages

As the common practice goes, the quality assurance team will start testing and try to break the software during the testing phase. What if the team does indeed break it? That will cause more time delays to fix the bugs and make everyone in the team feel more anxious.

If the QA is included from the beginning, it will be easier to identify the bugs because they will already be acquainted with the project. The testing phase will flow more as planned and it will also lower the risk of breaking deadlines and incurring additional costs.

If, for instance, there is a design of a feature that does comply to the requirements, the quality assurance team will easily discover it, if they are involved from the beginning, and the effort to correct that defect will be minimized. If the same bug is discovered later in the project’s life cycle, after the software is in the testing phase, it may cause serious problems for the team.

There is a story I would like to share with you, It’s the one of the Mars Climate Observer probe, launched by NASA in 1998. It was supposed to orbit the Mars atmosphere and study the Martian water, climate and the contents of its atmosphere, but when the probe entered the Mars atmosphere, an error occurred and caused the lander to fly low and crash into the Red Planet. The error occurred because the NASA’s subcontractor used imperial units, while NASA was using the metric system, which caused the spacecraft to try and stabilize its orbit too low in the atmosphere and ultimately crash. That lack of testing by specification ended up costing more than 300 million dollars. Hopefully, NASA learned from that mistake and gives testing by specification special attention.

It’s not possible to find all of the bugs in the early stages of the project, but including your QA in all of the project’s phases can decrease the number of issues that arise later and increase the quality of features earlier.

What role does the QA team play at each stage of the project’s life cycle

Requirements Phase

Knowing how the software is supposed to work is a fundamental part of the QA’s job. In this phase, the QA can go through the product specification and documentation. Already in this phase the QA can find some imperfections or vaguely defined feature definitions, such as in form validations.

During this phase, the QA already has a role and that is to ask questions and report issues they encounter while going through the project’s documentation. It’s easier and more effective to take care of these issues in the beginning of the project than at its end.

Design Phase

This phase offers the QA an opportunity to write a testing plan. The best way to write a test plan is in parallel with the design and by following the same flow as the development plan. At this phase quality assurance teams can already identify positions and areas where a bug or an issue could arise.

If the QA knows what the product will approximately look like in the end, it will be easier to start testing once the actual testing phase starts. Also, the quality assurance team reviews the design and helps with finding any illogicalities or defects in the design.

Development Phase

During the course of this phase, the QA team can begin their testing.
With every sprint, the QA team can write test cases for each feature in a sprint. That will enable a much easier understanding of each feature and testing the features in the testing phase.

As soon as the developer finishes a feature, they can turn it over to the QA team to be tested. This testing should be done right away when the feature reaches the QA team so that the developer’s time isn’t wasted and that they can move on to the next feature to be developed. Communicating with the project managers is crucial in this phase, as this information about the features that the QA team considers as “done” is an excellent way to know how the project is really advancing.

Testing Phase

If the QA was involved from the beginning and has tested the software throughout the process, this phase will be just a checkup of the past work and things that might have been missed.

During this phase, the QA team should focus on verifying bug fixes and checking for regression bugs, but also, there is the edge case testing, which will take up the rest of the QA team’s time in this phase.

Product Delivery

Throughout this phase the QA team can also be of use. It’s nearly impossible to find all the bugs on your own, so a new set of eyes could be of good use. During the user acceptance testing, the QA team can work on confirming bugs that are being reported and creating better bug reports for the team, also verifying that those bugs are indeed fixed.

Thank you for reading. Also, big thanks to Ana Šeler for the design!

--

--