Francamente, meno politiche, meglio è. Più politiche hai, maggiore è l'incentivo per NON usare il controllo di versione. Quello che succede allora è:
- Il codice è sviluppato su sistemi di controllo di origine paralleli e incontrollati, e solo la revisione finale va a quella ufficiale.
- Le persone ritardano il più possibile, diminuendo la visibilità di ciò che stanno facendo agli altri sviluppatori.
- Le persone eviteranno davvero di commettere qualcosa se possono farla franca, e alcuni troveranno un modo per farla franca.
In effetti, penso che le vostre tre politiche di check-in siano già troppo. Ad esempio:
- Il codice sottoposto a peer-review prima del check-in rende molto più difficile l'archiviazione del lavoro in corso. Invece, se il sistema di controllo del codice sorgente lo consente (e molti lo fanno), controlla se l'origine è sottoposta a peer review o meno. Con alcuni sistemi puoi creare un ciclo di vita per una revisione, con altri che potresti creare rami e altri ancora che potresti usare tag.
- Avere un elemento di lavoro associato a un check-in rende impossibile agli sviluppatori di fare programmi di esplorazione o avere iniziative su possibili miglioramenti. Soffoca gli sviluppatori. Invece, assicurati che ogni revisione che va ai test di integrazione o ai test di accettazione degli utenti, per non parlare della produzione stessa, sia associata a un oggetto di lavoro.
Questo potrebbe sembrare anti-Enterprise, ma sono solo alcune cose che abbiamo appreso in alcuni decenni di sviluppo del software. La maggior parte delle organizzazioni imprenditoriali non sono state incluse in questo, ma, alla fine, lo faranno. Quindi potresti andare nella direzione opposta, ma non dire che nessuno te l'abbia mai detto.
Raccomando il Agile Manifest e, in particolare, Lean Software Development per i principi generali.
Oppure, tenendo in considerazione la filosofia di progettazione Stack Overflow, rendere il sistema premiare il comportamento desiderato.
fonte
2009-07-29 02:55:15
La peer-review non deve essere un prerequisito per il check-in. È possibile effettuare il check-in per primo, rivedere i file commessi, quindi promuovere i file su un altro ramo dopo la revisione. – Dan