Be the first to like this
The question of how much design to do up-front on a project is an engaging one. Too much design often results in overkill, complexity, and wasted effort. Too little design results in insufficient system structures that require later rework, additional complexity, and wasted effort. How can we know what the right balance is? Ken Pugh shows how to use advice taken from Design Patterns, coupled with the attitude of not building what you don’t need from agile. The trick is in observing potential variation, how it may affect you in the future, and then how to isolate these risks in a simple manner. Ken describes the essence of emergent design – that is, start with a simple design and let it evolve as the requirements evolve. He also demonstrates how to refactor to achieve better designs and how this is different from refactoring bad code.