Hay algunos aspectos de ese concepto que están a veces en práctica hoy en día, hay otros aspectos que son evitados .
Mantener equipos pequeños es una de las características básicas de Agile Methods, pero también se practica fuera de Agile.
Los equipos multifuncionales también son un elemento básico de Agile, pero también son comunes fuera de Agile.
El papel del secretario del programa está ampliamente subsumido por sistemas computarizados como los sistemas de control de versiones, sistemas de gestión de configuración de software, sistemas de gestión de cambios, sistemas de gestión de documentos, wikis, sistemas de construcción continua con repositorios de artefactos, etc. Quiero decir, ¿te imaginas pagarle a un empleado a tiempo completo para imprimir el código fuente e indexarlo y archivarlo manualmente?
Del mismo modo, el papel de un administrador del sistema (no parte del equipo quirúrgico de Mills, sino parte de un equipo multifuncional típico de los últimos años) está siendo obsoleto por conceptos como DevOps (absorbiendo el papel de Sysadmin en el papel de ingeniero de software) , Plataforma como servicio, Infraestructura como servicio e Informática de servicios públicos (haciendo del rol de Sysadmin "el problema de otra persona") o Infraestructura como código (convirtiendo la Administración del sistema en Ingeniería de software).
Uno de los aspectos que tratamos de evitar hoy en día es que, como máximo, dos personas entienden el sistema. Solo el cirujano tiene la garantía de comprender completamente el sistema, el copiloto puede o no. Esto da un factor de bus de entre 1 y 2. Si el cirujano se enferma, el proyecto está muerto. Período. La respuesta ágil a eso es la propiedad del código colectivo, que es exactamente lo contrario de ese modelo: nadie es el único responsable de ninguna parte del sistema. En cambio, todos son responsables de todo como grupo .
Por último, hay algunas suposiciones integradas en ese concepto, que están desactualizadas. Por ejemplo, aunque no se indique explícitamente, el equipo está configurado de tal manera que solo una persona del equipo (el cirujano) tiene una computadora. Eso es, por supuesto, porque en el momento en que se escribió el artículo, incluso la idea de que todo un equipo tendría una computadora para ellos, y mucho menos una persona en el equipo, era una exageración. (Incluso en 1980, cuando se lanzó Smalltalk, una de las cosas que contribuyó a su falla fue el hecho de que el sistema estaba configurado de tal manera que cada desarrollador y cada usuario tenían su propia computadora, completamente impensable en ese momento).
En resumen: no creo que el concepto se haya implementado exactamente como se describe, pero algunos aspectos definitivamente se implementan, algunos se consideran indeseables y se evitan activamente, algunos son obsoletos y otros son probablemente Good Ideas ™, Pero nadie lo hace.