################################################## Essay 16 - Three Rules of Deferred Decision-Making ################################################## :date: 2005-09-21 10:10:59 :category: `War Stories and Advice `_ This is what I remind myself to do on a daily basis. It forces me to be problem-focused, not technology focused. It also enforces the design principle of "deferred decision-making". - Isolate design decisions (via proper allocation of responsibility) so that the final, final decision can be made as late in the development process as possible. - Create an architecture that allows designers the freedom to tackle as many issues as possible as part of detailed design. - Create a detailed design that makes as many questions as possible into simple programming choices. - Make programming choices reconfigurable with minimal rework. - Implement reconfiguration through run-time parameters: the final decisions are now the user's to make.