Penso che la tua squadra abbia bisogno di frequentare un corso di mischia agile e fare un patto per seguire la metodologia.
Quando gli sviluppatori eseguono il check-in di piccole modifiche al codice assegnate a piccole attività, riduce la possibilità che gli sviluppatori abbandonino le rotaie e eseguano il check-in del codice in conflitto. Ciò aumenta l'integrazione continua.
"I've seen some junior developers check in code that breaks use cases,
which is usually identified by another developer a few days after the
check-in."
Anche in un mondo perfetto ciò accade ancora. Se trovi che succede spesso e / o dopo diversi giorni di sviluppo, hai un problema.
Penso che troverai che il team lavorerà insieme in modo più efficace con una iterazione pianificata. Ti suggerisco di provare uno sprint di 2 settimane. Inizia lo sprint con un incontro scrum approfondito. Passa attraverso il backlog di Bugs and Work Items, accettando le priorità principali e scrivendole su post-it notes con unità / stime temporali utilizzando le carte da poker di pianificazione .
Allinea una plancia di mischia o una lavagna bianca e assicurati che le persone lavorino solo su una cosa alla volta. Una volta terminato il compito, devono scrivere un test unitario per questo. Una volta scritto un test dell'unità di lavoro, dovranno ottenere una revisione del codice. Revisioni di codici costruttivi sono una delle migliori tecniche per impedire agli sviluppatori di verificare accidentalmente conflitti di codice.
Dopo che Code Reviewer è stato disconnesso, lo sviluppatore esegue il Check-In Dance:
- Lascia che il resto della squadra sappia che sta arrivando un cambiamento se si tratta di un aggiornamento significativo.
- Ottieni l'ultimo codice dal controllo del codice sorgente.
- Fai un'unione con qualsiasi conflitto.
- Esegui la build localmente e correggi i problemi riscontrati.
- Esegui i test delle unità localmente e correggi i problemi riscontrati.
- Conferma le modifiche al controllo del codice sorgente.
- Interrompe la codifica fino al termine della generazione.
Se la build si rompe, elimina tutto e aggiusta la build.
Team Foundation Server (TFS) facilita tutta questa roba immediatamente.
Dovresti correggere i test prima di andare avanti. Ma solo perché l'80% del codice è stato testato unitamente, ciò non significa che sia a prova di bug. Gli sviluppatori devono essere attivi nel test della loro socialità di codice. Questa integrazione del codice è molto più facile da ottenere usando metodologie non-waterfall.