Roadmap: How to Adopt This Practice |  |
This roadmap describes how to adopt the Evolutionary Development practice.
Main Description
Getting Started Begin by gaining an understanding of design patterns. There are good references in the Enablement materials. Patterns are essential to creating, managing, and evolving designs. As the name implies, evolutionary design involves returning to the existing design over and over again to refine, change, and improve previous thinking. It can be performed at the beginning of a development cycle (before implementation), during a development cycle (while implementing code), after the cycle (when the developer tests have successfully executed), or any combination of these. The team should determine where in the development cycle the design will be performed. Understand refactoring and the difference between code refactoring and design refactoring. There's no exact boundary separating the two but there are some clear areas where the developer will wear the "design hat" when reworking the design into a better structure. These areas will usually involve identifying where design patterns can replace or enhance the existing design, or areas of the design where patterns can be identified and harvested for reuse. Common Pitfalls Evolutionary design emerges from refactoring existing design. This improves the design without changing the behavior of the system. Failing to perform developer or unit testing is a high risk activity as you can't guarantee that: The original design works correctly The refactored design works correctly So developer testing must be rigorously performed in order to verify the robustness of the design. Otherwise you may waste a lot of time refactoring something that doesn't work, or refactoring the correct behavior out of the system.
This program and the accompanying materials are made available under the Eclipse Public License v1.0 which accompanies this distribution. OpenUP Copyright.