5 ways to skip QA approval forever!
Tags: productivity, webdev, devops, opensource
Published: 2024-07-04 13:07:39

3 days of planning, 5 days of execution and then the whole work gets stuck for weeks on QA. On the flip side if it gets picked up, it   results in a poor job of testing leading to a reactive firefighting later.

**Does that sound familiar?**

Well that was atleast my team’s state at Shuttl for every new feature our devs picked. No matter how big or small, the QA was the bottleneck for every change. 

It was unavoidable because in the absence of the QA, the quality risk was even higher.

![Whack Mole GIFs | Tenor](https://media1.tenor.com/m/ebYFr6Kj_80AAAAd/hizzie-cat.gif)


Nobody likes firefighting consistently. So, what’s the fix?

In this blog, we’ll talk about 5 steps (in order) which will help you get unblocked from a QA approval:

1. [Shift Left when QA gets involved](#shift-left-when-qa-gets-involved)
2. [You code it, you own it](#you-code-it-you-own-it)
3. [Always have their back when needed](#always-have-their-back-when-needed)
4. [Look back to find improvement patterns](#look-back-to-find-improvement-patterns)
5. [Get inspiration from industry benchmarks](#get-inspiration-from-industry-benchmarks)

## Shift left when QA gets involved

A typical development process starts from planning, then you program it, test it, release it and monitor incase of any failures. (as shown below)

![Software Development Life Cycle](https://paper-attachments.dropboxusercontent.com/s_2BFACEC1FB99EAA5A13FC8B84F99057A210680A4683D7ACCF98DAC4F24EDA7B2_1719904105727_Screenshot+2024-07-02+at+12.38.18+PM.png)


In a typical software team, there are multiple engineers building features however 1 or 2 manual QA attached per team(or pod). Once the features/bug fixes are ready by the devs, the QAs are responsible to do systemic tests to ensure correctness and then it is released.

The problems occur when multiple features have to be released together.
That’s when the QA bandwidth gets crushed in toggling between different features.
That’s when the development team despite having a ready feature gets delayed to production.

Cherry on top is: after a long wait, there is a feedback and then again a long wait - so the cycle continues!

To fix this, the first step is to shift the QA towards the left in the process.

Instead of them testing the changes manually, ask them to create a test plan during the planning of the feature

![Software Development Life Cycle with QA involved in planning](https://paper-attachments.dropboxusercontent.com/s_2BFACEC1FB99EAA5A13FC8B84F99057A210680A4683D7ACCF98DAC4F24EDA7B2_1719904307022_Screenshot+2024-07-02+at+12.41.41+PM.png)


**Test plan**
A document which consists of all scenarios where the product should work, all corner cases and cascading risks covered. 

Since, the QAs are specialists of thinking about the corner cases, freeing them up from the grind will enable more quality and coverage in the test cases.

Once, the test plan is ready, we move to the next step ⬇️

## You code it, you own it

We developers are more than able and smart to run everything end to end. The test plan takes the load off of thinking sad cases and now all we have to do is check, check, check

One of the benefits of having a test plan before programming is that you can fix your design in accordance to the test plan itself and save many days (and nights) from your life.

So, now nothing stopping you!

![You Got It Dude](https://media.pinatafarm.com/protected/13C23573-190B-4CD5-8692-28D5AEE4DC73/ddf381d7-4e99-4102-9697-de91ffc364fd-1678378890979-pfarm-with-png-watermarked.webp)

## Always have their back when needed

However, life is not so ideal. And sometimes you might need to make fake data, set up new environments or knowing additional context which might totally derail your flow. 

![Stop It Get Some Help](https://media.tenor.com/Fa5GKCxVw3QAAAAM/stop-it-get-some-help.gif)


Then is the moment where you must remember QAs are our team mates 😄 and inform them beforehand what test plan items might require their help so that when you’re ready to test, they can support you with activating those activities.

Common ways to involve them in:

- Mark the items in the planning stage itself
- When you are about to finish development, book their time in advance to get your environment ready
- Request their help in your stand-ups

## Look back to find improvement patterns

![Retro](https://paper-attachments.dropboxusercontent.com/s_2BFACEC1FB99EAA5A13FC8B84F99057A210680A4683D7ACCF98DAC4F24EDA7B2_1719834858385_1559899200679.gif)


Throughout this change, there will certainly be different phases of problem:

- [Pre Change] Lot of time spent in just waiting for QA approval
- [During Change] Teething issues and process adjustment to your team’s comfort
- [Post Change] Iterations to find what can be improved to achieve your peak productivity as a team.

One practice that will always help you will be doing a retrospective after every sprint basis on actual data (as below)

![Sprint Flow  and effort investment](https://paper-attachments.dropboxusercontent.com/s_4B8FCD309425E91FDF8F923DAA2CA70BC55F0ACDBE93F8D98AF3D4FB4C2707FD_1719931253647_Screenshot+2024-07-02+at+8.10.24+PM.png)

Collating data can be time consuming and hence has a risk of de-railing all retrospectives. 

_(Disclaimer: I am also the co-founder)_ A tool like [MiddlewareHQ](https://middlewarehq.com) helps you be focussed on your work by bringing all the process insights at one place from your tools like Jira, Git, etc.

Consider this as a fitness band for the whole team while the athlete (the team) is training 🏃🏼‍♀️

## Get inspiration from industry benchmarks

We as software engineers have grown up looking at technology benchmarks and language benchmarks. However, when it comes to our productivity, there’s no standard practice.

QA being a bottleneck is one of the many challenges in your software delivery journey. 

A great way to keep improving(IMO) is to leverage the industry benchmarks for teams like yours. DORA metrics is a great framework by Google and they publish an annual report every year with benchmarks on delivery process and quality. (Read more about DORA metrics)

That was the aim with which we decided to launch an open source offering to measure DORA metrics for any team in the environment of your choice. 

Our mission is to remove friction out of the development process and enable builders to build better! Do consider giving us a ⭐️ if you like what we’re building!

{% embed https://github.com/middlewarehq/middleware %}

All the best and hope nothing blocks what you want to achieve! 

![The end](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ujkwruvwefkezdw3u64w.gif)