Windows Confidential Ultima Chicken archivia

Raymond Chen

Come un progetto winds verso il basso, il team spesso riproduce un gioco informale noto come ultimo Chicken Archivia. In questo gioco Team "competere" per evitare di essere responsabile per l'ultima modifica al prodotto perché, in teoria, se non sono state per il bug, il progetto può spedito un giorno precedente. (Questo è raramente effettivamente true, ma è, Ciò nonostante, la motivazione per il gioco.) La concorrenza è puramente virtuale, nessuno effettivamente mantiene punteggio, e il vincitore presto è dimenticato.

A meno che non avete che confermato.

Uno dei membri senior del team Windows consentite all'utente che ha vinto il gioco due volte in una riga nuovamente nei giorni precedenti di Windows. La seconda volta è particolarmente importanti perché è stata apportata la modifica dopo produzione ha già iniziato. L'esecuzione dell'intera produzione era necessario essere richiamato e riavviato.

Un tentativo di renderlo 3 in una riga è stata thwarted, tuttavia. Il terzo tentativo terminata alto da CHECK-in secondo per ultimo, anziché l'ultima. L'ultima archiviazione è stato effettuato da un altro dei colleghi che non solo apportate la finale di controllo di Windows 2000 ma quindi avviato un nuovo dynasty da effettua anche l'ultima archiviazione per Windows XP.

Uno dei ironies del gioco di ultima Chicken Archivia è che spesso è le persone gli agire contemporaneamente (e, di conseguenza, persone almeno prevedibile) che alla fine vincitore. Questa operazione non è perché il codice è inferiori, notare si. Per virtù di essere preparato correttamente, siano in una quantità posizione migliore per rendere tale finale archiviazione, anche se non si tratta di un componente per cui in genere dispongono responsabilità.

Effettua un'ultima archiviazione è un undertaking principale poiché il tipo di isolamento che separa in genere lo sviluppatore dalla struttura principale non è più presenti. In circostanze normali, un check-in passa simile al seguente:

  • Si stabilisce il check-in con il sottoprogetto.
  • Laboratorio di generazione del sottoprogetto churns sulle modifiche durante la notte e produce una generazione nella mattina.
  • Team di testing del sottoprogetto pores tramite il codice per una settimana o più prima di concedere il possibile per l'archiviazione di essere rilasciato per il ramo.

Farlo in questo modo, è molto più probabile che se sono state eventuali errori, verrà visualizzato rilevate prima che diventino un parte ufficiale del progetto. Alcuni sottoprogetti sono così grandi che si applicano questo in modo ricorsivo principio, creazione sub-subprojects verificare le modifiche apportate in modo indipendente vengono rilasciate al sottoprogetto maggiore a cui appartengono.

Ma quando è attiva la endgame progetto team di gestione rilascio si decide di eseguire la correzione, l'orologio è ticking e c'è alcun tempo per multi-week leisurely non modificare il processo di verifica. Dispersi tutta la durata del progetto sono gli sviluppatori che regolarmente generare il progetto intero (non solo i sottoprogetti), dalla creazione pulire completamente alla creazione di immagini disco in un server versione privata e verificare la creazione di vincoli sono soddisfatti. (Ad esempio, una delle operazioni che farebbe è assicurarsi che l'immagine del CD non è troppo grande per entrare in un CD!)

Se un team è trova in una situazione in cui è necessario apportare un ultimo minuto Check-in, in genere cercherà a qualsiasi membro del team è ben preparato, assenza tale una persona, il team verrà quindi integrare l'assistenza di da un team nelle vicinanze che è ben preparato.

Qualche gioco di Cyrano ora ha luogo. Il team fornisce la modifica per gli sviluppatori well-prepared e lo sviluppatore crea immagini del disco, verifica i vincoli di generazione e quindi fa riferimento il team di testing a server versione privata. Il team di testing caso per individuare un problema, il team di sviluppo viene visualizzata con una correzione del nuova e mani allo sviluppatore well-prepared, che viene riavviato il ciclo.

In altre parole, lo sviluppatore well-prepared agisce come un laboratorio di generazione virtuale one-man per quel team. Una volta tutti è soddisfatto, lo sviluppatore well-prepared facilita l'archiviazione. Questo è il motivo per cui gli utenti che hanno well-prepared costretti vincere la partita di ultima Chicken Archivia. Si non tratta perché sono in hook per un problema ma perché sono pronti per coloro che presenti l'hook.

Raymond Chen Sito Web, La precedente operazione di nuova, e gestire le libro identico intitolato (Addison-Wesley, 2007) di Windows della cronologia, programmazione di Win32 ed Esplosione caffè macchine.