In my experience performing and managing QA processes on software development projects I have found that the most important thing you can do is accurately and effectively record your progress, issues and results. Being thorough and well organized will save you not just from minor headaches down the road but from full blown migraines that can only be fixed with very expensive medicine. That said the only way you are truly going to get the full desired value from your QA/Development process is to make sure you focus on a few key points:
1. Traceability
This is the most important factor in running an efficient and effective QA/Development process. The more traceability you have the more seamlessly you can manage and coordinate efforts. You know you are on the right track when you can easily answer the following questions through a nice set of reports:
What percentage of your application was tested on each release?
What percentage of tests performed were passed vs. failed on each release?
How many known issues exist in the software and what is their level of severity?
What is assigned to each developer?
What is designated to be fixed in each iteration and by whom?
Which fixed issues (if any) have been recreated?
If you can’t answer these questions easily then you don’t have good traceability and you will end up wasting a lot of time.
2. Fluidity
The more fluid the QA/Development process the more time you will save. Each step in the process should be well organized to maximize efficiency. This means putting rules and processes in place for concise and traceable bug tracking as well as clean and easy to perform test runs.
3. Clarity
Your team all need to be on the same page with the same focus. Setting expectations is very important; A 10 minute meeting each day or even a daily status email can do wonders to keeping your team on track and letting everyone know what they need to be doing. But don’t let every 10 minute meeting spiral into a 2 hour conference. These meetings should be a moment of clarity not a marathon of burden.
A good QA/Development process means faster production and a higher probability of finding and resolving issues before they reach the customer. Having the right tools and processes for the job will make all the difference in improving your time lines and level of productivity. So when setting up your QA/Development process be sure to think each step through in terms of traceability, time, fluidity and clarity.