Three Steps of QA Detox. Step #3

4 December 2017

This is the final article of the trilogy. The team’s awareness of the project goals is the key to success. This definitely applies to a healthy, toxin-free project maintenance. For sure, even large projects are delivered in small separate tasks. Delivering all tasks, however, can’t guarantee satisfaction of the end user. Cultivating project awareness can do the trick — it drives all separate tasks together to serve one general purpose.

Step 3. Ensure full vision on system purpose and business objectives

Symptoms: A sophisticated system with multiple connections and interdependencies didn’t have documentation on requirements and system goals. Nobody had the big picture of the system and how it should function. There was literally no reference to check if a component should or should not function the way it does. In addition, there were regular misunderstandings between development and QA teams regarding the criticality of issues.  Many of the bugs were quite obvious and could have been easily prevented. Such faults put the customer’s business at a great risk.

QA Detox Step 3

Diagnosis: Insufficient system awareness

Treatment:  There was an urgency to learn and understand the intricacies of the system operation, but we couldn’t spend a lot of time on research, which was challenging since no documentation was available. We were determined to start the project knowledge base right away.

With regular knowledge transfer calls involving stakeholders, we managed to create an accurate, big picture of the system that has clear structure and hierarchy. Every new team member could understand the entire system flow. We were happy to get clarity on the entire workflow, work became self-contained, and less time was spent on clarifications. This approach has been implemented unit by unit until we had a firm grasp on the system logic. At some point, the customer’s involvement was brought to a minimum, while the BAs continued the formalization of further requirements.

Having obtained in-depth system understanding, we could finally shift our focus to QA, particularly error prevention.

Prevention:

  • Share the requirements and project goals with the entire team to ensure unified perception, leading to minimal errors or incorrect assumptions in delivered tasks. Meetings, discussions, brainstorming sessions always prove efficient. This will reduce bug fixes/code changes significantly.
  • Documentation is ideal, yet it is impossible to include every little detail. There should be individual or subject matter expert who is knowledgeable about the entire system and its goals and is available to provide clarifications to the team on the fly to ensure work efficiency.
  • BA involvement: While developers can handle the task description and deliver the functionality, there is a need for an individual responsible for creating that big-picture view of the “business” side of system. Ideally, it should be delivered before development starts.

For the Record:

The speed and accuracy of the testing are dependent on the team’s depth of understanding of the system and its objectives. As simple as that – it is easy to reach set goal that is known from the start. Having knowledge base ensures understanding of correct functional flows, minimizes the risk of errors getting into production, facilitates smooth knowledge transfer to new/temporary team members.

This is the end of article trilogy. All problems described above were addressed during the first two months of our collaboration with the new customer.  The tips we gave you are effective time-proven. As with your physical health, prevention is always better than treatment, and software development is no different.

Please use our standard checklist to conduct a preliminary assessment of your QA provider. However, each project is different, so this checklist may not cover everything. Feel free to contact us so we can customize one just for you!