Winston Walker Royce (August 15, 1929 – June 7, 1995) was an American computer scientist and former director at Lockheed Software Technology Center in Austin, Texas. He was a pioneer in the field of software development,Dr. Winston W. Royce (1929–1995). University of Bremen. Retrieved October 27, 2008. . known for his 1970 paper from which the Waterfall model was mistakenly drawn.
Biography Born in 1929, Royce entered the California Institute of Technology, where he received a BS in physics and an MS in aeronautical engineering. In 1959 he received a PhD in aeronautical engineering under Julian David Cole, with the thesis "Transonic flow over a non-lifting, slender body of revolution."
Royce began his career as an assistant professor at the California Institute of Technology, before becoming a project manager in the aerospace division of TRW in 1961. His first project concerned the design of a mission planning and orbit selection system for spacecraft. In the following years, he was involved in the research and development of several large and complex software systems, and started developing new methodologies for improving the management of software projects.
In 1970 he published the influential article "Managing the development of large software systems", in which he presented several project management models, including what we now know as the waterfall, iterative, and agile models.
In 1985, he received the AIAA Information Systems Award. During the 1980s, he was director at Lockheed Software Technology Center in Austin, Texas. He retired in 1994 and died the following year at his home in Clifton, Virginia.
His eldest son is Walker Royce, chief software economist of IBM's Rational division, author of Software Project Management: A Unified Framework, and a principal contributor to the management philosophy inherent in the IBM Rational Unified Process.
Work
"Managing the development of large software systems"
The Waterfall model for software development is mistakenly attributed to Royce. Barry Boehm wrote in 1987:
In fact, Royce demonstrated that while the development of large software systems required a more thorough approach, there was inherent risk in a single-pass sequential approach. He proposed an iterative approach, and advocated that projects should pass through this at least twice.
Royce started his 1970 article "Managing the development of large software systems" with a statement about the origin of his ideas:
Royce had determined that the development of computer programs, regardless of size or complexity, could be split into two development stages: Analysis and Coding. For small software development projects, these two steps were sufficient, but not for the development of larger software systems. These require many additional steps back and forth, which gives the development an iterative character.
To picture this iterative development, Royce proposed a number of approaches, though never using the term waterfall nor advocating it as an effective methodology. The earliest use of the term "waterfall" may have been a 1976 paper by Bell and Thayer.
Royce pictured the waterfall model with the following seven steps: Systems requirements Software requirements Analysis Program design Coding Testing Operation Calling them "implementation steps to develop a large computer program for delivery to a customer", Royce foresaw a major shortcoming in this methodology:
According to Royce, in the process model, "the design iterations are never confined to the successive step", and that model without iteration is "risky and invites failure". As an alternative, Royce proposed a more incremental development, in which every next step links back to the step before. The 'classical' waterfall model is figure 2. The models become incrementally more refined up to figure 10. Royce says about the figure 4 model:
Software system engineering In the early 1980s, Royce coined the term "software system engineering" (SSE) at a seminar for the Management of Software Acquisition course at the Defense Systems Management College in Fort Belvoir, Virginia.
According to Richard H. Thayer, emeritus professor in software engineering at California State University, Sacramento, "applying system engineering principles specifically to the development of large, complex software systems provides a powerful tool for process and product management." Software system engineers can take responsibility for the "overall technical management of the system and the verification of the final system products."
Software architecture In the 1991 article: Software Architecture: Integrating Process and Technology, Royce described the connection between architecture and the software development process. According to Philippe Kruchten et al. (2006) this article was the first "to position software architecture — in both title and perspective — between technology and process."
See also Systems development life cycle
Publications Royce published several books and articles.Royce Winston and W. W. Royce List of publications from the DBLP Bibliography Server. Books 1959. Transonic flow over a non-lifting, slender body of revolution. Pasadena : California Institute of Technology, 1959. 1997. Software Engineering Project Management. 2nd edition. With R. Thayer & Ed Yourdon.
Selected articles 1970. "Managing the Development of Large Software Systems", Proceedings of IEEE WESCON 26 (August): 1–9. 1989. "Lockheed's Software Technology Center". In: Modern software engineering, foundations and current perspectives. Peter A. Ng (ed.). Van Nostrand Reinhold Co. p. 561–578. 1990. "Dr. Win Royce Process Round Table Aug. 10th 1990" 1991. "Current Problems." In: Aerospace Software Engineering, edited by Christine Anderson and Merlin Dorfman, 5–15. Washington, D.C.: American Institute of Aeronautics and Astronautics. 1991. "Software Architecture: Integrating Process and Technology", with Walker Royce in TRW Quest, vol. 14, no. 1, pp. 2–15. 1992. "Status Report: Computer-Aided Prototyping". With Walker Royce. In: IEEE Software Vol 9 (6): p. 77–81
References