Çeviklik & Crash 2014 Raporu
Bu makalede bir Kurumsal Çevik Dönüşüm Danışmanı olarak, yazılım geliştirme dünyasının en prestijli çalışmalarından birisi olan CRASH araştırmasının 2014 raporunu yorumlayacağım. Bilin bakalım kim kazandı? Çevik mi? Şelale mi? Yoksa kazanan...
CRASH - CAST Research on Application Software Health (CAST Uygulama Yazılımı Sağlık Araştırmaları) raporu, CAST Araştırma Laboratuvarları tarafından iki yılda bir hazırlanıp yayınlanmaktadır. Rapor farklı teknoloji alanları ve endüstri yelpazesinde, yazılım trendlerini incelemektedir.
CRASH çalışmalarında ele alınan yazılım sistemleri, Sağlamlık, Performans, Güvenlik, Değiştirebilirlik ve Transfer Edilebilirlik kalite özelliklerine göre incelenirler. CRASH 2014 raporu için 12 farklı sektörden, özellikle ABD, Avrupa ve Hindistan'da bulunan 212 kurumdan araştırmaya açılan 1316 yazılım sistemi incelenmiş. Araştırmaya dahil olan söz konusu uygulamaların toplam kod büyüklüğü 706 milyon satırmış.
Raporun Yönetici Özeti bölümünde sunulan istatistiki sonuçlar şöyle:
Uygulamaların sağlamlık özelliğini önemli ölçüde güçlendiren mimari ve kodlama pratikleri uygulanmadığı zaman uygulamanın güvenlik açısından da sıkıntılı olduğu gözlenmiş. (Süpriz olmayan bir bulgu.)
Araştırmaya dahil olan uygulamaların büyüklükleri ile araştırma sonucu aldıkları kalite puanı arasında - minör istisnalar hariç - bir ilişki yakalanamamış. (Bu bulgu bir önyargıyı yıkıyor.)
Neredeyse tüm kalite özellikleri için, CMMI Seviye 1 kurumlar tarafından üretilmiş uygulamaların aldıkları kalite puanı, CMMI Seviye 2 ve 3 kurumlar tarafından üretilmiş uygulamaların kalite puanından daha düşük. (Farkındalık arttıkça, standartlaşma artıyor, yazdıkça, farkındalık artıyor, sonuçta kalite kaçınılmaz biçimde iyileşiyor.)
Yazılım geliştirme yaklaşımı çerçevesinde, Çevik ve Şelale yöntemlerinin ortaklaşa kullanıldığı vakaların, sadece Çevik veya sadece Şelale kullanılan vakalardan, tüm kalite faktörlerinde daha yüksek puan aldığı gözlenmiş.
Uygulamaların iç kaynaklarla veya dış kaynaklarla geliştirilmesinin incelenen kalite özellikleri açısından fark yaratmadığı, ancak off-shore geliştrilen yazılımların Değiştirilebilirlik ve Sağlamlık özelliklerinin daha düşük puan aldığı gözlenmiş.
Şimdi biraz detaylara göz atalım
Önce kurumun sahip olduğu süreç olgunluğu ile ürettiği uygulamaların kalitesine odaklanalım. Bu çerçevede önce kabaca CMMI Seviyelerini hatırlamakta fayda var:
CMMI Seviye 1 belli başlı temel yazılım geliştirme süreç ve standartlarını oturtmamış tüm kurumları kapsıyor. Tüm kurumların varsayılan Seviyesi 1.
CMMI Seviye 2 olabilmek için kod kontrol yazılımı kullanıyor olmalı, gereksinim analizi süreçlerinizi ve dokümantasyonunu standartlaştırmış olmalısınız. Projelerin temel kısıtlar çerçevesinde planlıyor ve takibini rutin döngülerle gerçekleştiriyor olmalısınız. Yazılım geliştirme faaliyetleriniz için hata, zaman çizelgesi gibi temel metrikleri ölçüyor olmalısınız.
CMMI Seviye 3 olabilmek biraz daha zor. Hummalı bir çalışma ile tüm süreçlerinizi yazılı hale getirmiş, seviye 2 olgunluğunun üzerine uçtan uca bütünleşik proje yönetimi yapmayı rutin haline getirmiş, risk yönetimi ve test konusunda ciddi adımlar atmış olmanız, ekibin yetkinlik yönetimini gerçekleştiriyor olmanız gerekiyor.
Birincil olarak, süreçlerinizi hiç olgunlaştırmamış iseniz, tüm grafiklerde kalitede değişkenliğin yüksek olduğu gözleniyor. Olgunluk seviyesi arttıkça değişkenlik nispeten azalıyor. İkincil olarak, seviye üçün en etkili olduğu yerin sağlamlık ve güvenlik olduğu görülüyor. Grafikte Seviye 2'nin toplamda seviye 3'lerden de daha başarılı olduğu gibi bir görüntü de var. Seviye 3 için ortaya konması gereken zaman ve efor göz önüne alınınca, birçok kurumun bu seviyeye ulaşmak için uğraşmaması anlam kazanıyor.
Şimdi bir de raporu yazılım geliştirme yaklaşımı açısından inceleyelim:
Raporda son yılların trend konusu çeviklik ile geleneksel şelale yöntemi, hibrit yaklaşımlar ve hiçbir yaklaşımı benimsemeyenlerle karşılaştırılmış.
Bu grafiği nasıl yorumlamak lazım? Görüşüm şu şekilde:
Dünyadaki çevik uygulamaların da, geleneksel şelale uygulamalarının da çoğu başarısız, idealden uzak uygulamalar.
Geleneksel şelale yönteminin hakkını veren şirket sayısı Türkiye'de bir elin parmaklarını geçmez. Evet CMMI Seviye 3 sertifikası almış çok fazla kurum var. Bu kurumların şelaleyi mükemmel uyguladıklarını sanmayalım; yoğun bir çaba sonucu sertifikayı aldıktan sonra, CMMI Seviye 3, kalite departmanının duvarında, kurumun web sitesinin orasında burasında ve sunumlarda kalıyor. Bu sertifikaya sahip çoğu kurum, en modern şelale sayılabilecek V-Model'in pratikte ucundan kıyısından bile geçmiyor. Bu tüm dünya için geçerli bir gerçek.
Çevik olduğunu iddia eden kurumların da gelenekselcilerden pek farkı yok. Çevikliğin iki prensibini benimseyip, ne çalışan motivasyonuna, ne kaliteye odaklanılıyor. Unit test kodu yazılmıyor, sürekli refaktoring yapılmıyor, test otomasyonuna ucubik bir hedef gibi bakan gözler dönüyor. Çevik uygulama öncesinde üst yönetim "süper" diyerek çevikliğe yol açıyor, ama yarım yamalak metodoloji dışında kurumda hiçbir şey değişmiyor. Çevik ekip diye toplantıya gidiyorsunuz, üzerine ölü toprağı serilmiş çalışanlarla, çirkeflik yapıp ekibi sürekli iğneleyen yöneticilerle karşılaşıyorsunuz. Scrum yapıyorum diyen yığınla şirkette, ne şeffaflık var, ne tespit & adaptasyon (inspect & adapt) döngüleri işliyor. Bu da Türkiye'ye özgü değil; tüm dünyada böyle.
Raporda dikkati çeken nokta, ikisini de uyguluyoruz diyenlerin başarısı. Bunun arkasında kurumsal olgunluğun olduğuna inanıyorum. Bir kurum uygun şartlar varsa çevik, yoksa geleneksel gidiyoruz diyorsa, orada ekstra bir farkındalık olduğunu söylemek mümkün. Çevik felsefenin ve uygulamaların tam uygulandığında şirketlere inanılmaz değer kattığı inkar edilemez. Çevik felsefeyle tanışmamış kurumların masada duran elmanın yarısından haberi olmadığını söyleyebiliriz. Çevikliği doğru yerde uygulamayı, yanlış yerde uygulamamayı bilen şirketler, CRASH raporunda da kendisini göstermiş diye düşünüyorum. Çevikliğin kurumun her yerinde uygulamasını sağlayacak dönüşümü gerçekleştirebilen şirketlerin de sayıca azlığından dolayı istatistiki bir raporda kendini gösterememiş olmaları da gayet normal. Bu mükemmel şelaleciler için de geçerli.
"Görmezden gelenler kaybeder, bütünü görenler her zaman kazanır."
#agile #çeviklik #cmmi