Born in 1929, Winston W. Royce was an American computer scientist and the director of the Lockheed Software Technology Center in Austin, Texas. Thanks to his 1970 paper, Managing the development of large software systems, he is credited as a product pioneer.
Royce's long-string of accomplishments started at the California Institute of Technology. Here, he earned a BS in physics, an MS in aeronautical, and a Ph.D. in aeronautical engineering.
After completing his education, Royce briefly worked as an assistant professor at Caltech. In 1961, he accepted a position as a project manager at TRW, an American corporation that developed and built spacecraft.
Because most of Royce’s projects involved complex systems, he started looking for ways to improve their management process.
To simplify his mission planning and orbit selection projects, Winston W. Royce began creating new methodologies. His efforts built up to the famous 1970 paper, Managing the development of large software systems, in which he described the waterfall methodology — a process that is familiar to product managers to this day.
In the years that followed, Royce developed other methodologies that streamlined project management. He is also responsible for coining the terms ‘software systems engineering’ and "software architecture’"
Royce’s career culminated with his position as director of the Lockheed Software Technology Center, one of the most successful research and tech development aerospace companies.
Royce was more than a highly successful project manager who improved processes in aeronautics. His love for technology and computers, combined with his passion for management, led him to break new ground for product managers.
Royce is best known for paving the way for the waterfall methodology. While some argue that he is not, in fact, the sole pioneer of this method, it's undeniable that he played an essential role in shaping it.
Royce was disappointed with the traditional two-stage development approach of analysis and coding. Looking to improve project management, he suggested adding extra steps in the case of complex projects.
Royce never called his new method "waterfall", but he clearly outlined its stages by defining seven steps: systems requirements, software requirements, analysis, design, coding, testing, and operation.
Although he did not coin the term for the waterfall methodology, Royce did come up with the term "software system engineering" (SwSE) in the early 1980s. In short, SwSE is both a technical and a management process that tackles products holistically. This too was created by Royce as a way to improve product management.
Royce also brought meaningful ideas to the field of software architecture. In his 1991 article Software Architecture: Integrating Process and Technology, Royce expanded on the connections between architecture and software development.
The waterfall methodology changed software development by providing logic and structure that previous processes were lacking.
Following a seven-step approach, the method focuses on one stage at a time, aiming to eliminate uncertainty — and give teams thorough documentation upfront.
The waterfall methodology was revolutionary. Usually, development was completed in just two steps, with teams first analyzing a project and then starting to code. However, this way of working fell short in the case of complex projects, where the amount of information was too big to digest in just two stages.
That's why Royce proposed breaking down the process into seven consecutive steps: systems requirements, software requirements, analysis, design, coding, testing, and operation. In the waterfall method, no stage could begin until the previous one had been completely finalized.
By dedicating a lot more time to proper documentation, the quality of the projects improved. Teams had more clarity and a better idea of what they were working on. What’s more, departments were better aligned and had the chance to reassess their initial hypothesis in the testing phase.
As technology advanced, the waterfall method began to show its shortcomings. Today, requirements often have to be continuously assessed and updated, so most project managers prefer alternative methodologies that are more flexible. That doesn't mean, though, that there is no room left for the waterfall method. In fact, specific projects can still be more successful by using it.
Even if the appeal of the waterfall methodology has faded over the years, it can still be used successfully to approach specific projects.
Today, Royce's waterfall method can be used in scenarios when:
Client expectations are not subject to change
Requirements are precise, clear and set-in-stone
The project has a well-determined scope and is not too complex
Budget is limited
The development timeline is short
The project team is stable and thoroughly trained
In essence, the method works best for projects that are limited in scope. For these types of projects, the logical and linear nature of the waterfall methodology helps to develop a straightforward approach.