Continuous delivery has long been a cornerstone of agile development. As the federal government moves away from traditional waterfall to a more agile way of developing and delivering software, continuous integration and continuous delivery (CI/CD) is emerging as a best practice. Is CI/CD right for your organization? What are some first steps to adopt CI/CD?
- Understand the Benefits of CI/CD
In government agencies that have adopted agile, frequent delivery of functionality is the norm. CI/CD further streamlines the process for frequent delivery, by integrating code changes on a continuous basis. CI/CD incorporates automated testing and build automation, reducing the risks of your projects by detecting bugs and defects earlier while freeing your developers to deliver quality features quickly.
- Make Sure You Are Agile-Ready
Agencies interested in CI/CD start with agile. Has your organization made the move from waterfall to agile development? Once the agile mindset and processes are firmly established, you may be ready for CI/CD.
Start with a pilot project. Select something your team is particularly eager to accomplish, where your organization would benefit from near-term delivery of a defined capability.
- Get Your Team Prepared for Change
The biggest impediment to change is change itself. To embrace CI/CD in your organization, expect to face structural, mindset and status quo obstacles. The most common concern is that by making a change, something essential is lost.
CI/CD, for example, embeds testing into the code build and automatically runs tests with each integration – often, multiple times a day. If you are used to a manual testing process, this change will make the testing comparatively invisible. Help your team understand that testing is not eliminated; it is simply streamlined and automated.
For one government client, we recently set up a CI/CD pipeline that addressed specific concerns of the quality control and configuration management stakeholders whose processes were most affected. We mapped the current processes to a new CI/CD workflow that included every component identified as essential. The end result preserved control, quality and every crucial step in the process.
- Implement Tools and Processes that Fit
To achieve continuous integration, you will likely rely on multiple loosely-coupled technology services that allow for building, testing and deploying small chunks of software independently. There are many tools available. Collaborate with your IT contractor or colleagues to select the ones that will work best in your environment.
Some of our government clients automate their CI/CD pipeline with daily builds. Others go to production every two weeks with the latest stable build. Though the schedule of continuous integration may vary, the process and benefits do not.
If you’re considering CI/CD but aren’t sure if you’re ready, let us know! We’re always happy to talk agile.
Eric Booth, a Pyramid Systems solutions architect, oversees the translation of client business processes and requirements into architectural solutions, ensuring the most appropriate technology selection. He has advanced solutions for client business domains spanning space exploration to content management.