Stiamo lavorando a un grande progetto in corso che ha continue modifiche alle funzionalità. Queste funzionalità potrebbero richiedere fino a 3 - 4 settimane.
Questo naturalmente andrebbe bene, tranne che il client sta cambiando sempre le sue priorità / focus in base alle richieste dei suoi clienti che potrebbero voler implementare alcune funzionalità prima di altre.
Quindi, spesso dobbiamo spostare le marce nel bel mezzo di una importante feature build e iniziare una nuova funzione che all'improvviso ha una priorità maggiore. Ovviamente, a un certo punto, abbiamo il costo di unire tutto insieme, e anche il costo di quella perdita di impulso sulla funzione originale.
Le nostre stime sono fuori dalla finestra a quel punto.
C'è un buon modo per gestirlo?
Alcune opzioni che ho pensato:
- supponiamo che questo sia il modo in cui andranno le cose, e applica un fattore "cliente distratto" fino al 100% su tutte le stime (questo è pericoloso nel caso in cui possiamo effettivamente completare una funzione senza interruzioni)
- istruisci il cliente sui costi del cambio di marcia e magari applica un premio di modifica alle stime precedenti se vuole che cambiamo a lavorare su una funzione diversa
- rifiuta di lavorare su più di una funzione / versione alla volta (a parte le correzioni dei bug). Questo probabilmente non è realistico.
Non vedo l'ora di sapere come gli altri hanno affrontato questo problema. Non può essere raro.