QA importance in the software development lifecycle

QA is one of the most important additions to a dev team. It is your insurance that everything will mostly go right as opposed to mostly going wrong.

Which QA engineer do you need?

We have usually two main types of QA Engineers

  1. Manual QA engineers
  2. Automation QA engineers

Manual QA engineers

Who focus on manually testing a feature being developed, running regression tests, and usually signing off that a bug or a feature is ready to be deployed.

Manual QA engineers usually test new features and edge-case scenarios that result in bugs that were not accounted for. They are the best people to have in a team that has a brand new product, especially an MVP.

Not only Manual QA’s will look at the expected behavior and acceptance criteria, but also provide feedback to adjust the UX workflow

Here are some overly simplified scenarios:

  1. Good Product Team + Good Developer + Good QA = Good Result as this is the best-case scenario
  2. Bad Product Team + Good Developer + Good QA = Good Result – as the QA and Dev team will make something work
  3. Bad Product Team + Bad Developer + Good QA = No Result – as the QA will block the release and at least you will not have a bad product out there
  4. Good Product Team + Good Developer + Bad QA = A buggy product with a lot of edge cases handled.

As you can see the QA importance impacts directly the quality of the product

Automation QA engineers

Focus on creating automation tests on most of the core functionalities of your product. This is usually done at a point of your product lifecycle when you do not expect major changes. We focus on automation when the API (or Backend structure that communicates with the Front end) is final and you do not expect changes.

Automation QA engineers are expensive and need to be properly managed. Make sure to have the necessary structures in place before hiring them.

When should you engage QA?

Due to the QA importance in the development workflow, there are three main points where I recommend QA to be engaged

  1. During the technical review of a new product
  2. During the development workflow
  3. Before you release the product

During the technical review of a new product

The QA importance in this step will help you get faster results on the possible edge cases raised. Usually, a QA engineer knows your workflows better than anyone else. So if you are adjusting something or adding another feature to an existing workflow, the are amazing resources to utilize.