Archer Software adopted continuous delivery for their customer, Smartling, a cloud-based translation management platform. Alex Shesterov told us about continuous delivery and his team experience in adopting this practice.
Alex Shesterov, Tech Lead at Archer Software/ Software Architect at Smartling project
To keep up with today's modern, fast-changing business environment, customers want their software products to be developed as quickly as possible. This assumes shorter release cycles. The release is a very delicate, risky and often painful process for developers and managers.
Continuous Delivery is an innovative methodology of building software in a way so it can be released to production at any time, with minimal effort and bureaucratic overhead.
Peculiar features of this practice:
- Releases are frequent, up to several times a day
- Releases are performed on demand and are not tied to fixed time intervals
- Push-button deployments, simple and quick
- Automated testing and code analysis is performed to detect the potential problems at early stages
Developers, whose expertise is in traditional Agile, often find this practice questionable and hardly possible to achieve.
However, many of the most successful software companies, i. e. Amazon, Facebook, Google, Flickr and others, have already implemented Continuous Delivery and are enjoying the essential competitive advantages it offers.
What motivated the customer to switch to Continuous Delivery?
What were the challenges Archer Software’s team faced?
The benefits that Continuous Delivery brings to the customer are huge:
- The customer is able to react to the market demands almost immediately by releasing the new features on-the-go. No need to await several weeks or months for the next release to make the features available to the end users.
- Greater dynamics, faster OODA-loop (Observe, Orient, Decide, and Act loop). All departments are satisfied.
- No deadlines to finish the new features, thus less pressure on programmers. It results in better quality of final product.
- Fast bug fixing. Easier to find and fix bugs immediately as they are found, rather than having to wait for the next release before resolving issues. Additionally, the need for hot-fix releases disappears.
- End users can immediately use the new features and provide feedback. Customer satisfaction is increasing greatly. The users love that their needs for improved functionality are being met right away.
- The developers receive real-time feedback. This allows them to create a product, which is more in line with the market's needs.
Archer Software’s experience: the biggest challenges while moving towards Continuous Delivery.
Moving Smartling to Continuous Delivery was not an easy task for Archer’s development team. The following issues should be taken into consideration while making the decision:
- Training the development team to master Continuous Delivery methodology. Initially, it was difficult as the responsibility of developers significantly increased. However, after the team embraced the new process, great drive and healthy competitiveness appeared. Now they do not want to move back from Continuous Delivery to bureaucratic fixed-release-cycle process.
- Technical implementation of the process: assembling the toolset for testing automation, code quality checks and release/deployment processes.
- Minimizing manual testing. Moving responsibility for manual testing from QA team to developers.
- Increasing requirements to code quality as well as (real!) test coverage.
Despite the challenges, Archer Software successfully moved Smartling to Continuous Delivery.
Archer was able to achieve impressively low staff turnover on the Smartling project, which reflects high satisfaction of the developers. The developers now compete for the opportunity to become a part of the innovative, dynamic team that uses Continuous Delivery practices.