Publicado originalmente por el Centro Markkula de Ética Aplicada Wayne Davidson es ingeniero de software en la división aeroespacial de Occidental Engineering, una gran empresa de ingeniería. Durante los últimos dos años ha estado trabajando como ingeniero de pruebas para Operation Safe Skies, un proyecto para construir un prototipo del sistema de control de tráfico aéreo de próxima generación. Este proyecto, financiado por un contrato de la Agencia Federal de Aviación (FAA), es muy importante para Occidental. Con todos los recortes en el gasto de defensa, la división aeroespacial ha estado perdiendo negocios. El proyecto Safe Skies ha proporcionado negocios muy necesarios y podría dar lugar a un contrato mucho más grande si tiene éxito. Consciente de su importancia estratégica, la compañía había ofertado muy agresivamente por el contrato original. De hecho, lo habían "rebajado", haciendo una oferta menor de lo que se necesitaría para hacer el trabajo correctamente. Sintieron que esa era la única forma en que podían vencer a sus competidores, que tenían tanta hambre por el trabajo. Debido a su posición financiera un tanto inestable, la compañía no estaba dispuesta a asumir una pérdida en el proyecto, por lo que el proyecto ha sido insuficientemente financiado y con poco personal. Sin embargo, aquellos que trabajan en el proyecto han hecho un esfuerzo heroico, trabajando dieciocho horas al día, siete días a la semana para cumplir con la fecha límite, porque saben cuánto significa para la compañía, sin mencionar sus propios trabajos. Ahora están muy cerca del éxito. trabajando dieciocho horas al día, siete días a la semana para cumplir con la fecha límite, porque saben cuánto significa para la empresa, sin mencionar sus propios trabajos. Ahora están muy cerca del éxito. trabajando dieciocho horas al día, siete días a la semana para cumplir con la fecha límite, porque saben cuánto significa para la empresa, sin mencionar sus propios trabajos. Ahora están muy cerca del éxito. Se ha completado una versión del prototipo y se la entregó a Wayne para que la pruebe. Ha realizado simulaciones extensas y descubrió que funciona como debería, excepto por un pequeño problema. Cuando hay demasiados aviones en el sistema, a veces perderá el rastro de uno o más de ellos. El avión "olvidado" simplemente desaparecerá de la pantalla, no habrá rastro de él en ninguna parte, y será ignorado por todas las pruebas de seguridad y otras pruebas de seguridad. Wayne ha estado trabajando con los diseñadores de software para identificar la causa del problema, y lo han rastreado hasta un error sutil en la asignación y reutilización de la memoria. Confían en que pueden arreglarlo, pero llevará un mes o más hacer el rediseño, la codificación y las pruebas. Wayne se reúne con su jefe, Deborah Shepherd, la gerente del proyecto, para discutir las implicaciones. Ella le dice que lo que está pidiendo es imposible. El contrato requiere que la compañía entregue una versión del software totalmente certificada y funcional en tres días para la integración y prueba del sistema. El gobierno ha desarrollado una nueva política difícil de cumplir con los plazos vencidos y los excesos de costos, y Occidental teme que si no cumplen con este plazo, el gobierno dará un ejemplo de ellos. Estarían sujetos a multas y a la pérdida del resto del contrato prototipo; y es posible que no se les permita ofertar por el contrato para el sistema completo. Esto tendría un efecto devastador en la división aeroespacial, resultando en miles de empleos perdidos. Consideran si pueden hacer un parche rápido al software antes de entregarlo, pero Wayne se niega rotundamente a liberar cualquier código que no haya sido probado a fondo. Siempre existe la posibilidad de que el parche interactúe con alguna otra parte del programa para crear un nuevo error. "Entonces tendremos que entregar el software tal como está", dice Deborah. "No puedo poner en peligro este proyecto o los trabajos de mi gente al perder ese plazo". "¡No podemos hacer eso!" exclama Wayne. "Eso es como entregar un automóvil con frenos defectuosos". "No te preocupes", lo tranquiliza Deborah. "Tenemos contactos en la FAA, por lo que conocemos sus planes de prueba. Harán muchas simulaciones para asegurarse de que el software funcione con el hardware y tenga toda la funcionalidad en las especificaciones. Luego harán pruebas en vivo, pero solo en un aeropuerto pequeño, con un sistema de respaldo activo en todo momento. No hay forma de que sobrecarguen el sistema en nada de esto. Después de eso tendrán algunas solicitudes de cambio. Incluso si no lo hacen, podemos darles una versión actualizada del programa. Podemos deslizar la corrección de errores allí. Nunca verán el problema. Incluso si lo hacen, podemos afirmar que fue un hecho aleatorio que no necesariamente se mostraría en nuestras pruebas. Lo importante es que nadie en cualquier peligro ". "Tal vez no encuentren el error, pero sé que está ahí. Mentiría si dijera que el sistema pasó todas las pruebas necesarias. No puedo hacer eso. De todos modos, sería ilegal y poco profesional". "Puede certificar que es seguro, porque lo es, la forma en que lo van a usar". Y así lo hace. Al final, Wayne cierra la sesión en el software. Se entrega a la FAA y pasa por todas las pruebas preliminares, incluidas las pruebas en vivo en un pequeño aeropuerto en el Medio Oeste. Como resultado de estas pruebas, la FAA solicita algunos cambios en la interfaz de usuario, y cuando Occidental entrega el nuevo software, incluye una solución sólida al problema de la desaparición de la aeronave. Nadie fuera del grupo de Deborah se entera del problema. De hecho, el éxito de Occidental con el prototipo lleva a importantes contratos para el software de control de tráfico aéreo, dando negocios muy necesarios a la división aeroespacial. Esto ahorra cientos de trabajos y permite a la compañía agregar cientos más. Wayne Davidson, sin embargo, se jubila anticipadamente una vez que finaliza el proyecto prototipo, para escribir un libro sobre pruebas de software. Siente que el libro debería tener un capítulo sobre ética, pero nunca puede escribirlo. ¿Qué opinas sobre la decisión de Wayne? ¿Fue ético?