Implementing Agile QA depends on the environment, people, their skills and personalities and various other factors so we didn’t title this ‘Best” practices but good. This means that our goal here is to list out some practices that deserve consideration when implementing agile QA.

  1. There should be an information sharing system to document the latest information with regard to the user stories, tasks, defects, decisions made. 
  2. There should be an issue tracking system (i.e. JIRA) to document processes and implement workflows.
  3. QA should understand the business background and objectives as much as possible in order to start testing from the user story creation.
  4. QA should understand the development process and be able to report key metrics in order to make decisions such as whether the release should go live and what areas need further testing.
  5. Development processes should be lightly documented and include how a build is made, how a user story is developed, how the code is managed, checked in, etc.
  6. Many think that ‘agile’ has to be all co-located but not necessarily true. Sometimes there is benefit from overlap of time zones in using geographically separate teams. As long as there is enough overlap for good communication, and tasks are assigned well, this way the team can effectively work around the clock.
  7. Additionally, many think that in agile, everyone does everything. Just like a football team, some people are better at certain positions. Have people doing what they are best at. That means developers doing unit testing and some integration testing, but it may be best to save their time for developing rather than other higher level types of testing.
  8. Test automation should start as early as possible. But the goal should not only focus on automating test cases for regression, but also put significant effort on reducing the cumbersome work/steps during test, such as test environment setup, test data preparation, test configuration check before testing, and test results update.
  9. If resources permit, provide QA with the API instead of the GUI to test as the GUI may change dynamically over time.
  10. To be agile tasks must be small and estimable in size and organized. A team assistant can help make task breakdowns and keep things organized during the initial setup phase. A new agile team needs a master/guide to help the team members to form the right habits of collaboration at all levels and across functions. This can be much different from what they are used to.