Can AI Make Design Decisions?
As we give more information to AI, can it create more suitable designs?
Kent Beck "Permaculture by Succession" model is the most powerful software development model I've encountered thus far. It is based on the initial assumption that any design we may come up with while growing a system is basically a throwaway design. In the best-case scenario, it's the best design we could possibly come up with given the limited knowledge we have at that point; in less optimal scenarios, our design is more of a trial balloon that will hopefully lead us to discovering more vitally important knowledge about the system we are modeling. In either case, we are in perfect agreement with the fact that our design will eventually and unavoidably be replaced by a better, more suitable one.
Let's apply that to the software development process, where AI takes the driver's seat in deciding how to implement the expectations. The crucial question in this situation is, will AI be able to go through the process of successfully replacing its design with a more suitable design, given the discovery it makes while attempting to make the next test pass?
When I compare that challenge with how I work, I realize that without going through those steps where I keep replacing one design with better designs in a continuous flow, I would never be able to come up with suitable designs for the ever-growing system. It is only through the process of gradual refinement that I am able to even give it a chance.
In a similar fashion, when I start with a simple, barren expectation I put in front of AI, asking it to fulfill that expectation, I am giving it only a quick peep through a keyhole. As I keep adding more expectations, the AI learns more details about the microuniverse we are jointly building.
Will the new piece of knowledge, given to AI, result in it being able to refine its design and come up with a more suitable one? In my experience, yes.
What do you think?


Ok, so what you are describing is like incremental development to the software design stage applied to AI aided software design?.
Like in the design stage of things.
I ask, just in case I am too old and incremental development was not a thing for a while: We started with a minimal prototype, too 90s, I guess, and then built functionality around it.
Hence I ask...