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.
A timely article, Paddu! Change is never easy and is sometimes met with skepticism. Yet high-performing organizations must adapt and redefine how they use technology and processes.
Thanks Teneya!
Nice best practice Paddu! You should talk about it as well. I suggest you deliver this as a session at one of the DevOps conference. I can suggest some for you
Thanks Shashi! yes will connect with you!
Very thorough rework Paddu! Nice integration of waterfall and agile processes for hybrid teams.
Thanks John!
Excellent summary of the DevSecOps journey! With so many moving parts, bringing the data forward to everyone in dashboards and visualizations is a catalyst to driving change.
Thanks Ed.
Transformation is key for Efficient Operations. Challenging the status-quo requires huge commitment. DevSecOps framework is nicely structured and very well implemented which is quite evident from the efforts you have articulated in this article. . Thanks for sharing these useful insights!
Thanks Anurag!
Fragmented approach with lack of visualization/consistency leading to too much inefficiency. Very nice you were able to unitfy and come up with consistent approach to the software cycle. Thank you for sharing!
Thanks Ram!
good details and journey with learnings which successfully transformed.
Thanks Jimit!
Paddu and team,
Thanks for capturing the transformation of XE release process. Due to this multiple business units are able to deliver quality code on multiple product lines with large installed base like Cat9K. 3 releases every year almost like clockwork is possible only due to continuous development and strict quality process.
Keep up the great work!
Thanks Shyam!
Great article on the DevSecOps journey Paddu! Nice to read about the workflow transformation and how things have changed in DevSecOps!
Thanks Juliana!
Thank you, Paddu for sharing your journey that brought about such a phenomenal transformation for DevSecOps at Cisco.
Very nice article Paddu. Very well articulated!