Tonight I watched a series of videos on TED. One in particular got me thinking about how code should have more responsibility on a smaller level (the idea of the sticky foot doing everything it needs to on its own), and how failover might work (the idea of the leg acting as "foot" as needed).
Janine Benyus is not the most engaging public speaker, but it might be worth watching her speech as well, since there are some really huge ideas in there that could be applied to software. Lots of ideas of self-assembly... could data "flow" over code that captured the bits that belong there? Is this kind of what mapreduce is doing?
And this one is still one of my favorites... but that's more eye-candy than biomimicry: