'''Dynamic Design''' is a term coined in MartinFowler's "Keeping Software Soft" article in the December 1998 issue of the DistributedComputing magazine. *** http://www2.awl.com/cseng/titles/0-201-89542-0/articles/soft.pdf It can be achieved with a mixture of ExtremeProgramming practices ''(...for example)'': * Short Code-Compile-Debug cycle ''(...typical of Smalltalk development environments)''. * RefactorMercilessly. Martin mentions that you start with a simple overall design (instead of BigDesignUpFront, or nothing at all), and RefactorMercilessly as the system emerges.