Winston W. Royce (1929 – 7 de junio de 1995) fue un computólogo estadounidense, director en el Centro de Tecnología de Software Lockheed en Austin, Texas. Fue un pionero en el campo de ingeniería de software,[1] conocido por su papel en 1970 el cual el modelo en cascada de ingeniería de software se extrajo por error.[2]
Winston W. Royce | ||
---|---|---|
Winston W. Royce en 1990 | ||
Información personal | ||
Nombre de nacimiento | Winston Walker Royce | |
Nacimiento | 15 de agosto de 1929 | |
Fallecimiento | 7 de junio de 1995 | (65 años)|
Nacionalidad | Estadounidense | |
Educación | ||
Educado en | Instituto de Tecnología de California | |
Supervisor doctoral | Julian Cole | |
Información profesional | ||
Ocupación | Informático teórico, ingeniero e ingeniero de software | |
Nacido en 1929, Royce entró al Instituto Tecnológico de California, donde recibió su licenciatura en física, su maestría en ingeniería aeronáutica y en 1959 su doctorado en ingeniería aeronáutica bajo Julian David Cole[3] con la tesis Flujo transónico sobre un no elevado, cuerpo delgado de revolución.
Royce comenzó su carrera como profesor asistente en el Instituto Tecnológico de California. En 1961 empezó como gerente de proyecto en la división aeroespacial de TRW. Su primer proyecto trató sobre el diseño de un sistema de planificación de misión y de selección de la órbita de una nave espacial. En los siguientes años él estuvo involucrado en la investigación y desarrollo de varios sistemas de software, en especial largos y complejos, y comenzó a desarrollar nuevas metodologías para mejorar la administración de los proyectos de software.[4] En 1970 publicó su artículo influyente “Administrando el desarrollo de grandes sistemas de software”, en el cual presentó varios modelos de administración de proyectos, incluyendo, como ahora los conocemos, cascada, iterativo, and ágil.[2] En 1985 recibió el Premio de sistemas de información AIAA.[5] Durante los 1980s él fue director de Centro de Tecnología de Software Lockheed en Austin, Texas. Se retiró en 1994 y murió el año siguiente en su casa en Clifton (Virginia).[6]
Su hijo mayor Walker Royce, jefe de Software Economista en la división racional de IBM, y autor de “Administración de proyectos de software, Una Estructura Unificada”, y principal contribuidor a la administración filosófica inherente en Proceso Unificado de Rational de IBM.[7]
El modelo en cascada para la ingeniería de software se atribuyó erróneamente a Royce. Barry Boehm escribió en 1987:
De hecho Royce demostró que mientras el desarrollo de grandes sistemas de software necesitaran un enfoque más a fondo, no habría riesgo en un solo paso del enfoque secuencial. Él propuso un enfoque iterativo e incremental y abogó para que los proyectos tengan que pasar por esto al menos 2 veces.
Royce comenzó su artículo en 1970 'Administrando el desarrollo de grandes sistemas de software' con una declaración sobre el origen de sus ideas:
Royce determinó que el desarrollo de programas de computadora, sin importar el tamaño o complejidad, se podían separar en 2 etapas de desarrollo: Análisis y programación. Para pequeños proyectos de desarrollo de software estos 2 pasos eran suficientes, pero no para el desarrollo de grandes sistemas de software. Estos requerían muchos pasos adicionales de ida y vuelta, el cual le da al desarrolló un carácter iterativo.[2]
Para representar este desarrollo iterativo Royce propuso una serie de enfoques, aunque él nunca utilizó el término cascada[9] y tampoco lo defendió como una metodología eficaz.[10] El primer uso del término cascada pudo haber sido un documento de 1976 por Bell y Thayer.[11]
Royce representó el modelo cascada con los siguiente 7 pasos:[2]
Las llamó “Pasos de implementación para desarrollar un programa de computadora grande para entregarlo al cliente”. Royce previó una gran deficiencia en esta metodología, la cual describió como:
De acuerdo a Royce en el proceso del modelo “las iteraciones del diseño nunca son limitados a la etapa sucesiva” y por eso el modelo sin iteración es “un riesgo e invita al fracaso”.[2] Como alternativa Royce propuso un desarrollo más incremental, donde cada siguiente paso está ligado con el paso anterior.
A principios de 1980 Winston Royce inventó el término “Ingeniería en sistemas de software" (SwSE, por sus siglas en inglés) en uno de los seminarios del curso de adquisición de administración de software en la Universidad de Administración de Defensa de Sistemas (DSMC, por sus siglas en inglés) en Fort Belvoir, Va.[12]
De acuerdo a Richard H Thayer, profesor en ingeniería de software en la Universidad Estatal de California, Sacramento, ingeniería en sistemas de software está preocupado con “aplicar los principios de ingeniería en sistemas específicamente para desarrollar grandes y complejos sistemas de software que proporcionan una herramienta poderosa para el proceso y la administración del producto”.[12] Ingenieros en sistemas de software pueden tomar la "responsabilidad por la administración técnica global y la verificación de los productos finales del sistema."[12]
En el artículo de 1991 Arquitectura de Software: Integración de Procesos y Tecnología, Royce y Royce describen la conexión entre arquitectura y el proceso de desarrollo de software.[13] De acuerdo con Philippe Kruchten et al. (2006) este artículo fue el primero “en posicionar arquitectura de software entre tecnología y proceso, tanto como en título y como perspectiva.”[14]
Royce publicó varios libros y artículos.[15] Libros
Artículos: