Wed Mar 9 12:05:29 EST 2016
Feature change, a 3-step process
To implement a feature change that requires a structural change
(current structure A, desired structure B), it is usually best to
factor the approach in 3 steps:
1: Abstract the implementation such that it can represent both
structure A and structure B based on a configuration data structure.
2: Change the configuration data structure to switch to structure B.
3: Optional: remove (evaluate) the configurability if it is
(absolutely) certain that structure A is no longer needed.
The abstraction step 1 is most difficult, but it can use exisisting
regression tests. This way one avoids the "rewrite pitfall", which
usually fails due to missed requirements that were implicitly covered
by the original implementation.