Eğer bugün herhangi bir teknoloji şirketinin iş ilanına bakarsanız, istisnasız hepsinde şu cümleyi görürsünüz: "Agile metodolojilerle çalışan dinamik bir ekip..."
Ancak bir mühendis olarak o ekibe katılıp işe başladığınızda karşılaştığınız manzara genellikle şöyledir: Her sabah 45 dakika süren ve kimsenin birbirini dinlemediği daily scrum toplantıları. Anlaşılmaz story point tahminleri. Haftalık bitmeyen planlama toplantıları, retro toplantıları, sprint inceleme toplantıları. Sürekli güncellenmesi gereken jira biletleri ve kod yazmaktan çok süreçleri yönetmekle ve hatta bazen süreçleri yönetmeyi yönetmekle geçen koca bir hafta.
Orijinal "Agile Manifesto" 2001 yılında 17 yazılımcı tarafından yazıldığında çok net ve basit bir felsefesi vardı: "Süreçler ve araçlardan ziyade, bireylere ve etkileşimlere değer verin. Kapsamlı dokümantasyondan ziyade, çalışan yazılıma değer verin."
Ne yazık ki bugün geldiğimiz noktada, o 17 yazılımcının yıktığı o ağır, bürokratik şirket kültürü; "agile koçu" ve "scrum master" gibi ünvanlarla arka kapıdan tekrar içeri sızdı. Agile, geliştiricilere özgürlük ve hız kazandıran bir felsefe olmaktan çıkıp, orta kademe yöneticilerin yazılımcıları her saniye takip edebildiği, performanslarını sözde metriklerle (bazı kaynaklarda velocity olarak geçer) ölçtüğü devasa bir kontrol mekanizmasına dönüştü.
Bir DevOps/SysOps mühendisi ve bir startup kurucusu olarak ekipleri yönetirken fark ettiğim en acı gerçek şuydu: Süreçlere, Jira'ya ve toplantılara ne kadar çok odaklanırsanız, asıl işten (ürün ve yeni özellikler geliştirmekten) o kadar uzaklaşıyorsunuz. Yazılımcılar kod yazmak, mimari tasarlamak ve sorun çözmek için oradadır; Jira kartlarını sağdan sola kaydırmak için değil.
Şimdiye kadar yönetim kadrosunda bulunduğum ekiplerin çoğunda bu karmaşayı çöpe atmaya çalıştım; bazılarında başardım da. Başarılı olduğum bu ekiplerde scrum yapmadık. Sadece yapılacak işler vardı. Kimin hangi işte olduğu belliydi. Bir problem varsa takım içi anlık iletişim (slack, microsoft teams vb. araçlarla) kuruluyordu. Kimse "Dün şunu yaptım, bugün bunu yapacağım, önümde şu engel var" demek için her sabah saat 10'da mecburi bir toplantıya girmiyordu. Güvenin olduğu yerde, mikro-yönetime ve niteliksiz, bir şey bilmeyen fazlalık mikro yöneticilere ihtiyaç yoktur.
Bir yazılım ekibinin hızını (velocity) ölçmek istiyorsanız, Jira'daki kapanan kart sayısına bakmayın. Ekibin yayına yani productiona ne kadar sıklıkla ve ne kadar az hatayla kod çıktığına bakın. Yazılımcılarınıza toplantısız, kesintisiz derin odaklanma gerçekleştirebilecekleri zaman aralıkları sunun. Bırakın sadece her dakika daha da derinleşerek işlerine ve yazmaları gereken koda odaklansınlar.
Agile ruhunu geri getirmenin tek yolu, o ağır kurumsal ve kasıntı "Agile" kelimesini mikro yöneticilerle beraber çöpe atmak ve sadece oturup çalışan yazılımlar üretmeye odaklanmaktır. Gerisi sadece boş ve anlamsız bir gürültü.