This is awesome because I’d landed on the same concept but via evolution, especially a section in the Blind watchmaker where Dawkins implores on one fundamental requirement for evolution, which is that every step in the evolutionary process the individuals need to have a functional version of the trait. You can’t just shut down the process to retrofit things. Evolving eyes from light sensitive cells means that the organoid in every intermediate step should be a functional light detector that’s slightly better than the previous iteration if not the same.
This is a great, but absolutely not necessarily the only, way of writing software. As mentioned by other replies this is maybe not even possible in some fields. And as Dawkins points out, it’s is absolutely not the most efficient way and you don’t explore the full efficiency landscape by a long shot. But it works, and is predictable. I’ve had great success in software by following this rule.
It is also highly resilient to unpredictable organizational politics and inefficiencies because from the moment of having an MVP, you always have a functioning product.
> Evolving eyes from light sensitive cells means that the organoid in every intermediate step should be a functional light detector that’s slightly better than the previous iteration if not the same.
This is not entirely true, because there is horizontal gene transfer, and serendipitous combinations, even of "junk" DNA. For example, eyes started off as ordinary brain cells that just happened to have a light-sensitive chemical in them: melatonin. The melatonin could have had another non-photosensing use prior to this, or it could even have been a mere byproduct of some other process.
This is a great, but absolutely not necessarily the only, way of writing software. As mentioned by other replies this is maybe not even possible in some fields. And as Dawkins points out, it’s is absolutely not the most efficient way and you don’t explore the full efficiency landscape by a long shot. But it works, and is predictable. I’ve had great success in software by following this rule.
It is also highly resilient to unpredictable organizational politics and inefficiencies because from the moment of having an MVP, you always have a functioning product.