Many companies tout digitization and transformation with varying levels of success. Cisco Systems has successfully delivered on one such transformational journey that revolutionizes traditional release-and-build operations to modern DevSecOps. Though challenging and tedious, it is one that touches both software and hardware developmental processes. Above all, it involves working with numerous Engineers with differing understanding of where and how to get started! It entails several tough decision points, such as getting rid of older source code control systems and moving the developmental processes to Agile/hybrid methodologies, improving a developer’s experience, or figuring out automation strategies. Each one of these decisions could result in mammoth transformations on their own.
Having worked in the software industry for more than two decades, I have gained experience in all aspects of the software development life cycle, its processes, metrics, and measurement. I was a programmer, designed and developed complex systems, led the software development strategy and process for CI/CD pipelines, modernized pipelines and helped automate them. I also led the quality journey for several software releases allowing business to grow with speed and scale. Given my background, I would like to share my thoughts on Cisco’s digital transformational journey that I led, which has resulted in creating modern, automated, and secure CI/CD pipelines.
Let’s look at the traditional methods of the development process. Today, most of the enterprise engineering units invest in ReleaseOps, BuildOps, and SecurityOps, and so have we. However, here are some drawbacks to this approach:
- Artificial operational separation fragments source code repositories.
- Legacy baggage leads to limited CI models and processes.
- Various commit pipelines are siloed.
- Lack of visualization makes day-to-day progress uncoordinated and not apparent.
- Groups invest in their own digitization tools, such as CQI, CDETS, TIMs, Wiki, Spreadsheets, and PPT.
- Inconsistent metrics arise for build times, commit times, and build failure detection methodologies.
- Multiple dashboards provide fragmented or contradictory data.
- Inconsistent defect management results in issues with integrated labels.
These problems urged Cisco to speed up the digitization and transformation needs. Each conversation precipitated the urgency to address an ever-growing list of tasks needing resolution. Several brainstorming sessions later, with feedback from engineering leaders, we were able to share our objectives, vision, and mission for the transformation. We realized the following needs:
- Transform traditional release and build operations into modern, automated CI/CD with standardized tooling for speed at scale.
- Integrate security practices within the development lifecycle.
- Develop metrics to measure orchestration and evolve visualization strategies.
Each objective served as a standalone project unto itself. The projects questioned the status quo, required research for tooling in the specific industry, drove change management across the enterprise, and enabled ways to drive and measure outcomes. The new logo we developed represented the DevSecOps vision, giving the traditional DevOps pipeline a much-needed facelift with powers of orchestration, automation, and security.
The goals for this transformation provided the necessary impetus to drive change. Transformation had to be accomplished with automation everywhere to achieve the speed at scale. Again, automation required a revamp of the CI/CD pipeline to poise us for a cultural transformation. The security posture highlighted the urgency and importance for secure code development practices.
As with any novel idea, this initiative was subject to resistance while being socialized. Many articulated their concerns or challenged proposals:
- Why are you telling me how to do my job?
- Why do I need to change? I am familiar with current processes and tools to finish my task.
- Is there any value to this initiative? I don’t understand the benefits.
- I believe that I know more about this than you do.
- What you are trying to embark on is unnecessary.
- Currently, we do not have the right people or required resources to address this need.
However, compelling visualization resulted in perfect alignment amongst all Engineering teams. They soon discovered how this initiative can help provide a unified dashboard that can powerfully present the impact, metrics, and measurement techniques of the transformation.
After seven months of tireless work, the team began to see the results of the transformation that they had been working on. Standardized tooling and the ease-of-use showcased the merits of digitization and visualization. As a result, employees were able to merge many source code repositories into fewer or single repositories. Many tools converged into a few industry-standard tools. The build operations streamlined into a formal CI/CD pipeline offering code-base protection, one-click pull commit requests, and one-click commits for test and deployment. The entire workforce pledged to drive the transformation. Monolithic challenges were revisited as smaller-sized tasks that were thoroughly scoped and backed by a team empowered to achieve their best. The following tasks were modernized and accomplished using automated workflows:
- Commit Pipeline–Developed code was subject to various process and quality checks before it was included as an approved “feature” in the active feature development branch.
- Integration Pipeline–Feature branches underwent process and validation checks before being included in the “integrated or throttle” branch.
- Delivery or Deployment Pipelines–The integrated content was tested as a customer-consumable package by various methods, including solution-level validations, before it arrived at the “staging” or “production” environment.
- All these pipelines were powered by secure development processes.
- Finally, a crystal-clear dashboard displayed workflow visualization, metrics with color coding, on-demand status, troubleshooting, and reporting content.
Using an assembly-line method, we were able to deliver on our commitment. We developed a unified approach to replace traditional software development methods through focus, automation, and unification of tools, build and deploy processes! We encourage you to follow our lead.
The unique and rewarding digitization journey made a significant difference for our developers, customers and to our business. It ensured our ability to deliver features and functionality with speed and at scale. You can also refer to my previous blog on software development process, quality and release strategy which is a result of this devSecOps digital transformation effort!
Visit Cisco Software Central
for downloads, upgrades, administration, licensing and ordering.
Read another Cisco blog on Software Quality.