HOME

TheInfoList



OR:

Winston Walker Royce (August 15, 1929 – June 7, 1995) was an American
computer scientist A computer scientist is a person who is trained in the academic study of computer science. Computer scientists typically work on the theoretical side of computation, as opposed to the hardware side on which computer engineers mainly focus (a ...
, director at Lockheed Software Technology Center in
Austin, Texas Austin is the capital city of the U.S. state of Texas, as well as the seat and largest city of Travis County, with portions extending into Hays and Williamson counties. Incorporated on December 27, 1839, it is the 11th-most-populous city ...
. He was a pioneer in the field of
software development Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development invo ...
,Dr. Winston W. Royce (1929–1995)
at www.informatik.uni-bremen.de. Retrieved Oct 27, 2008.
known for his 1970 paper from which the
Waterfall model The waterfall model is a breakdown of project activities into linear sequential phases, meaning they are passed down onto each other, where each phase depends on the deliverables of the previous one and corresponds to a specialization of tasks. ...
for
software development Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development invo ...
was mistakenly drawn.


Biography

Born in 1929, Royce entered the
California Institute of Technology The California Institute of Technology (branded as Caltech or CIT)The university itself only spells its short form as "Caltech"; the institution considers other spellings such a"Cal Tech" and "CalTech" incorrect. The institute is also occasional ...
, where he received his BS in
physics Physics is the natural science that studies matter, its fundamental constituents, its motion and behavior through space and time, and the related entities of energy and force. "Physical science is that department of knowledge which ...
, his MS in
aeronautical engineering Aerospace engineering is the primary field of engineering concerned with the development of aircraft and spacecraft. It has two major and overlapping branches: aeronautical engineering and astronautical engineering. Avionics engineering is sim ...
and in 1959 his PhD in
aeronautical engineering Aerospace engineering is the primary field of engineering concerned with the development of aircraft and spacecraft. It has two major and overlapping branches: aeronautical engineering and astronautical engineering. Avionics engineering is sim ...
under Julian David ColeChristine Anderson, Merlin Dorfman (1991) ''Aerospace software engineering: a collection of concepts'' with the thesis ''Transonic flow over a non-lifting, slender body of revolution''. Royce had begun his career as assistant professor at the California Institute of Technology. In 1961 he started as
project manager A project manager is a professional in the field of project management. Project managers have the responsibility of the planning, procurement and execution of a project, in any undertaking that has a defined scope, defined start and a defined ...
in the
aerospace Aerospace is a term used to collectively refer to the atmosphere and outer space. Aerospace activity is very diverse, with a multitude of commercial, industrial and military applications. Aerospace engineering consists of aeronautics and ast ...
division of TRW. His first project concerned the design of a mission planning and orbit selection system for
spacecraft A spacecraft is a vehicle or machine designed to fly in outer space. A type of artificial satellite, spacecraft are used for a variety of purposes, including communications, Earth observation, meteorology, navigation, space colonization, ...
. 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 project. In 1970 he published his influential article "''Managing the development of large software systems''", in which he presented several
project management Project management is the process of leading the work of a team to achieve all project goals within the given constraints. This information is usually described in project documentation, created at the beginning of the development process. T ...
models, including what we now know as
waterfall A waterfall is a point in a river or stream where water flows over a vertical drop or a series of steep drops. Waterfalls also occur where meltwater drops over the edge of a tabular iceberg or ice shelf. Waterfalls can be formed in several ...
,
iterative Iteration is the repetition of a process in order to generate a (possibly unbounded) sequence of outcomes. Each repetition of the process is a single iteration, and the outcome of each iteration is then the starting point of the next iteration. ...
, and agile. In 1985, he received the
AIAA The American Institute of Aeronautics and Astronautics (AIAA) is a professional society for the field of aerospace engineering. The AIAA is the U.S. representative on the International Astronautical Federation and the International Council of t ...
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 Clifton is an incorporated town located in southwestern Fairfax County, Virginia, United States, with a population of 282 at the time of the 2010 census, up from 185 at the 2000 census. Incorporated by the General Assembly on March 9, 190 ...
. His eldest son is Walker Royce, Chief Software Economist of IBM's Rational division, and author of "Software Project Management, A Unified Framework", and a principal contributor to the management philosophy inherent in the IBM
Rational Unified Process The Rational Unified Process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003. RUP is not a single concrete prescriptive process, but rather an adaptable proce ...
.


Work


Managing the development of large software systems

The
Waterfall model The waterfall model is a breakdown of project activities into linear sequential phases, meaning they are passed down onto each other, where each phase depends on the deliverables of the previous one and corresponds to a specialization of tasks. ...
for
software development Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components. Software development invo ...
is mistakenly attributed to Royce.
Barry Boehm Barry William Boehm (May 16, 1935 – August 20, 2022) was an American software engineer, distinguished professor of computer science, industrial and systems engineering; the TRW Professor of Software Engineering; and founding director of the Cen ...
wrote in 1987: :''Royce's 1970 paper is generally considered to be the paper which defined the stagewise "waterfall" model of the software process. But it is surprising to see both that the earlier Benington and Hosier papers had good approximations to the waterfall model, and that Royce's paper already incorporates prototyping as an essential step compatible with the waterfall model.''Barry W. Boehm (1987). "Software Process Management: Lessons Learned from History" in ICSE '87 Proceedings of the 9th international conference on Software Engineering pp 296-298 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: :''I am going to describe my personal views about managing large software developments. I have had various assignments during the past nine years, mostly concerned with the development of software packages for spacecraft mission planning, commanding and post-flight analysis. In these assignments I have experienced different degrees of success with respect to arriving at an operational state, on-time, and within costs. I have become prejudiced by my experiences and I am going to relate some of these prejudices in this presentation.''Winston W. Royce (1970)
"Managing the Development of Large Software Systems"
in: ''Technical Papers of Western Electronic Show and Convention ''(WesCon) August 25–28, 1970, Los Angeles, USA.
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, although he never used the term ''waterfall'' nor advocated it as an effective
methodology In its most common sense, methodology is the study of research methods. However, the term can also refer to the methods themselves or to the philosophical discussion of associated background assumptions. A method is a structured procedure for br ...
. 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, and * Operation He called them "implementation steps to develop a large computer program for delivery to a customer". Royce foresaw a major shortcoming in this methodology, which he described as: :''The testing phase which occurs at the end of the development cycle is the first event for which timing, storage, input/output transfers, etc., are experienced as distinguished from analyzed. These phenomena are not precisely analyzable. They are not the solutions to the standard partial differential equations of mathematical physics for instance. Yet if these phenomena fail to satisfy the various external constraints, then invariably a major redesign is required. A simple octal patch or redo of some isolated code will not fix these kinds of difficulties. The required design changes are likely to be so disruptive that the software requirements upon which the design is based and which provides the rationale for everything are violated...'' According to Royce in the process model "the design iterations are never confined to the successive step", and for that model without iteration is "risky and invites failure". As alternative Royce proposed a more incremental development, where every next step links back to the step before. The 'classical' waterfall model is figure 2. The models get incrementally more refined up to figure 10. Royce says about the figure 4 model: :''I believe the illustrated approach to be fundamentally sound.''


Software system engineering

In the early 1980s Winston Royce coined the term "software system engineering" (SwSE) at one of the seminars of the Management of Software Acquisition course at the Defense Systems Management College at Fort Belvoir, Va.Richard Hall Thayer (2002). "Software System Engineering: A Tutorial". In: ''Computer'', Apr. 2002. According to Richard H. Thayer, emeritus professor in software engineering at California State University, Sacramento, software system engineering is concerned with "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 and Royce describe the connection between architecture and the software development process. According to
Philippe Kruchten Philippe Kruchten (born 1952) is a Canadian software engineer, and Professor of Software Engineering at University of British Columbia in Vancouver, Canada, known as Director of Process Development (RUP) at Rational Software, and developer of the ...
et al. (2006) this article was the first "to position
software architecture Software architecture is the fundamental structure of a software system and the discipline of creating such structures and systems. Each structure comprises software elements, relations among them, and properties of both elements and relations. ...
— in both title and perspective — between technology and process."


See also

*
Systems development life cycle In systems engineering, information systems and software engineering, the systems development life cycle (SDLC), also referred to as the application development life cycle, is a process for planning, creating, testing, and deploying an informa ...


Publications

Royce published several books and articles.Royce Winston
an

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 Edward Nash Yourdon (April 30, 1944 – January 20, 2016) was an American software engineer, computer consultant, author and lecturer, and software engineering methodology pioneer. He was one of the lead developers of the structured analysis tech ...
. Articles, a selection: * 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, p. 2–15. * 1992.
Status Report: Computer-Aided Prototyping
. With Walker Royce. In: ''IEEE Software'' Vol 9 (6): p. 77–81


References

{{DEFAULTSORT:Royce, Winston W. 1929 births 1995 deaths American computer scientists American software engineers People from Clifton, Virginia Scientists from Virginia