Circular Economy, though applicable to all types of businesses, often gets referred to in the context of retail and supply chain management. It minimizes wastefulness by creating a closed-loop of design, deploy and re-use delivering the highest utility and value for the product. It is called ‘circular’ as opposed to the current ‘linear’ model since the products extend their life and theoretically never reach landfills. Gartner predicts that by 2029, circular economy will be the only economy , and the benefits are not just environmental. Circular ways of working will impact the profitability of businesses.
Circular Economy and Software
I see strong parallels between circular economy and the evolving practices of developing software. From cloud solutions to test automation to DevOps, software development aims to implement the circular philosophy by minimizing waste, optimizing resources, and creating software in a closed loop manner. The DevOps practice as an enabler of the development process is truly circular. The continuous feedback loop delivers customer feedback on the go and faster sprint cycles deliver the improvement back incrementally. On the contrary, the big bang approach to redo everything increases the cost, carbon footprint, repetitive development efforts leading to inefficiencies that remain as a part of the ops for a long while increasing the waste.
From Ops perspective, cloud increases the efficiency by allowing to scale the infra up or down as required delivering a reduced carbon footprint. For running an efficient cloud (SaaS) based offering, DevOps is the real enabler. With advancements in AI/ML, within DevOps, testing enabled by AI/ML will shift quality left and decrease the overall waste. The shift-left and DevOps paradigm intended to prevent defects early in the delivery cycle make development less ‘wasteful’, more resourceful, and efficient by preventing costly and time-intensive defects.
Moving Towards Circular Quality
Circularity or closed loops in quality assurance involves scenarios where defects are Identified upfront in the process, fixed when the cost of fixing defects is lowest and improvement actions are initiated to fix the root causes of defects. DevOps helps software go lean, clean and green with its focus on automation, shifting left and arresting those defects at the source.
The idea of lean quality then is one that reduces waste (rework, defects, corrosion) by comprehensively testing the system early and continuously, measuring that which matters and improving the quality incrementally.
The focus is not simply on improving the software development process, but also the end-to-end practice of building quality products from concept to execution.
Automation, (C)lean Testing and Sustainable Dev Cycles
In an ideal world, all software development should have circular quality zero defects, however, we are far from that ideology. It is not too ambitious to imagine circular quality as an extension of this lean testing the principle by automating test definition, authoring, and execution to the greatest extent possible. By tapping into the continuous feedback loop and cognitive/intelligent authoring / reauthorizing, the automation code quality can be maintained. Self-healing is a simple example of this. Over time, the machine learns and delivers (c)lean code that improves the success of the regression cycles manifold.
Test Automation has already delivered the first wave of change that delivered scale, efficiency, and faster time to market for the software testing process. Continuous Integration has shrunk the testing cycles further adding to the efficiency. However, one of the key challenges with test automation is script maintenance. It adds to the cost and efforts and often results in poor ROI. The solution lies in managing a continuous feedback loop and cognitive/intelligent authoring to manage the automation code quality. Self-healing test suites have already made this possible. But it can be further optimized to improve the success of regression cycles. Magic also happens when advanced AI and ML meet test automation. The idea is to deliver consumable actionable intelligence (based on trend analysis of historical and real-time data) to improve the quality continuously. The beauty of this practice is that your automation suite learns continuously from data and trends, refining the outcomes and creating a continuous feedback loop of learning. Now you can anticipate defects, automate and make smarter decisions based on prescriptive and predictive analytics leading to faster testing and anticipating problems before they happen thus improving quality and progressing towards zero waste.
Green Quality Index
Cost savings is a strong driver for going circular, shifting left, and being smarter with your quality initiatives. Organizations would benefit immensely from what I call as ‘Green Quality Index’ that guides software development teams to analyze how much of their effort is duplicated or wasted, and how they mitigate this. The index will benchmark reusability, rewriting of tests, use of automation, defect removal efficiency, defects in production, percentage of broken builds, and additional user-defined criteria that help measure the efficiency of circular development. Green Quality Index can be real-time compass that organizations will use to navigate while building Circular Quality in Circular Economy.