Software Development in the modern era is akin to navigating an inner loop-outer loop framework, each with distinct characteristics and challenges.
Inner Loop: This encompasses high-value creative tasks, such as developing secure code, solving problems, designing, reviewing, and coaching.
Outer Loop: In contrast, involves repetitive tasks that divert attention from the inner loop's high-value work. These include building code, deploying artifacts, bookkeeping, administrative work, and unproductive meetings.
The advent of Generative AI has revolutionized the development landscape, initially serving as a co-pilot for developers, enhancing the inner loop. We're witnessing a shift from spending four days to write and one day to test code, to a scenario where writing code takes only a day but the outer loop work (building, testing) consumes four days.
GitHub Copilot, with 1 million paid users and 37,000 organizations, has emerged as a significant player in this transformation. It accelerates coding, with studies indicating a 55% increase in developer productivity. However, the growing volume of code presents a challenge—outer loop activities become the bottleneck.
In a study of 73 enterprises, an average of 10,193 developer hours per year per enterprise was spent on running and testing builds, with an additional 942 hours on manual rollbacks. The current state of outer loop tools and processes is inadequate for the evolving development landscape.
Addressing the Challenge: Next-Gen Intelligent Outer Loop Tooling
The outer loop tooling and processes has to be able to operate with the same intelligence and speed as the AI enabled inner loop.
Faster Build System
A super-fast build system is imperative to keep up with the volume of new code. The system should intelligently test only the code areas that have changed or pose a higher quality risk. For example, it should rigorously test generative code or examine certain error-prone areas of the code. Additionally, the system should leverage AI capabilities to triage build failures.
Hassle Free Deployments with Smart Feature Flags
To reduce developer toil, developers need the ability to leverage templatized pipelines for swiftly deploying their code. They should be capable of constructing new pipelines using an AI co-pilot. Once the code is deployed, AI can be employed to verify the deployment and automatically roll back if necessary. Smart feature flags should be utilized to expedite code deployment to production. AI can also be leveraged to automatically clean up stale feature flags, thereby reducing the cognitive load on the developer.
Integrated Security and Governance
Research indicates that Generative code can generate a high volume of insecure code, with studies showing that Copilot generates vulnerable code 40% of the time. Although this number is expected to decrease over time, the need for security testing increases significantly in this new area. Many organizations are currently grappling with fixing security vulnerabilities. With GenAI, the volume of code requiring scanning and fixing only increases. Integrating security into the pipeline, deduplicating vulnerabilities, explaining vulnerabilities, and providing automatic fixes or fixing the code are areas where AI can play a significant role. Left-shifting security so that issues are caught pre-commit is also something GenAI can be particularly helpful with.
As more Generative code is deployed, the criticality of service and system resilience becomes apparent. The exponential pace of innovation demands more Chaos Testing in the pre-production phase. Identifying and triaging reliability issues are areas where AI can play a substantial role in this new world.
Improving Developer Experience
As more developers embrace GenAI, there is a significant opportunity to reduce developer toil. While GenAI usage in inner loop activities will undoubtedly help developers alleviate some pain, there is still a considerable need to reduce tribal knowledge concerning people, processes, and services. Creating a catalog of metadata around different services, their ownership, and all other related metadata can drastically reduce the time developers spend in unnecessary meetings. Surfacing outer loop activities in the inner loop can assist developers in reducing cognitive load. Providing golden paths for repeated outer loop activities is also of utmost importance.
Data-Driven Cost and Process Optimization
As developer productivity is unlocked and more GenAI code is deployed, increased cloud costs become a major concern for most companies. Tracking cloud costs across different dimensions and identifying opportunities to reduce idle and wasteful spending is crucial. GenAI can analyze data, pinpoint areas of opportunity where spending can be reduced, thereby reducing the cognitive load on the team responsible for tracking and managing costs.
Another area is the increased need for engineering intelligence. There is need to continuously optimize workforce, process and tooling for both inner and outer loop. As more GenAI gets infused into the SDLC, it becomes important to understand what is working and where there are gaps or opportunities. Understanding developer productivity and quantifying developer experience also becomes important. Leveraging frameworks like DORA and SPACE, and surfacing metrics and insights across people, process and tooling becomes an imperative.
Connecting the Inner Loop and Outer Loop Tooling
However, just optimizing the outer loop or inner loop separately is not enough. We need the inner loop and outer loop tooling to be connected and seamlessly share intelligence. For example we may want the build system to do more testing if the code has been generated by AI. Conversely we may want to learn from past build and developer failures and warn developers when they are writing new code.
As GenAI is infused into the inner loop today, there is a need to thoroughly examine the outer loop activities and understand how it can support this new world. A robust next-gen platform that assists developers in leveraging AI capabilities end-to-end is necessary. Having one platform that spans both the inner loop and outer loop becomes imperative to ensure that bottlenecks are minimized, allowing developers to focus on highly creative work without worrying about repetitive outer loop tasks.
For developers seeking to be at the forefront of innovation, now is the time to integrate Harness AIDA into your workflow. If you are interested in learning more about how we are infusing AI capabilities across the SDLC, check out our blogs in our AI Feature series to learn more!