Production like Test Environment
If we manage a product development organization and Some of our teams determine that they need access to a "production-like" test environment so that they can asssess the availability of their application as they build it. Current processes stipulate that expensive "Production like" test environments are only available as part of final application acceptance testing, just prior to releasing the application to production. Earlier access in not possible since other teams are using the pre-production test environments. Which strategy would work here?
Is it that the scrum team will rework and if they find any defects in the delivery cycle and set the stakeholders expectation accordingly.
Also guide us on the other approaches as well.
Current processes stipulate that expensive "Production like" test environments are only available as part of final application acceptance testing, just prior to releasing the application to production.
Have they worked out how expensive it would be to try and fix undone work by that late stage?
What is meant by "production-like"? I can see multiple definitions for "production-like". One would be an environment that has the same network topology as production, but perhaps at a smaller scale. Another could be production-scale data and resources to enable performance testing. Another could be an identical copy (perhaps anonymized, to protect personal data) of production data, scale, and resources. There may be other definitions. What is the team looking for and what do they hope to accomplish this with the "production-like" environment?
From a Scrum perspective, these types of requests may be reasonable as a team tries to strengthen its Definition of Done. The team should find ways to make their Definition of Done stronger. However, they do need to balance these with business concerns, like cost. There may be other solutions that solve the underlying problems. In other cases, the decision needs to be made to accept the risks of not strengthening the DoD.
"final application acceptance testing"
How is the definition of done? Are users able to test the product before this testing phase? How can a releasable product exist if it can not be tested? When is the testing, after a number of sprints? What happens if defects are found during this testing? ... It would be good to have a testing environment all the time.
Is it really impossible to share the test environment with other teams? What do we think about "user based feature flags"?