JoshuaKerievsky sez:

I was recently presented with this description of a human fetus after only 2-3 months in the womb:

Now consider what we do in ExtremeProgramming: in the earliest days of development we strive to build the embryonic version of a system - a complete working system that is as yet oh so primitive. Till I read that bit about the fetus I hadn't realized how closely XP emulates what nature does.

Insofar as comparisons to natural evolution are sometimes useful when studying artificial emergent design, recall that "evolutionary embryology" seeks to match corresponding features between embryos from different species at the same relative stage of development.

For example, there is no difference at the same stage between a 10-day developing human, a trout, or certain kinds of worms.

But there's a total difference between them and the larva of a bug. A blastosphere becomes an embryo when a fold runs up it, giving the initial form to an undifferentiated ball. But with all invertibrates, the fold starts at one end {name for this phenomenon?}, and with all vertebrates it starts at the other end {name for this phenomenon?}.

The animal in common is the flatworm. We are all flatworms rolled up one way (so that 2 cell layers became 3), and bugs are all flatworms rolled up the opposite way.

Analogies to programming describe but don't prescribe. Parent Nature makes animals more complex by extending their gestation period. So simpler versions of gestating critters represent previous iterations which once were deployed.