Software Development as a Chain of Transformations
Why software development is different than anything else
Software development is different than anything else. Software development is unique, as it is a series of transformation within one medium - information. We do not involve several media like information and the physical world. Not enough people understand how this influences software development and the consequences that come out of it.
We have an idea, write it down, expand it into requirements, transform it into source code, and transform the source code into binary code to run.
In other industries there is a media disruption: You write down the requirements, draw up a plan, then build something physical. A house, a car, a computer. Production is not transformations inside a medium.
What if everything is 3D printed, products, cars, houses? Is software development just the same then? No, because in software development we can also easily go back one step, and move forward and backward on the transformation chain - easily changing all artifacts on the way from the idea to the binary that runs our application.
The reason is, in software development we never change the medium. We transform the information, add to it and expand it. One model shows we might go from Idea to Requirements to Source Code to Byte Code to Machine Code to Microcode.
We see different phases in the evolution of software development, P1 to P6. In P1, the old mainframe days, the engineer talks to an requirements engineer and the requirements engineer talks to business. there are three transformations, from Idea to Requirements (T1), from Requirements to runable code (T2) and inside the CPU (T3).
Over time we added more transofrmation, with compilers and virtual machines. And we also added more roles, like Product Manager (P2).
AI with Cursor or Claude Code is just another transformation, where the computer takes away a manual transformation step from developers. We’ve seen computers take away from developers before: With compilers, virtual machines computers have taken over a transformation step, and developers moved up the abstraction chain.
In P3 the AI starts to execute those transformations - P3 is the next step in our progression of the evolution of software development. In P3 the number of transformations might have peaked and goes down again. In the future AIs might internalize more and more transformations until in P6 AI generates ideas and gives them directly to a CPU (NPU/GPU) to execute.
Software development is different, it’s just a chain of transformations on information inside one medium. Be prepared.