About the Client
Vodafone is undergoing ambitious group-wide transformation to become a purely digital organisation. We were appointed to implement a Continuous Delivery pipeline which included a collaboration platform, version control software, Agile development tools, and a Virtual Private Cloud within Amazon Web Services (AWS). Development times saw a huge improvement, with nine-month cycle times cut to just one month. New environments are now built quickly and inexpensively with a 97 per cent reduction in lead time, and the team has visibility and control over individual requirements.
Challenge: Lengthy Delivery Times and Visibility Issues
Vodafone’s retail planning and stock control system is responsible for planning demand and supply for over 1,000 stores across the world. The system calculates how many devices need to be procured and then were sent out to each individual store.
Before the system was redesigned, it was delivered via a traditional Waterfall approach: a list of change requirements would be bundled together in a single document and sent across to the company’s off-shore development partner to be actioned. At this stage, the Applications team would lose visibility over the change requirements and had no control over the timescales or prioritisation of these actions.
To compound the issue, provisioning infrastructure was slowing down the whole process, holding up development and delaying the delivery of new features. The retail planning system was hosted on its own legacy infrastructure and it would take months to spin up a new environment.
As a result, application development was extremely slow, with an average nine-month cycle time. “By that stage requirements were becoming redundant before they were deployed and there was a lot of rework,” recalls Arnab Paul, the Principal Implementation Manager. “Few changes were being delivered and buy-in from key stakeholders within the business was disappearing fast.” At the time, the system was yet to be rolled out to several countries and it seemed impossible to meet each area’s specific requirements based on the current system.
“We can now push individual requirements through the pipeline, build the right environment and test changes much, much faster. The release cycle has been reduced from 9 months to just 1, and we can make releases far more frequently.”
Arnab Paul
Principal Implementation Manager
Solution: Continuous Delivery and More
The Application team considered several DevOps providers, and chose us a recommendation from a trusted partner.
We began by analysing Vodafone’s software development lifecycle, from identifying requirements to testing and deployment. Measurements from this analysis clearly showed that the requirements capture and design process was the major bottleneck.
We helped to develop a new DevOps Continuous Delivery pipeline to accelerate the development lifecycle by allowing requirements to pass through the system in small batches, independent from other requirements. We also worked with all parties to make sure that Vodafone had the same visibility and control over each requirement, whether it was in-house or externally with its outsourced partner. A number of valuable tools were brought in to support the changes to requirements capture including:
- Atlassian Jira (Agile software development management tool)
- Atlassian Confluence (team collaboration software)
- Slack (collaborative messaging app)
- Git (distributed version control system) To realise the full benefits of the Agile requirements process, we addressed the infrastructure constraints by deploying the infrastructure within a Virtual Private Cloud using Amazon Web Services (AWS)
Multiple automation tools were also introduced to further accelerate deployment:
- Jenkins (Continuous integration tool)
- HashiCorp Terraform (Infrastructure management tool)
- Ansible (Configuration management tool)The complex process of creating a new test environment has now been simplified down to a single click of a button in Jenkins. Terraform was used to create instances and security groups in AWS, according to configuration files in Git which allows the client to manage its infrastructure as code. The configuration management tool Ansible is then used to install and configure all necessary software including security patches.
The complex process of creating a new test environment has now been simplified down to a single click of a button in Jenkins. Terraform was used to create instances and security groups in AWS, according to configuration files in Git which allows the client to manage its infrastructure as code. The configuration management tool Ansible is then used to install and configure all necessary software including security patches.
Outcome: A Faster and More Efficient Process
Vodafone now has the system, process and toolset to work faster and more efficiently across the internal and external application teams. This has transformed the effectiveness of the development process, accelerating business buy-in and reducing the amount of resources needed. The Agile based working practices which were introduced have also increased product quality while significantly reducing costs.
The project has been so successful that the approach taken with the retail planning application has now become the company’s standard for automating the deployment of applications.
For organisations that use offshore development teams, the model we implemented demonstrates the best method to increase the transparency of activity, improve the quality of development and ultimately accelerate digital change.
This case study is based on work completed by DevOpsGroup before the team joined forces with Sourced Group, an Amdocs company.