Consider the following scenario.
You currently have a feature set A you wish to extend to include feature set B. In the near feature there's a high possibility that you wish to extend this even further to include feature set C.
- Option 1) Cost to extend
A->Bis minimal, but high maintenance costs. - Option 2) Cost to refactor
AandBto make more logical sense is moderate, but low maintenance costs.
Extending to include feature set C:
- Cost to extend refactored(
A&B) ->Cis minimal, again low maintenance costs. - Cost to extend A,B -> C is high, (both to refactor and extend).
Assuming the inclusion of feature set C is beyond the scope of the current sprint, how do you go about choosing an option?
How does this change if the addition of feature set C is several (2 or more) sprints out?