From manual work to continuous delivery in one year

Erick Segaar is Application Lifecycle Management specialist at Devoteam. He also joined a government agency in that role, where the ALM phenomenon was still in its infancy. “There was nothing when we entered,” Erick says. Everything was different within a year.

Manual

‘Nothing at all’ might be a little exaggerated. The organization used the Team Foundation Server 2012. In addition to being a slightly older version, TFS was not fully utilized. The server was only used for version control. The rest went manually, says Erick: “The developer builded on his own computer. He manually put his binaries on location, where the testers could test the products. A slow, error-sensitive, non-reliable, non-repeatable way of working. ”

Continuous Integration

The first step was the implementation of a central build system and the implementation of continuous integration (CI). Since than, everyone works on the main branch and every developer checks in at least every 24 hours. “That check-in serves is the trigger for the build server,” says Erick. “It picks up the code you just checked and starts building. This process triggers the tester to start. It is an independent, reliable and stable central system. As a developer, you are sure that your code works and that you can build further with it. “In addition to continuous integration, testers now have the opportunity to publish the latest successful build to their own environment. There, administrators can pick up the next version when they are ready.

Scrum

Devoteam also worked at the scrum process. Particularly on the regression test component, which only continued. The various scrum teams are now tuned to finish their sprint every Thursday; This makes it possible to perform a central regression test on Friday in order to start a new sprint on Monday. And that’s only the intermediate phase, which is explained below…

Migration

The migration to Team Foundation Server 2017 was completed in September 2016. Erick: “This made it possible to link different environments. It enables us to transfer CI builds from the development environment to the test environment and ultimately to the acceptance environment. Before we can deliver to the acceptance environment, we need to validate whether the deployment of the CI builds has been successful. We focus on the environment-dependent parameters. If you want to transfer to a next environment, the binaries do not change themselves, but the environmental factors do. Through smoke testing, we tested environmental-related parameters, returning all evidence to the central release definition. This will make clear that all crucial steps have been taken. It has been tested, everything went well and there were no changes during the run-up to the acceptance stage. ”

Current state

Erick is currently working on the automation of functional testing. The Tosca continuous testing platform is used for this. Erick: “The Tosca tests are now manually retracted, and manually selections are made about the tests to be performed during the regression test.
The pipeline will check itself as soon as the codes are checked. The outcomes will be adjusted to the previous version and the suntest starts. Every night a complete regression test is being run. “This will also allow the development process to continue on Friday. Because ‘ the day after’ no longer have to be reserved for the central regression test. Erick: “That will make the process a lot more efficient.”

Conclusion

Thanks to all the adjustments that Erick and his team made, the teams are able to develop extremely fast for a longer period. That means there is more effective time to add features. The far-reaching automated deployment includes the error sensitivity associated with manual actions to the past; it’s now push & go. Errors are also noted in the development environment and not only during production.

By making structural adjustments to the existing major monoliths in the organization, Devoteam has managed to shorten the feedback cycle. The organization needs less time to add new features and runs less risk during the adjustment of old ones. In short, the organization has become agile.

From manual work to continuous delivery in a year? It turns out to be possible!

devoteam