First of all, we would like to notice that all the following pieces of advice will come with experience and hard work only. Dozens of experiments and failures have led our team to determine a QA implementation strategy that really works and improves life to anybody involved. It is still not perfect by all 100% but, on the other hand, what is? 99% is just fine for us as it should be great for anybody. So we have decided to share a piece of our experience with you. Take a pen, start making notes (pro tip: writing things down works way better than typing it in any editor) and let’s go people!
Tips on QA implementation:
- Let’s begin from determining required commitment from the manager side. This has to start from the CIO and spread on every single development manager. Make sure every single team member is sure QA brings in value, as preventing negative opinions in your team is easier than fighting them all. That opinion should take roots at the very top, otherwise, the picture will be something like: if my boss does not care, why should I?
- Define the process. This step may be of top priority to every single thing you are implementing as a new business idea in your company. Though QA implementation requires clear definitions even more than we need air. Avery single process should be a guideline that occasionally updates, hence evolves with time meaning you are to get ready for rapid changes. And, of course, the processes are to be defined officially and in a strict manner making everybody follow predetermined principals. Improvements will be required only until the point when the process is established.
- Define Deliverables. Requirements, test cases, test plan and more are a crucial part of any testing project. This is where testing roots from. Without appropriate deliverables testers will be blind in what should they look out for.
- Environment. Developers and testers should easily reproduce required systems, hence both teams should be equipped with appropriate testing or development environments. Those may differ, by the way. The systems tests are running on are as important as tests themselves.
- Tools. Testers will require something they can track and manage defects with. Make sure your tools are perfect for the types of testing your team will be doing. Also make sure all had training with the tools. You can begin without any tools, but you will not experience any maturity of performed tests not true value QA may offer.
- Metrics. You will require appropriate metrics from the start as you will need the ability of comparing original data with what you currently possess later on in many cases. Plus you will be using them to track software quality, which is quite important adding more value to treating metrics properly. As tests mature, data you have gained will assist dramatically hence you may never neglect this step. Never.
- Appropriate testers. A common mistake many companies share with new QA projects is hiring wrong testers. Make sure your team has enough experience behind back before you start working with it. Also make sure testers are not only testers as some experience in collaboration, business side and the development side are must have requirements in nowadays world.
- Test data has to be available 24/7. This is also a mistreated aspect leading to many QA project failures. Tests can’t be executed without test data hence are delayed, as tests data reaches testers developers have already done working on a new feature that requires tests, the whole project becomes a mess where everybody can’t finish everything within time. Result – Chaos.
We truly hope our failures that have given us thin enormous amount of experience will be of use to anybody else, hence we’ve already gained from them.