Considera il seguente scenario.
Al momento hai un set di funzioni A
che desideri estendere per includere il set di funzioni B
. Nella funzione vicina c'è un'alta possibilità che desideri estendere ulteriormente questo aspetto includendo il set di funzioni C
.
- Opzione 1) Costo per estendere
A
- >B
è minimo, ma alta manutenzione i costi. - Opzione 2) Costo per refactoring
A
eB
per rendere più logico il senso moderato, ma bassi costi di manutenzione.
Estensione per includere il set di funzioni C
:
- Costo da estendere refactored (
A
&B
) - >C
è minimo, di nuovo basso costi di manutenzione. - Costo per estendere A, B - > C è alto, (sia per il refactoring che per l'estensione).
Supponendo che l'inclusione del set di funzionalità C
esuli dallo scopo dello sprint corrente, come si fa a scegliere un'opzione?
Come cambia questo se l'aggiunta del set di funzioni C è di diversi (2 o più) sprint?