Preparing for Change
As the application is being developed, the
design team should also keep in mind that change is inevitable.
Users requirements will often change with experience,
hardware changes, government regulations change.
Try to predict the most likely sources of change, and isolate the effect.
Common changes include interfaces, file formats, communication protocols.
Isolate interfaces to hardware that is likely to change.
Reduce dependency of one software component on another.
This prevents changes in one component from rippling into changes
in other components.
Keep accurate record of the reasoning behind every major decision in the