Does your “Definition of Done” include “Automated tests” or does most of the QA work get carried forward sprint after sprint?
Most Scrum teams i.e. nearly 80-90 percent of them get into this phase at least once!! You are not Alone!
Test Automation is a key factor to incorporate in any Agile teams. If you are spending a lot of time performing manual testing during every sprint, you are never going to get things “Done”.
With manual testing in place in every sprint,
The time spent testing new features and any changes to the existing features will increase the manual test effort. The amount of time spent on regression testing will also increase drastically.
By the time you decide to launch to the marketplace, the “testing effort may take weeks to complete”.
Will automation help overcome this issue? Yes…
Identify tests that are repetitive or run frequently in the sprint, as they become the best candidate for automation. Automate simple tests.
Stay up to date with all the tests and get the product backlog items automated slowly and this will bring down the manual test effort gradually.
Have a well-defined “definition of done”.
Why not Automate as early as possible?
Get your Sprint 0 to do all the groundwork and shape up the test environment, strategy, tool selection, BDD, TDD etc…
Let the Developer and QA work on a story together….say you have 5 Acceptance Criteria for a story and it may take 3 days for the story to be completed.
Dev / QA –> Work on AC-1 (acceptance criteria 1 from the feature)
Dev writes the code to cover AC-1 & QA writes the automated tests, prep test cases, test data for AC-1
Dev checks-in code for AC-1 & QA checks-in automated test code for AC-1
Let the CI (Continuous Integration) take care of the rest, tests are executed against the Dev code. Fully Tested and its “Done”
Continue the similar pattern for remaining Acceptance Criteria, AC-2 to AC-5.
On the 3rd Day of the Sprint,
We have Dev “Done”, QA “Done” and Story/feature is “Done” “Done” 🙂
Avoid the “Mini Waterfall” or so-called waterfall-agile “W-Agile” approach that happens in the last few days of the sprint.