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
->B
is minimal, but high maintenance costs. - Option 2) Cost to refactor
A
andB
to make more logical sense is moderate, but low maintenance costs.
Extending to include feature set C
:
- Cost to extend refactored(
A
&B
) ->C
is 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?