In the article How much does agile transformation cost? I mentioned that one of the items to look at in agile transformation is the test environment. The following image shows the availability of a test environment over time for traditional development and the need for test environment availability in Agile development.
Traditional software development usually takes place in phases. After the development phase is completed, new versions of each system are deployed to a common test environment. During this time, the testing environment is usually unavailable. In addition, if developers did not have the opportunity to test integration between systems during development, unavailability may last longer. The test environment then remains unavailable for several days. This is followed by the testing phase.
After completing the system tests, the user acceptance tests are introduced. And at this time, it is no longer desirable to make new changes to the systems on the test environment, so as not to break the tested version and affect the course of testing. The deployed version of the systems on the test environment must not often be touched even after the release until the release is stabilized in full operation. The possibility of using the test environment for new development is either limited or completely impossible at this time.
The need for testing environment availability in Agile development
At the bottom of the image, you can see the need for lab availability from the perspective of agile teams. Exclamation points above each sprint show where an agile team may struggle with test environment availability. In each Sprint, agile teams perform analysis, development, but also strive to continuously integrate and test. Therefore, they need access to the test environment almost continuously.
If the test environment is not available, the delivery in agile teams also stops. When this happens only occasionally, teams get busy with other work. But if this happens often, it will lead to unnecessary distractions and waste of team time. The agile team is unlikely to achieve the sprint goal they set for themselves.
If agile teams are working at the rhythm of deployment to test environments as they do in traditional development, it can lead to a slowdown in the delivery of value to your clients. And if the team delivers slower, they will get feedback later. And so, in addition to the waste caused by the unavailability of the test environment, the waste caused by the team developing something that no one wants. Therefore, if you want to deal with agile development, it is worth paying attention to the test environment and its availability, whether it still meets the development requirements. And what about the availability of test environments in your company?