윈스턴 로이스

🏷️ 인물

개요

윈스턴 W. 로이스(Winston W. Royce, 1929~1995)는 미국 항공우주 분야 출신의 소프트웨어 공학자입니다. 1970년 IEEE WESCON 컨퍼런스에서 발표한 논문 "Managing the Development of Large Software Systems"로 후대에 이름을 남겼습니다. 이 논문은 흔히 "워터폴 모델의 원조"로 인용되지만, 실제 내용은 그 반대에 가깝습니다. 로이스 본인은 순수 선형 개발 흐름을 비판하고 반복적 개발과 프로토타이핑을 강력히 권장했습니다.

생애

로이스는 캘리포니아 공과대학교(Caltech)에서 물리학 학사, 항공공학 석사를 거쳐 1959년 항공공학 박사학위를 취득했습니다. 박사 지도교수는 Julian David Cole이었으며, 학위 논문 주제는 비양력 세장형 회전체 주변의 천음속 유동이었습니다. 졸업 후 Caltech에서 조교수로 잠시 재직하다가, 1961년 항공우주 기업 TRW의 항공우주 부문 프로젝트 매니저로 이직했습니다. 첫 프로젝트는 우주선의 임무 계획과 궤도 선정 시스템 설계였습니다.

1970년 WESCON에서 해당 논문을 발표할 당시 그는 9년에 걸친 대형 우주 소프트웨어 프로젝트 경험을 바탕으로 현장에서 직접 얻은 교훈을 정리해 발표했습니다. 이후 1980년대에는 텍사스 주 오스틴에 위치한 Lockheed Software Technology Center 책임자로 일했습니다. 1994년 은퇴했으며 이듬해인 1995년 버지니아 주 클리프턴 자택에서 세상을 떠났습니다. 아들 Walker RoyceRational Software 부사장을 지낸 소프트웨어 공학자로, 부자가 모두 이 분야에 족적을 남겼습니다.

업적

로이스의 1970년 논문은 소프트웨어 공학 역사에서 가장 자주 오독되는 문헌 중 하나입니다. 그는 논문 첫 다이어그램으로 요구사항, 설계, 분석, 프로그램 설계, 코딩, 테스트, 운영으로 이어지는 선형 흐름을 제시한 뒤, 곧바로 이 방식이 "위험하고 실패를 낳는다(risky and invites failure)"고 기술했습니다. 그리고 이에 대한 대안으로 세 가지를 명시적으로 제안했습니다. 먼저 프로토타입 먼저 만들기("do it twice")로 설계 가정을 초기에 검증해야 한다고 주장했습니다. 다음으로 설계 초기부터 고객과 사용자를 참여시켜 피드백을 반영해야 한다고 강조했습니다. 마지막으로 문서화와 반복을 통해 각 단계에서 피드백을 수용하며 개발을 진행해야 한다고 제안했습니다.

그러나 후대의 엔지니어들과 미 국방부 관료들이 첫 페이지 다이어그램만 인용하면서, 로이스가 비판한 모델이 역설적으로 그의 이름을 달고 정립되었습니다. 1985년 미 국방부의 DOD-STD-2167 표준이 선형 모델을 공식 채택하면서 워터폴은 수십 년간 주류 개발 방법론으로 자리잡았습니다. 로이스 본인은 "워터폴"이라는 용어를 사용하지 않았으며, 자신이 제시한 선형 흐름 다이어그램이 표준으로 채택되는 결과를 원하지 않았습니다.

여담

로이스의 논문은 30년 후 등장한 애자일 선언문의 핵심 원칙들을 이미 예고하고 있었습니다. 고객 참여, 반복 개발, 초기 프로토타이핑이라는 세 가지 권고는 2001년 애자일 선언문이 명문화한 내용과 거의 일치합니다. 이 때문에 일부 연구자들은 로이스를 "애자일의 30년 선조"로 재평가합니다. 아이러니하게도 그를 워터폴의 아버지로 부르는 관행은 논문을 끝까지 읽지 않은 인용 관행에서 비롯된 것입니다. "논문을 제대로 읽은 사람이 그가 워터폴을 옹호했다고 말할 수는 없다"는 평가가 소프트웨어 공학 역사 연구에서 반복해서 등장합니다.

주요 논문