Sono su un programma di sviluppo software nei servizi finanziari - con 100 sviluppatori, oltre a tester, BA, PM e altro personale di supporto.
Abbiamo letto Implementazione dello sviluppo software snello e Il progetto Phoenix , che parla di identificare il collo di bottiglia nel flusso e di ottimizzarlo. (Alcune somiglianze con il percorso critico in un progetto).
Intuitivamente, possiamo identificare i colli di bottiglia, il numero di ambienti di test, la quantità di tempo e gli sforzi richiesti per i test di regressione, la dimensione del monolite, il numero di sviluppatori e così via. Quello che stiamo cercando di fare è ridurlo all'unico collo di bottiglia che trattiene tutto il resto. (Come un flusso del processo di produzione).
L'applicazione di Lean Software Development parla di analisi del flusso di valori, ma non abbastanza da identificare il blocco che è fondamentale per l'intero sistema.
La mia domanda è: Qual è il metodo per identificare il collo di bottiglia chiave in un programma di ingegneria del software?
MODIFICA: Presupposti aggiuntivi:
-
Nel mio ambiente - i finanziamenti vengono assegnati per grandi blocchi di scopo da consegnare in una data specifica. In sostanza, la qualità, la portata e il tempo sono bloccati in primo piano. (Con alcune varianti per scopo e tempo se assolutamente richiesto).
-
Questo significa che manca un concetto di "piccoli pezzi che si muovono attraverso il sistema". Ci sono solo grandi progetti con molte storie (più di 60 storie, ognuna con 10 giorni di lavoro).
-
Questo è un ambiente in qualche modo simile a una cascata (tanto quanto dice Sarbanes Oxley) con una fase di test di integrazione del sistema e di accettazione degli utenti separata.