At the recently held “CodeCamp” event, Ana Milutinovic spoke about the challenges of Quality Assurance in Agile Development and presented lots of best practice experience.
Quality Assurance Challenges in Agile Development
While many books have been written about Agile Development methodologies and their success stories - little has been said about how to handle quality assurance and testing in Agile projects.
After getting involved with her first Agile Development project some years ago, Ana Milutinovic – QA Engineer at youngculture – found herself confronted with the challenge of having to rethink traditionally established testing processes that worked well for Waterfall Projects but which were not suitable for Agile Development. Problems arose like how to do proper test planning, if no scope planning was available? How to fit in writing test cases and test execution in 2-week sprints that looked like mini-Waterfall Projects? There was never enough time for quality assurance and bugs were accumulating.
Best Practise Tips
That’s when Ana and her colleagues began to develop their own model for Agile testing, which has since been refined in many e-commerce and other projects. Some best practice tips:
1. Quality in Planning: Actively involve QA Engineers in sprint planning
In order to avoid running into time constraints a realistic planning of both – development and quality assurance – is crucial. It is therefore important that QA engineers get a profound understanding of the features in order to estimate realistic test efforts. An “easy-to-develop” feature might mean a huge testing effort and vice versa.
2. Quality in Test-Design: Engage developers in writing test cases
Instead of handing over quality assurance to the test department, developers should be included in writing test cases. This not only raises the focus on quality, but also helps developers in making the specification, because the QA engineer might point out use cases they would not have otherwise thought of.
3. Quality in Test-Execution: Closer collaboration brings better results
As a consequence of closer collaboration between software and QA engineers in the test-planning and design phases, QA engineers will have a better insight into the project goals and will be therefore more effective in test-execution.
4. Quality in Reporting and Metrics: tool based & fast feedback
In order to cope with agile processes, efficient and focused test feedback is key. Forget about detailed strategy papers, test documentation and extensive test reports. Rather work with checklists and modern test management tools.