In che modo le aziende che lavorano su progetti di grandi dimensioni valutano l'impatto di una singola modifica su un codice esistente?
Poiché la mia domanda probabilmente non è molto chiara, ecco un esempio:
Prendiamo un esempio di applicazione aziendale che si occupa delle attività. Nel database, ogni attività ha uno stato, 0 è "In sospeso", ... 5 - "Finito".
Un nuovo requisito aggiunge un nuovo stato, tra il 2 ° e il 3 °.
Significa che:
- Un vincolo sui valori 1 - 5 nel database deve essere modificato,
- I contratti di livello aziendale e di codice devono essere modificati per aggiungere un nuovo stato,
- Il livello di accesso ai dati deve essere modificato per tenere conto che, ad esempio, lo stato
StateReady
ora è 6 anziché 5, ecc. - L'applicazione deve implementare visivamente un nuovo stato, aggiungere nuovi controlli, nuove stringhe localizzate per suggerimenti sugli strumenti, ecc.
Quando un'applicazione viene scritta di recente da uno sviluppatore, è più o meno facile prevedere ogni modifica da fare. D'altra parte, quando un'applicazione è stata scritta per anni da molte persone, nessuna persona può anticipare ogni cambiamento immediatamente, senza alcuna indagine.
Quindi, poiché questa situazione (tali cambiamenti nei requisiti) è molto frequente, immagino ci siano già alcune tecniche e metodi intelligenti per prevedere l'impatto. C'è qualche? Conosci qualche libro che tratta di questo argomento?
Nota: la mia domanda non è correlata a Come gestisci cambiando i requisiti? domanda. In effetti, non sono interessato a valutare il costo di un cambiamento, ma piuttosto il modo di prevedere le parti di un'applicazione che saranno interessate dal cambiamento. Quali saranno quelle modifiche e quanto sia difficile sono davvero non importa nella mia domanda.