Royce'un 10 Ağustos 1990'da yaptığı bir konuşmadan
Winston Walker Royce (15 Ağustos 1929 - 7 Haziran 1995), Austin, Teksas'takiLockheed Yazılım Teknoloji Merkezi'nde yöneticilik yapmış olan Amerikalı bir bilgisayar bilimcisiydi.
Royce, kariyerine California Teknoloji Enstitüsü'nde Yardımcı Doçent olarak başlamıştı. 1961'de TRW'nin havacılık bölümünde proje yöneticisi olarak başladı. İlk projesi, uzay aracı için bir görev planlama ve yörünge seçme sisteminin tasarımıyla ilgiliydi. Sonraki yıllarda çeşitli büyük ve karmaşık yazılım sistemlerinin araştırma ve geliştirmesine dahil oldu ve yazılım projesinin yönetimini iyileştirmek için yeni metodolojiler geliştirmeye başladı.[2] 1970 yılında, şu anda şelale, yinelemeli ve çevik olarak bildiğimiz şeyler de dahil olmak üzere çeşitli proje yönetimi modellerini sunduğu " Büyük yazılım sistemlerinin gelişimini yönetmek " adlı etkili makalesini yayınladı.[3] 1985 yılında AIAA Bilgi Sistemleri Ödülü'nü aldı.[4] 1980'lerde Austin, Texas'taki Lockheed Yazılım Teknoloji Merkezi'nde direktörlük yaptı. 1994 yılında emekli oldu ve ertesi yıl Virginia, Clifton'daki evinde öldü.[5]
En büyük oğlu, IBM'in Rational bölümünün Baş Yazılım Ekonomisti ve "Software Project Management, A Unified Framework" yazarı ve IBM Rational Unified Process'in doğasında bulunan yönetim felsefesine başlıca katkıda bulunan Walker Royce'dur.[6]
Royce'un 1970 tarihli makalesi, genellikle yazılım sürecinin aşamalı "şelale" modelini tanımlayan makale olarak kabul edilir.Ancak, hem önceki Benington ve Hosier makalelerinin şelale modeline iyi yaklaşımları olduğunu hem de Royce'un makalesinin şelale modeliyle uyumlu temel bir adım olarak prototip oluşturmayı zaten içerdiğini görmek şaşırtıcı.[7]
Aslında Royce, büyük yazılım sistemlerinin geliştirilmesi daha kapsamlı bir yaklaşım gerektirse de, tek geçişli sıralı bir yaklaşımda doğal bir risk olduğunu gösterdi. Yinelemeli bir yaklaşım önerdi ve projelerin bundan en az iki kez geçmesi gerektiğini savundu.
Royce, 1970 tarihli makalesine 'Büyük yazılım sistemlerinin gelişimini yönetmek' adlı makalesine fikirlerinin kökeni hakkında bir açıklama yaparak başladı:
Büyük yazılım geliştirmelerini yönetme konusundaki kişisel görüşlerimi anlatacağım.Son dokuz yılda, çoğunlukla uzay aracı görev planlaması, komuta etme ve uçuş sonrası analiz için yazılım paketlerinin geliştirilmesiyle ilgili çeşitli görevler aldım.Bu görevlerde, operasyonel duruma, zamanında ve maliyet dahilinde ulaşma konusunda farklı başarı dereceleri deneyimledim.Deneyimlerimden dolayı önyargılı hale geldim ve bu önyargıların bazılarını bu sunumda anlatacağım.[3]
Royce, boyut veya karmaşıklıktan bağımsız olarak bilgisayar programlarının geliştirilmesinin iki geliştirme aşamasına ayrılabileceğini belirlemişti: Analiz ve Kodlama. Küçük yazılım geliştirme projeleri için bu iki adım yeterliydi, ancak daha büyük yazılım sistemlerinin geliştirilmesi için yeterli değildi. Bunlar, gelişime yinelemeli bir karakter kazandıran birçok ek adım gerektirir.[3]
1989. "Lockheed'in Yazılım Teknoloji Merkezi". İçinde: Modern yazılım mühendisliği, temeller ve güncel bakış açıları. Peter A. Ng (ed.). Van Nostrand Reinhold Co. s. 561–578.
1991. "Güncel problemler." İçinde: Havacılık ve Uzay Yazılım Mühendisliği, Christine Anderson ve Merlin Dorfman tarafından düzenlenmiş, 5-15. Washington, DC: Amerikan Havacılık ve Uzay Bilimleri Enstitüsü.
1991. "Yazılım Mimarisi: Entegrasyon Süreç ve Teknoloji", Walker Royce ile TRW Quest, cilt. 14, hayır. 1, s. 2–15.
^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