Blogs

Permalink

Bring Together the 6C’s of Modern Development and Delivery Practices

By Ash Owen posted 04-18-2023 08:37 AM

  

While recent reports indicate 86% of organizations have adopted Agile, only 23% of Agile organizations have adopted automated testing reaffirming that transformation requires the adoption of modern practices and processes across the software development and delivery lifecycle to attain full benefits.

It’s time to bring together the 6C’s of Modern Development and Delivery practices:

A Centralized Code Repository for all software and source components that are assembled, built, inspected, tested, packaged and deployed.

Automated Code Review, a systematic examination of source code (both custom developed and open source) incorporating Continuous Inspection, a frequent inspection of software to provide early warning of maintainability and other code quality, security and vulnerability risks. 

Continuous Inspection is best achieved through an automated Continuous Integration Tool chain, incorporating your preferred mix of code software composition analysis tools. Individual analysis findings should be immediately visible within the impacted code, enabling developers to respond rapidly (Shift-Left), while the overall results can be aggregated and displayed in a dashboard that effectively shows convergence to, or divergence from your quality goals for development.

Continuous Testing is the process of executing automated tests as part of a software delivery pipeline in order to obtain feedback on the business risks associated with a software release candidate. This extends test automation from shift-left (unit tests, component, coverage) to shift-right (monitoring/APM, Testing in Production), providing quality metrics and release readiness insights and ensures it is seamlessly integrated into the software delivery pipeline, implementing automated quality gates.

Continuous Delivery (CD) is a software engineering approach in which teams produce software in short cycles, ensuring that the software can be readily released at any time.  Continuous Delivery is enabled through a deployment pipeline that breaks down the software delivery process into stages, with each stage verifying the quality of new features from multiple perspectives including the prevention of quality errors, security vulnerabilities and performance issues from impacting end users. 

Finally, underwriting these practices is Continuous Improvement as teams should review and optimize their practices and processes to eliminate redundancies, maximize business risk coverage and optimize flow.

The 6C’s of modern development and delivery practices are well known and accepted, and most organizations have started adopting these practices. However, teams are struggling to break past a partial implementation of practices such as continuous testing and continuous delivery. To attain full benefits, a more completion adoption of modern practices and processes across the software development and delivery lifecycle is required.


About the Author
Ash Owen is Sr. Product Manager at Flexagon. Flexagon knows that software delivery leaders are inundated with tooling options promising to support the adoption of one or two of the 6C’s, and teams are struggling to integrate them into a cohesive, easy to manage, DevOps toolchain. That’s why we built FlexDeploy as a comprehensive and integrated solution. To ease and support the adoption of these best practices, we created a solution that can support teams across the entire lifecycle.