Unlocking Developer Velocity With the Right CI/CD Platform
Whether you decide to build your own or adopt a vendor solution, CI/CD platforms are undoubtedly becoming the key to accelerating the development and delivery of software
Join the DZone community and get the full member experience.Join For Free
Today, in a world where online software is expected to be available 24/7 across the globe, engineering teams writing and delivering software are expected to do so at speed, while maintaining quality and security. To help meet the challenge, online CI/CD platforms have emerged to provide everything a developer needs to plan, version, deploy, test, and promote an application from their laptop to a production environment – where an end-user can consume it and provide valuable feedback.
This article will cover the key ingredients of a CI/CD platform, how they are evolving and whether you should try to build your own or utilize an industry leader.
The Path to Platform
New software projects emerge to validate an idea, improve on something, solve a new problem, or just for fun. In each case, engineers need a place to organize, collaborate, contribute, and review code with as little fuss as possible. The focus is on delivering a minimum viable product consumable by the outside world and receive feedback on its use to guide what comes next.
In a business setting, the cycle time for feedback has a financial impact; the longer it takes, the longer investment is locked into the delivery process without realizing a potential return. In an enterprise, improving business agility is correlated with software delivery performance, measured with metrics like decreasing cycle time and increasing developer velocity while maintaining high quality.
As businesses evolve to understand the importance of these metrics, they quickly realize the potential of platforms in generating value and improving employee engagement. Several years of the analysis show that, compared to low performers, organizations with the highest level of software delivery performance are twice as likely to exceed their organizational goals, providing a competitive advantage for profitability, operating efficiency, and customer satisfaction.
Continuous delivery enables better software delivery performance and is characterized by a team that can deploy to production (or to end-users) on-demand, throughout the software delivery lifecycle. Continuous delivery requires the implementation of key technical practices including continuous integration, a shift-left on security, the comprehensive use of version control, and continuous testing, all of which are underpinned by a CI/CD platform. A good example of the efficiencies delivered by a platform is Goldman Sachs’ adoption of GitLab, as the platform helped the organization improve from one build every two weeks to over a thousand per day, and allowed its teams to push to production in less than 24 hours.
Build It Right and They Will Come
DevOps transformations that focus on continuous delivery can fall into the pitfalls of DIY, siloed and fragmented solutions that don’t scale if not thoughtfully designed and organized. A good CI/CD solution adheres to platform design principles and comes with “batteries included” that allow new teams to quickly get started on their applications. It offers a menu of support for popular languages and frameworks, but does not restrict users to only those options, and keeps up with the latest technology trends to anticipate community needs.
It’s a full-time job that requires focus, staffing, and a product mindset, meaning DevOps engineers, who understand how to design and maintain a platform that cultivates communities, must be part of any implementation.
A good CI/CD platform hooks into a developer’s work-life multiple times a day, so the experience provided is a big factor in selection and adoption. Focusing on the elimination of team cognitive load and enabling autonomy results in happy developers, which in turn increases the output of business value. The better the developer experience, the more appealing the platform. The more credible the platform, evidenced in adoption by trend-setting developers, start-ups, and the well-established brands that follow, the greater its engagement – creating a network effect.
In an enterprise setting, guard rails need to be put up, annual audit and compliance checks successfully completed and, most recently, there must be a focus on a secure software supply chain. Directors and executives need a bird’ eye view of their engineering community to understand if developer velocity is scaling and where bottlenecks exist. Thus in the enterprise, a successful CI/CD offering addresses multiple personas, providing developers self-service and streamlined change management processes to reduce burnout, helping IT with safety, and surfacing DevOps metrics to managers tasked with improving software delivery and operational performance of their projects.
Choosing the Right Path
Online CI/CD Platforms are the largest hosts of source code in the world and have become ubiquitous. Commercial offerings are in a fight to expand their relevance through value-added services in a fast-moving post-Covid online world.
There is heavy investment in machine learning and artificial intelligence to reduce decision-making in the delivery value stream. For example, GitHub’s Copilot and Dependabot integration provide AI pair programming and automated dependency management within the developer’s workflow. Codefresh and Tekton are leading the way on the use of GitOps (see my Four DevOps Trends for 2021) for declarative, versioned deployment and configuration of Kubernetes clusters and application delivery.
With a competitive market of vendors to choose from, it is prudent for any organization to understand if a CI/CD platform can provide a competitive advantage in reaching their organizational goals. Improving software delivery performance is a process of continuous improvement.
Much like the commoditization of the Cloud before it, CI/CD platforms seek to commoditize how developers write and ship code. Organizations that want to quickly progress from ideation to delivery want to spend less time setting up complex delivery environments. Thankfully, they can now pick their favorite online platform and do just that.
Opinions expressed by DZone contributors are their own.