Esta respuesta se basa en un conocimiento de primera mano MUY LIMITADO de cómo algunas agencias gubernamentales han manejado el trabajo de fabricación, y no presumo que el desarrollo de software es muy diferente en los niveles de escritura de códigos.
Cuando los fabricantes de productos de seguridad nacional necesitan algo “secreto” hecho, generalmente tomarán el diseño y lo dividirán entre varios fabricantes independientes. Y para ser claros, no nos estamos refiriendo al “Servicio Secreto” ni nada de eso; El propio gobierno no está involucrado en la fabricación directa tanto como los fabricantes de complejos industriales militares. Corporaciones como Lockheed Martin, Raytheon, BAE, General Dynamics o muchas otras.
Tomemos un motor a reacción, por ejemplo. Digamos, por ejemplo, Pratt & Whitney está trabajando en un proyecto para actualizar el motor para el F-16 de modo que proporcione un empuje más eficiente y minimice la firma de calor. (Cosas emocionantes, ¿verdad?)
- ¿Te reconocerá la industria si te llamas desarrollador de software pero no has desarrollado software por más de 10 años?
- ¿'The Zone' es realmente malo para la productividad del equipo de desarrollo de software?
- ¿Cuáles son los problemas comunes o el comportamiento impredecible que enfrentan los desarrolladores al desarrollar o entregar códigos de software multiproceso o concurrentes?
- ¿Cuáles son los componentes del software y las diferentes fases del desarrollo del software?
- ¿Cuál es el mejor, iPad o MacBook, para desarrolladores?
Cómo adquirieron este proyecto no está dentro del alcance de esta respuesta. No hace falta decir que han diseñado un conjunto dentro del conjunto mayor, y ahora necesitan construir un prototipo del conjunto para probarlo. Sus analistas analizan algunos números y descubren que sería más barato contratar parte del trabajo con otras empresas e individuos que están alquilando tiempo en sus máquinas CNC, o lo que sea que tengan.
Por lo tanto, un representante de Pratt y Whitney puede ponerse en contacto con su proveedor de adquisiciones, quien revisará su lista de compañías que están dispuestas y tienen capacidad y capacidad técnica para hacer el trabajo. Se crean ofertas, se firman contratos y las máquinas CNC comienzan a zumbar felizmente produciendo varias piezas necesarias para este ensamblaje.
Ahora aquí es donde mi experiencia personal, se queda corta. Uno supone que estas partes son reunidas y ensambladas por Pratt y Whitney u otro contratista, pero para el propósito de esta respuesta, he ilustrado mi punto. Verá, los contratistas individuales no conocen la imagen completa, por lo que individualmente el conocimiento es incompleto y las partes son básicamente inútiles.
Ahora, volviendo a tu pregunta. En cuanto a los proyectos de ingeniería de software, estoy seguro de que hay un puñado de “empleados clave” dentro de la infraestructura del diseñador o tal vez incluso de la propia agencia gubernamental. Sin embargo, según los modelos de fabricación existentes, especulo que al menos parte del código real del software probablemente sea escrito por contratistas individuales.
Supongo que los ciclos de desarrollo de software emplean un método similar para decirle a un desarrollador que “necesitamos” tal y tal “módulo / paquete / biblioteca / API para tomar entradas x, y, z, realizar alguna acción específica y salida i, j, k salidas ”. Esto divide en compartimientos la seguridad requerida razonablemente sin que tengan que amenazar con secuestrar a miembros de la familia o encerrar a todos en un búnker en medio de un desierto.
En resumen, muy, muy pocas personas tienen una visión completa de cualquier tipo de esfuerzo involucrado en el desarrollo de tecnología secreta, ya sea tangible o no. Quién sabe; Si usted es un desarrollador de software en alguna fábrica de explotación, podría estar trabajando en algo “secreto”, también, en el transcurso de su carrera, sin darse cuenta. Dejaré volar tu imaginación con las implicaciones de esto.
La próxima vez que su gerente le dé algo que “simplemente no tiene sentido porque funcionaría mucho mejor si fuera como ‘xyz’, pero DEBEN tenerlo exactamente como ‘zyx’, y cuando pregunta ‘por qué’ todos se encogen de hombros … “nunca se sabe. Es posible que esté trabajando en una pieza muy pequeña de una versión de Internet de un arma termonuclear. O un filtro de spam. Sí, definitivamente un “filtro de spam”! Un filtro de correo no deseado basado en el aprendizaje automático que codifica y genera misteriosamente la capa oculta del entrenador de la red neuronal para el procedimiento de llamada. Para investigación”. * guiño * (Espera, hay un golpe en mi puerta; ya vuelvo …)
Ahora, podría estar equivocado, pero si nada más, la especulación es un ejercicio divertido. De hecho, esta presunción plantea muchas preguntas sobre cómo se ejecuta el ciclo de vida del desarrollo de software y cómo se manejan los comentarios de los usuarios. En cualquier caso, esperaría que su CRM sea una pesadilla con la que lidiar debido a todas las comunicaciones de segunda mano y los factores perdidos en la traducción, por lo que tal vez me equivoque. Tal vez secuestran a miembros de la familia y encierran a todos en bunkers del desierto. Tal vez…
Gracias por la pregunta!