From bi-weekly to 2 times a day
From 3 months to 2 weeks
3 months
About Insurance Software Provider
The client is a group company of a global corporation in Singapore that develops an insurance software platform for property and casualty. The software is a robust system built in an object-oriented language. They deliver their product all over the world, especially in Asia.
Challenge
The customer had expectations to improve development agility and prevent rework. Through the discovery phase, we determined that, after more than a decade of continuous development, the application and development team had grown and that they had three major challenges.
1. Manual deployment
Deploying to each environment was a manual process preventing frequent deployments. In addition, rework due to human errors were occurring.
2. Inefficient development workflow
There was no practical connection between the Source Code Management System, Ticket (issue) management system, etc. That resulted in a long lead time and even skipping some review processes at times.
3. Long change lead time
The average time to complete a ticket was 3 months. This long period was inducing multiple tickets to be added to the same source, increasing the complexity of the development.
Solution
It was clear that the customer’s challenges could be solved by implementing CI/CD*. Therefore, the main focus was on the appropriate design for the situation. Based on the information we obtained in the discovery phase, we designed and implemented the following 3 points specifically for them.
* In this case, it was Continuous Delivery.
1. Automation of each operation
Considering that the operation team would maintain the IaC, we selected Ansible, which is relatively easy to code in YAML and agentless. We integrated the documentation and hearing results and converted them into Ansible YAML files.
2. Orchestration of automated tasks with Jenkins
We refined the development workflow based on the findings of the developer manual, interviews, and the best practices of the Jenkins pipeline.
3. Linking development workflows and tasks with Jira
The customer used their own ticket management system. We compared whether they should enhance it or implement a different tool for seamless integration of development and automated operations. As a result, we decided to use Jira to combine development workflows and tickets. That is because Jira can migrate current tickets from the existing ticket management system and easily integrate with other systems.
Outcomes
The client has successfully adopted CI/CD to their development environment. The development and operation teams became accustomed to the new development process and tools within about 3 months. As a result, it has become possible for them to register unit-tested and integration-tested resources in the repository twice daily. In conclusion, the solution has brought about the agility and rework prevention that the customer had expected.
• Deployment frequency:
Bi-weekly → Daily → 2 times a day
• Change lead time:
3 months → 1 month → 2 weeks
• Change failure rate:
30% → 15% → 10%
The concept of DevOps is a common one. However, its implementation is always unique. Let us help you establish/improve your DevOps mechanism.