Comment Responding to change over following a plan? (Score 1) 395
If you want to create a maintainable design, you need to think of the likely changes the software will under go and the also the aspects that don't change.
Example: a car will a have brake, but the type of the brake is likely to change as technology evolves.
If you plan for the likely changes , you could hide every likely change behind an interface as implementation detail. The interface will only expose those details that are unlikely to change. So when the change does come along, this will results in one module implementation change.
By not planning for changes, Agile results in fragile architecture (a small change can have ripple effects ). And hence costly. We end up tweaking the architecture for every iteration?
Example: a car will a have brake, but the type of the brake is likely to change as technology evolves.
If you plan for the likely changes , you could hide every likely change behind an interface as implementation detail. The interface will only expose those details that are unlikely to change. So when the change does come along, this will results in one module implementation change.
By not planning for changes, Agile results in fragile architecture (a small change can have ripple effects ). And hence costly. We end up tweaking the architecture for every iteration?