We are delivering a ground up rewrite of a core system with the delivery team working in a Scrum environment. Due to the size of the team we have now split into two scrum teams who aim to integrate code on a daily basis. Whenever the test team deploy to our system test envrionment (daily as a norm), we tear the database down and repopulate all reference data - this is to ensure a baseline for testing.
The problem with this approach is that we are impacting our velocity quite heavily whilst one of the test teams is waiting to deploy a fix and the other is mid test execution. To try and resolve this we have proposed the following:
- Creation of another test environment (which is quite expensive), in addition we would still encounter delays since one tester within a team is still unable to deploy their fix.
- An option for code only deployments (avoiding the database tear down).
We try and encourage the team to be cross functional and encourage testers to help the tester out who is blocking the deployment but this isn't always practical. We also aim for tasks to be approx 1-2 days effort so we can't break down the items duration very easily.
What approaches have others adopted in their environments?