Ci sono alcuni aspetti di quel concetto che a volte vengono implementati oggi, ci sono altri aspetti che vengono evitati .
Mantenere le squadre piccole è una delle caratteristiche di base dei metodi Agile, ma è anche praticata al di fuori di Agile.
I team interfunzionali sono anche un punto fermo di Agile, ma anche al di fuori di Agile.
Il ruolo dell'impiegato del programma è ampiamente ripreso da sistemi computerizzati come i sistemi di controllo della versione, i sistemi di gestione della configurazione del software, i sistemi di gestione delle modifiche, i sistemi di gestione dei documenti, i wiki, i sistemi di costruzione continua con depositi di manufatti e così via. Voglio dire, puoi davvero immaginare di pagare un dipendente a tempo pieno per stampare il codice sorgente e indicizzarlo e archiviarlo manualmente?
Allo stesso modo, il ruolo di amministratore di sistema (non parte del team chirurgico di Mills, ma parte di un tipico team interfunzionale degli ultimi anni) è stato superato da concetti come DevOps (che assorbe il ruolo di Sysadmin nel ruolo di ingegnere del software) , Platform-as-a-Service, Infrastructure-as-a-Service e Utility Computing (rendendo il ruolo di Sysadmin "il problema di qualcun altro"), o Infrastructure-as-Code (trasformando l'amministrazione del sistema in ingegneria del software).
Uno degli aspetti che cerchiamo di evitare oggi è che al massimo due persone capiscano il sistema. Solo il chirurgo è sicuro di comprendere appieno il sistema, il copilota può o meno. Questo dà un fattore bus compreso tra 1 e 2. Se il chirurgo si ammala, il progetto è morto. Periodo. La risposta agile a questa è la proprietà del codice collettivo, che è esattamente l'opposto di quel modello: nessuno è singolarmente responsabile di qualsiasi parte del sistema. Invece, tutti sono responsabili di tutto come gruppo .
Infine, ci sono alcuni presupposti integrati in quel concetto, che sono obsoleti. Ad esempio, anche se non è dichiarato esplicitamente, il team è organizzato in modo tale che solo una persona (il chirurgo) disponga effettivamente di un computer. Questo, ovviamente, perché al momento in cui l'articolo è stato scritto, anche l'idea che un'intera squadra avrebbe avuto un computer per sé, figuriamoci una persona nella squadra, era un tratto. (Anche nel 1980, quando venne rilasciato Smalltalk, una delle cose che contribuirono al suo fallimento fu il fatto che il sistema era impostato in modo tale che ogni sviluppatore e ogni utente avessero il proprio computer - completamente impensabile in quel momento.)
Quindi, in breve: non penso che il concetto sia stato implementato esattamente come descritto, ma alcuni aspetti di esso sono sicuramente implementati, alcuni aspetti sono considerati indesiderabili ed evitati attivamente, alcuni sono obsoleti e alcuni sono Probabilmente Good Ideas ™, ma nessuno lo fa.