Contributed by: Indira Pai (Sr. Software Quality Assurance Engineer)
Indira has over 5 years experience working in the QA domain in various Mobility products. She has worked with Android based tablets and software stacks as well as Android based media boxes for TV. She has been instrumental in setting up Quality processes within her team and acts as a liaison for the whole team. She would like to share her learning in getting a geographically and organizationally scattered team to work in perfect harmony for better Quality.
“Communication is everyone’s panacea for everything” – Tom Peters
As members of the Quality Assurance (QA) fraternity, we totally relate with this quote’s origin. Communication is an integral part of our processes, our reports and our daily activities. Hence, lack of communication leads us to some deadlocks which can change the QA’s perspective of the project. This in turn would affect the deliverable’s quality aspect adversely; which in turn would affect the end users.
What’s the basic problem?
Let’s proceed by taking an example of the most commonly faced problem by QA team members:
“Lack of updates to the QA on product requirements, progress and changes”
We all have been in this place, and we all can visualize what this means:
- QA team is not in the loop during requirements discussions (this leads them to verify against code instead of actual requirement)
- QA team is not updated of all the current changes all the time. A lot of productive time is wasted in sorting this out to test and report effectively
- QA is unaware of the progress and thus it becomes difficult to plan test cycles
So Keep Talking…
At the end of the day, as we bear the responsibility of stating that the code has met all the release criteria and is good to go live, we need to ensure we overcome these situations to test and asses the code effectively. Some thoughts on how to go about it would be:
Talk with the QA in Requirement Discussion
- QA should be completely involved in Requirement Discussions. This will help QA to get the complete picture from day 1
- All requirements should be documented so that if QA joins after requirements are discussed, they have a point of reference
Involve QA in all change log calls and not just new requirements calls
- This will help QA to understand and conduct impact analysis, ask all testing related questions in the call and cover it then and there
- A QA representative should be included in any kind of communication thread for any context such as Requirements, Design, Change logs or Code optimization
Keep QA in the loop with all changes happening in the product all the time
- If needed, QA should initiate the process for change management in their team
- Get a buy-in from all stake holders such as project manager and client; only this will ensure that the defined process works
QA should define process/es by which they are aware of all the changes done at all levels in the product. They can do it synchronously or asynchronously.
- Daily / regular quick stand-ups / scrum meetings
- Helps get a clear picture of deliverables
- Helps the whole team to be on the same page about the dependencies that their work can have with another member’s work
- Any doubts/ TBD clarifications should be communicated immediately by taking an initiative via a phone call or instant messenger (IM)
- This involves lesser of processes and facilitates quick communication
- Email is one of the most important tools used for effective asynchronous communication; it is always a good practice to email the points which need discussion
- This would be a good method when all stakeholders for the discussion need to know what to prepare for the discussion (MoMs of the discussion)
- It is also a good approach to capture open items post discussion in an email; this helps in facilitating the closure of those open items
Communicate / escalate as needed
As and when needed, the QA should take initiative to communicate their queries or escalate their concerns via a phone call, email, Skype or whichever mode is appropriate.
So in Conclusion…Keep Talking!!
In the end, however obvious the solutions might sound, the apathy towards the few solutions mentioned above have always proved to be an Achilles heel for QA members. It is up to them to help themselves and get some of these practices in being. Effective Asynchronous and Synchronous communication go a long way in defining the overall quality of any product, be it software or the workplace.by