A modular approach to using genAI in software development.
When machines started to generate code-that-actually-works™ from plain English instructions, it was extrapolated as leading to a machine that could create full software systems from just requirements. This is a massive misunderstanding of software development, since writing code is just a fraction of the work ; and, not only is it only a fraction of the work, that work is an ongoing process since context changes, requirements evolve, technology progresses and, generally, software constantly needs to evolve.
The fundamental idea we're exploring is that genAI produces disposable results. It produces items that are like cardboard plates, plastic spoons or paper towels: ultimately, these are so cheap to produce that they're not worth cleaning, fixing or maintaining, you just throw them away and grab new ones.
In this document, we present a method to leverage automatic code generation, while preserving readability, verifiability and maintainability. The working principle is nothing new, it is about breaking problems into smaller problems, packaging these in compartmentalised modules that we can re-genAI on demand.