Modern Agile created a cheat sheet for evolutionary design.
Joshua Kerievsky defines Evolutionary Design as:
A strategy for rapidly providing value by growing something from a primitive, yet complete, whole to a higher level of sophistication over time.
The sheet provides excellent insights like preserve flexibility.
Building options into your product from the start is one way to increase flexibility. For example, instead of using stored procedures that lock you into one database vendor, design the software with an object-relational mapping framework. This framework gives the option to switch databases by simply providing the connection string to the new database.
Please read this article if you wish to learn more about options thinking.
Comments