Yazılım geliştiricileri gibi mantıklı ve rasyonel insanlar arasında dahi, efsanelerin gücünü hiçbir zaman hafife almamalısınız. Bazı programcılar daha iyi tüm yargılara rağmen seçtikleri şeye inanmaya devam edecek.
Bunun klasik bir örneği, bir yazılım projesini daha fazla geliştirici ekleyerek hızlandırabileceğinize dair olan popüler mantık hatasıdır. Frederick P. Brooks bu teoriyi 1975 yılında, dönüm noktası niteliğindeki kitabı “The Mythical Man-Month”da çürüttü.
Brooks’un temel önermesi, ilerlemiş bir projeye daha fazla geliştirici eklemenin işi hızlandırmayacağıydı. Tam aksine daha da yavaşlatacaklar. İddia ettiği bu şey doğru idiyse, yazılım projeleri yönetimiyle ilgili diğer fikirlerin çoğu aslında hatalıydı.
Brooks’un örneklerinden bazıları bugün kullanılmıyor gözüküyor ama onun iddiası halen sapasağlam duruyor. O iddiasını ikna edici bir biçimde yapıyor. Ne yazık ki, az sayıda geliştirici bunu kalben benimsemiş gözüküyor. 35 yılı aşan bir sürenin ardından, programcılar arasında efsanevi düşünce yapısı halen yer buluyor. Aynı hataları yapmayı sürdürüyoruz.
Asıl utanılacak şey şu ki, birçok durumda büyüklerimiz yıllar öncesinde hataları işaret etti; tabi biz dikkat edersek. Günümüzdeki programlama efsanelerinden birkaçını burada paylaşıyoruz. Bunları birçoğu esasında eski hataların tekrarlarından başkası değil.
Programlama Efsanesi No. 1: Denizaşırıya yönelmek yazılımları daha hızlı ve daha ucuza üretir
Bu günlerde hiç kimse önemli bir yazılım projesini, bir denizaşırı (offshore) stratejisi olmaksızın başlatmayı düşünmüyor. Bunu tüm büyük yazılım firmaları yapıyor. Silikon Vadisi sermayedarları bu konuda ısrarlı. Bu gayet açık; ya da servis sağlayıcıları sizi buna inandırabilir.
Mantıklı gözüküyor. Kod geliştirme işini gelişmekte olan ekonomilere aktararak, yazılım firmaları daha az şey için daha fazla programcıyı çalıştırabilir. Bu da projelerini daha kısa zamanda daha küçük bütçelerle bitirebilmeleri anlamına geliyor.
Fakat durun! Bu Mythical Man-Month’daki mantık hatasının klasik bir örneği. Biz biliyoruz ki bir yazılım projesinde daha fazla kişinin olması projenin daha hızlı tamamlanması veya maliyetinin düşük olmasına bir yardımı yok; tam tersine. Denizaşırıya yönelmek işleri daha da kötüleştiriyor.
Brooks’a göre, “Bir yazılım projesine daha fazla insan eklemek toplam zahmeti üç şekilde arttırıyor: işin paylaştırılması, yeni insanların eğitilmesi ve artan haberleşmeyle.”