Yazılım geliştirme dünyasında büyük bir mit vardır. Çalışıyorsa dokunma. Bu söz çok doğru gibi görünse de, bu yaklaşım hem teknik hem de kültürel anlamda birçok tehlikeyi barındırıyor. Bu yazıda teknik olarak değil, yazılım geliştirme ekibi açısından değerlendireceğim buradaki tehlikeyi.
İyi yazılımcılar, kendini sürekli geliştirme eğilimindedir. Yeni teknoloji öğrenirler, yeni prensipler edinirler, “best practice” uygulamak için ellerinden geleni yaparlar. Buradaki “yeni”; bir dil, bir framework, bir yaklaşım veya dünyadaki diğer geliştiricilerin kod yazım şekilleri olabilir. Yazdığımız programlama dillerini etkileyen insanlar veya şirketler var. Bu kişiler sektöre yön verir ve iyi yazılımcılar buradan kendine pay çıkartıp kendi yönlerini belirler.
Eğer iyi yazılımcılardan oluşan bir ekip kurmak istiyorsanız, onlara kendilerini teknik olarak geliştirebilecekleri ve yeni teknolojileri değerlendirebilecekleri bir ortam sunmanız gerekiyor. Gerek yeni teknolojiler kullanma, gerekse eski codebase’i güncelleme anlamında teşvik etmelisiniz. Gelişime ve değişime ket vurmamalı ve yıllar önceki pratikleri diretmemelisiniz. Ekibe teknik bir mücadele imkanı vermelisiniz.
Sürekli gündemde kalan bir örnekle bunu destekleyeceğim. PHP yıllar içerisinde gelişti ve eski eleştirilen yapısından uzaklaştı. Symfony, Laravel gibi kaliteli frameworklere sahip oldu. Şu an PHP developerları mutlu eden şey, bu frameworklerin yaklaşımlarını kullanmak veya bunlara rakip olabilmek. Buradaki rakipten kasıt ürün anlamında değil. Bu frameworklerin eleştirilen taraflarına yönelik daha iyisini yapma isteği anlamında. Eğer PHP’nin 2013 yılındaki hali şu an sisteminizde “çalıştığı” için hala daha bu pratikleri uygulamak istiyorsanız, üzgünüm ama iyi yazılımcıları kaçırırsınız. Dünya çok farklı şeyler tartışıyor ve 10 yıl öncede kalamayız.
Sırf bu yüzden bile eski codebase güncellenmeye mahkumdur. Çalışıyorsa dokunmayalım ama güncellemek için gerekli altyapıyı oluşturalım. Sistemi test yazılabilir bir hale getirelim, test yazalım, altyapıyı ufak ufak güncellemeye çalışalım. İyi yazılımcılar bunları yapmaktan keyif alacaktır. Çünkü günün sonunda, eski bir codebase’i güncellemiş olmanın mutluluğu olacak.