Gümüş Kurşun Yok - No Silver Bullet
" Gümüş Kurşun Yok – Yazılım Mühendisliğinde Öz ve Kaza ", Turing Ödülü sahibi Fred Brooks tarafından 1987'de yazılan yazılım mühendisliği üzerine geniş çapta tartışılan bir makaledir . Brooks, "teknolojide veya yönetim tekniğinde tek başına tek bir gelişme olmadığını, kendi başına verimlilikte, güvenilirlikte ve basitlikte on yıl içinde bir büyüklük mertebesi [on kat] gelişme vaat ediyor ." Ayrıca, donanım geliştirmede olduğu gibi ( Moore yasası ) yazılım geliştirmede "her iki yılda bir iki kat kazanç görmeyi bekleyemeyiz" diyor .
Özet
Brooks iki farklı karmaşıklık türü arasında ayrım yapar: tesadüfi karmaşıklık ve temel karmaşıklık. Bu Aristoteles'in sınıflandırmasıyla ilgilidir. Kazara oluşan karmaşıklık, mühendislerin yarattığı ve düzeltebileceği sorunlarla ilgilidir; örneğin, derleme kodunu yazma ve optimize etme ayrıntıları veya toplu işlemenin neden olduğu gecikmeler. Temel karmaşıklık, çözülmesi gereken sorundan kaynaklanır ve hiçbir şey onu ortadan kaldıramaz; Kullanıcılar bir programın 30 farklı şey yapmasını istiyorsa, bu 30 şey çok önemlidir ve program bu 30 farklı şeyi yapmalıdır.
Brooks, tesadüfi karmaşıklığın önemli ölçüde azaldığını ve günümüz programcılarının zamanlarının çoğunu temel karmaşıklığı ele almakla geçirdiğini iddia ediyor. Brooks, bunun, tüm tesadüfi faaliyetleri sıfıra indirmenin, temel karmaşıklığı azaltmaya çalışmakla aynı büyüklük sırasını iyileştirmeyeceği anlamına geldiğini savunuyor. Brooks kimsenin gümüş kurşun olmadığı konusunda ısrar etse de , temel karmaşıklığa saldıran bir dizi yeniliğin önemli gelişmelere yol açabileceğine inanıyor. Kazara oluşan karmaşıklık alanında önemli bir gelişme kaydeden bir teknoloji, Ada gibi yüksek seviyeli programlama dillerinin icadıydı .
Brooks, artan geliştirme yoluyla yazılımın organik olarak "büyümesini" savunuyor. Ana ve alt programların en baştan tasarlanmasını ve uygulanmasını, daha sonra çalışma alt bölümlerini doldurmasını önerir. Bu şekilde programlamanın mühendisleri heyecanlandırdığına ve geliştirmenin her aşamasında bir çalışma sistemi sağladığına inanıyor.
Brooks, "iyi" tasarımcılar ile "harika" tasarımcılar arasında bir fark olduğunu iddia etmeye devam ediyor. Programlamanın yaratıcı bir süreç olduğu için bazı tasarımcıların doğal olarak diğerlerinden daha iyi olduğunu öne sürüyor. Sıradan bir tasarımcı ile harika bir tasarımcı arasında on kat fark olduğunu öne sürüyor. Daha sonra, yıldız tasarımcılara yıldız yöneticiler kadar iyi davranmayı, onlara yalnızca eşit ücret değil , aynı zamanda daha yüksek statünün tüm avantajlarını da sağlamayı savunuyor : büyük ofis, personel, seyahat fonları vb.
Makale ve Brooks'un daha sonra bu konudaki düşünceleri, ' No Silver Bullet' Refired , The Mythical Man- Month'un yıldönümü baskısında bulunabilir .
Ilgili kavramlar
Brooks'un makalesine bazen Wirth yasasıyla bağlantılı olarak atıfta bulunularak , "yazılım sistemlerinin boyut ve karmaşıklık açısından, karmaşıklığı ele alma yöntemlerinin icat edildiğinden daha hızlı büyüdüğünü" iddia ediyor.
Ayrıca bakınız
- Yazılım mühendisliğinin tarihi
- "No Silver Bullet" da temel karmaşıklığa karşı ana stratejilerden biri olan yazılım prototipleme
- SOLID (nesne yönelimli tasarım)
- Temel karmaşıklık ("yapısallığın" sayısal ölçüsü)
Referanslar
daha fazla okuma
- Brooks, Fred P. (1986). "Gümüş Kurşun Yok - Yazılım Mühendisliğinde Öz ve Kaza". IFIP Onuncu Dünya Bilişim Konferansı Tutanakları: 1069-1076.
- — (Nisan 1987). "Gümüş Kurşun Yok - Yazılım Mühendisliğinin Özü ve Kazaları". IEEE Bilgisayar . 20 (4): 10–19. CiteSeerX 10.1.1.117.315 . doi : 10.1109/MC.1987.1663532 . S2CID 372277 .
- — (1975). Efsanevi Adam-Ay . Addison-Wesley. ISBN'si 978-0-201-00650-6.
- — (1995). "Bölüm 16". Gümüş Mermi Yok - Öz ve Kaza . Efsanevi Adam Ay (dört yeni bölüm ed. Yıldönümü Sürümü). Addison-Wesley. ISBN'si 978-0-201-83595-3.
- — (1995). "Bölüm 17".'Gümüş Kurşun Yok' Yeniden Ateşlendi . Efsanevi Adam Ay (dört yeni bölüm ed. Yıldönümü Sürümü). Addison-Wesley. ISBN'si 978-0-201-83595-3.
Dış bağlantılar
- Gümüş Mermi Yok: Yazılım Mühendisliğinin Özü ve Kazaları, Frederick P. Brooks, Jr.
- Yazılım Mühendisliği İlkeleri — Steve McConnell'in ikilik hakkındaki yorumları, orijinal olarak IEEE Software , Vol. 16, Sayı 2, Mart/Nisan 1999