JoshuaKerievsky sez:

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

  • Though the fetus is only from 1 3/4 to 3 inches long crown to rump and weighs less than half an ounce, it's busily swallowing and kicking. Each day more minute details start to appear, such as fingernails and peach-fuzzy hair. The vital organs - the liver, kidneys, intestines, brain, and lungs - are fully formed and functional, while the head is almost half the length of the entire body. The forehead temporarily bulges and sits high on the head, but later will metamorphose into a more human-like visage. If you could take a peek at your baby this week, you'd be able to see the clear outline of his spine. Spinal nerves stretch out from the spinal cord."

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.

web biohackers.net