Can Evolution be Agile?
I find evolution to be a fascinating design process, yet sometimes I wonder if evolution can ever be Agile. The key thing about evolution is that time is plentiful. Agile time is broken up into short sprints.
Perhaps the sprint can be thought of as punctuated equilibrium event.
Evolutionary design is not without its faults – I’m typing this on a QWERTY keyboard. But does Agile avoid QWERTY decisions? It seems like the Agile tenet of delivering working software early can easily result in QWERTY inertia. If an early iteration release delivers great enough value, users run the risk of using the tools so much that that they become ingrained with the UI (or framework).
What is to keep an arbitrary design decision in an early iteration from freezing into place and lasting for many generations?