top of page

Blog Posts

Brooks Yasası: Yazılımın Karmaşıklığı ve Geliştirme Süreçlerine Etkisi

Brooks Yasası, #bilgisayar bilimleri ve #yazılım mühendisliği alanlarında önemli bir kavramdır. Bu #yasa, yazılım geliştirme süreçlerinin karmaşıklığı ve bu karmaşıklığın yönetimi konusunda derinlemesine bir anlayış sunar. Frederick P. Brooks'un 1975 yılında yazdığı "The Mythical Man-Month" adlı kitapta ortaya koyduğu bu yasa, yazılım projelerinin nasıl yönetilmesi gerektiği konusunda değerli ipuçları sunar.


Brooks Yasası’nın temel gözlemi, "geç kalmış bir yazılım projesine insan gücü eklemek onu daha geç yapar" fikridir. Geniş çaplı düşünüldüğünde ise birçok #proje ve çalışma üzerinde geçerliliği olabilir; sürece daha fazla kaynak ve daha fazla insan eklemenin genellikle ilerlemeye yardımcı olmadığını ve hatta ters etki yarattığını gösteriyor.



Brooks Yasası Nedir?

Brooks Yasası, temel olarak şu şekildedir: "Daha fazla programcı, gecikmeyi sadece daha da artırır." Bu ifade, yazılım projelerinde ek kaynak eklemek veya daha fazla programcı işe almak gibi eylemlerin, projenin bitiş tarihini geciktirebileceğini ifade eder. Brooks, bu yasanın altında yatan nedenleri ve etkileri detaylı bir şekilde açıklar.


Yazılımın Karmaşıklığı

Brooks, yazılımın doğası gereği karmaşık olduğunu ve bu karmaşıklığın sadece kod satırları sayısına dayanmadığını vurgular. Yazılım geliştirme süreçlerinin zorluğu, gereken iletişim, koordinasyon, tasarım ve test gibi faktörlerle de ilgilidir. Bu karmaşıklık, projeye daha fazla programcı eklenmesiyle azaltılamaz.


Yazılım Projelerinde Büyüklük ve Zaman İlişkisi

Brooks, yazılım projelerinin büyüklüğünün, projenin tamamlanma süresini artırabileceğini belirtir. Bu, Brooks Yasası'nın temel taşlarından biridir. Büyük projeler, daha fazla iletişim ve koordinasyon gerektirir ve bu da geliştirme sürecini karmaşıklaştırabilir.


İşbirliği ve İletişim

Brooks, yazılım projelerindeki başarının önemli bir parçasının işbirliği ve etkili iletişim olduğunu vurgular. Proje ekibi üyeleri arasındaki iyi iletişim, sorunların erken teşhis edilmesine ve çözülmesine yardımcı olabilir.


Örnek İncelemeler:

Brooks Yasası’nın kişisel ve kurumsal üretkenlik söz konusu olduğunda önemli etkileri vardır. Brooks Yasası’nı birkaç örnekte inceleyecek olursak;

 

  • Brooks yasasının klasik bir örneği, programın gerisinde kalan bir yazılım projesidir, bu da yönetimin kendisine daha fazla geliştirici tahsis etmesine yol açar; yeni geliştiricileri eğitmek için gereken süre ve projeyi geciktiren görevler nedeniyle daha fazla gecikme yaşanır.

 

  • Brooks yasasının başka bir örneği, küçük bir ekip tarafından hızlı bir şekilde halledilebilen, ancak gereksiz yere çok sayıda insan eklendiği için iletişimin ve karar vermenin çok daha yavaş hale gelmesi nedeniyle ertelenen proje çalışmalarıdır.

 

Brooks Yasası’nı daha geniş bir bağlam yelpazesinde genişletmek mümkündür, özellikle;


📍Yazılım projeleri dışındaki çalışmalara da uygulanabilir: Örneğin iş, akademik ve hobi projeleri için geçerli olabilir.


 📍Gecikmeler dışındaki olumsuz sonuçlara da uygulanabilir :Örneğin, bir yazılım projesine insan gücünün eklenmesi, daha kötü bir ürüne veya ekip üyeleri arasındaki çatışmaların artmasına neden olabilir.


 📍İnsan gücü dışındaki kaynaklara da uygulanabilir: Örneğin, belirli bir projeye daha fazla para harcamak projenin daha hızlı bitmesine neden olmayabilir çünkü daha fazla para harcamak gecikmeye neden olan sorunları çözmeyecektir.

 

Tüm bunlara dayanarak, Brooks Yasası’nın genelleştirilmiş bir sonucu şu şekilde formüle edilebilir: "Bir projeye daha fazla kaynak eklemek her zaman ilerlemeye yardımcı olmaz, hatta sürece ters etki edebilir."

 

Brooks Yasası’nın arkasındaki mantık ise bazı temel sebeplerden yola çıkar;


📌Yeni insanların projeye katıldıktan sonra üretken hale gelmeleri için geçen süre olan öğrenme süresi.


📌İş yerinde iletişim için harcanan zaman ve bir projeye insanlar eklendikçe hızla artan iletişim yükü.


📌Grup büyüdükçe büyüyebilecek organizasyon ihtiyaçları,


📌Ayrıca artan insan gücü, azalan kişisel hesap verebilirlik ve azalan motivasyon gibi diğer sorunlar nedeniyle paradoksal bir şekilde genel ekip üretkenliğini azaltabilir.

 

 Amerikalı bilgisayar bilimcisi Fred Brooks tarafından 1975'te yayınlanan kitabında* öne sürülen Brooks yasası ile ilgili temel bir uyarı, bu yasanın belirli bir durumda geçerli olup olmamasının bazı sebeplere bağlı olduğudur.

Fred Brooks kendisi dahi bu kavramı akıl almaz bir basitleştirme olarak gördüğünden ve koşulların sıklıkla değişim gösterebileceğinden söz eder.

 

Örneğin, bir projeye para eklemenin projenin daha hızlı ilerlemesini sağlayıp sağlamayacağı, paranın ne için kullanılacağı gibi çok çeşitli faktörlere bağlıdır.


Brooks Yasası'ndan Öğrenilenler

Brooks Yasası'ndan çıkarılabilecek önemli dersler şunlar olabilir:


  • Yazılım projelerini sadece daha fazla kaynak ekleyerek yönetmek yerine, iyi planlama ve yönetim ilkelerine odaklanmak önemlidir.

  • İyi bir iletişim ve işbirliği ortamı, projenin başarısında kritik bir rol oynar.

  • Yazılım projelerinin karmaşıklığına dikkat edilmeli ve bu karmaşıklığın farkında olunmalıdır.


Sonuç olarak, Brooks Yasası, yazılım geliştirme süreçlerinin karmaşıklığını ve yönetimini anlamamıza yardımcı olan önemli bir kavramdır. Yazılım projelerinin başarısını artırmak için bu yasanın öğrettiklerini uygulamak, daha verimli ve etkili geliştirme süreçleri oluşturmamıza yardımcı olabilir.


  • Beyaz LinkedIn Simge
  • Beyaz Facebook Simge
  • Beyaz Heyecan Simge

BU İÇERİĞE EMOJİ İLE TEPKİ VER

bottom of page