Agile Turkey’in Yazılım Üretkenliği Raporu 2012 Üzerine

Agile Turkey‘in “Yazılım Üretkenliği Raporu 2012” (Software Productivity Report 2012) yayınlandı. Ben de duyar duymaz hemen indirip göz attım. Keske böyle raporlar çok farklı amaçlarla daha çok yapılsa. Yazılım kalitesi, yazılı süreçleri, ya da ne bileyim BT sektöründe çalışanların kazançları, beklentileri ve memnuniyet durumları vs. açılarından yapılsa da durumumuzu anlasak. Bu anlamda çok kapalı bir toplumuz, kol kırılır ama kimseye çaktırılmaz moddayız genelde. Dolayısıyla bu raporu hazırlayıp paylaşanlara bir teşekkür borçluyuz. Öte yandan, raporu ilk açtığımda çok detaylı bakamadım ama içimde garip bir his kaldı. Garip hisin sebebi raporda verilen oranların aşırı iyimseliğiydi. Bugün bir vesile ile raporu bir daha açtım ve biraz daha dikkatli okuyunca ister istemez aklıma bazı sorular geldi.

Raporun ikinci sayfasında, Türkiye’de yazılım geliştiren şirketler ya da departmanların, yazılım geliştirirken kullandıkları metodolojiler ve oranları verilmiş. İlk gözüme çarpan şey, bu çalışmaya katılanların %18’inin CMMI’ı zaten kullandıklarının ifade etmiş olmaları. Bu ülkede CMMI sertifikası almış kaç tane şirket ya da departman var da bunlar, bu rapora katılanların %18’ini oluşturuyor diye düşünmeden edemedim tabi. Yani 1000 katılımcı olsa 180’i CMMI sertifikalı mı bu ülkede? Nerede yaşıyoru biz, yazılım cennetinde falan mı? Öte taraftan yine aynı diyagramda katılımcıların %8’inin ISO 9000 kullandıkları belirtiliyor. Lakin diyagramın adı “Software Development Methodologies”. ISO 9000, ne zamandır yazılım geliştirme metodolojisidir? Hatta CMMI ne zamandır yazılım geliştirme metodolojisidir? ISO belgelerinin, yeni evli çiftlere verilip duvarda senelerce hiç ellenmeden asılı duran Kuran gibi olduğunu biliyoruz zaten. CMMI, evet bir kalite standardı ve doğrudan yazılım geliştirme ile ilgili ama bir metodoloji değil ki. Farklı metodolojilerle CMMI’ın istediği kalite standartlarını sağlayabilirsiniz, çünkü CMMI hedefi belirliyor, nasıl gideceğinizi değil. Çalışmanın yedinci sayfasında, 50 şirketin katılımından bahsediliyor. Dolayısıyla yukarıdaki oranı kullanarak, yaklaşık 10 şirketin CMMI sertifikasına sahip olduğunu çıkarabiliriz. Katılımcılarının %18’inin CMMI sertifikalı olduğu bir çalışmanın Türkiye genelinin resmini göstermediğini düşünüyorum. Pek çoğu, askeri projeler gibi CMMI sertifikası şartı getiren projelerde bulunabilmek için CMMI sertifikası almış şirketler ile ülkemizdeki BT sektörünün seviyesini ölçmek çok sağlıklı değil.

Üçüncü sayfa “Software Development Practices” ismini taşıyor ve buradaki diyagrama göre ülkemizdeki güzide yazılım geliştiren kurumlarımızın %59’u hali hazırda “UML” kullanıyorlarmış ve %40’ı da yakın gelecekte kullanmayı planlıyormuş 🙂 Geriye %1 kalacak demekki ikna edemediğimiz 🙂 Bu ne ya? Sokakta yürürken elimizi sallasak bir UML canavarına çarpacak. Bilmem kaç senedir eğitim, danışmanlık vb. fırsatlarla ülkemiz yazılım dünyasında gezmiyor olsam, üstüne üstlük UML ile ilgili gerek eğitim gerek ise danışmanlık vermiyor olsam ve tabi bir de Türk olmasam, inanırdım belki. Eğer çalışanlarının birinin makinesinde bir UML aracı kurulu olan kurumu “UML okur-yazar” kategorisinde sayacaksak belki, ama yine de bu durumda bile sanmam ki oran %10’u geçsin. Ayrıca bu sayfadaki “Agile Development” ile bir önceki sayfadaki “Agile” arasında ne fark var, onu da anlamadım.

Dördüncü sayfa “Project Success Rate” isminde ve katılımcıların %45’i, kurumlarındaki yazılım projelerinin başarı oranı %70’in üzerinde demiş. Ülkemizdeki yazılım geliştiren kurumların %45’i, geliştirdikleri projelerin %70’inde doğru düzgün bir “project” planı yapsınlar, ben razıyım. Bu oranda yazılım projesinde “Project Charter” vb. bir doküman hazırlansın ben yine razıyım. Bu ülkede geliştirilen yazılım projelerinin ciddi bir kısmı bence “proje” tanımına bile girmiyor. Hedefleri, çerçevesi, riskleri vb. açılardan bir sürü eksik ve belirsiz tanımlamalarla yola çıkılıyor, kervan ya yolda ya da bakım sürecinde düzülüyor. Sonra da buna proje diyoruz.

Eskiden bu yana Standish Group‘un Chaos raporlarını takip ederim. Internet’te aradığınızda bu dokümanlara ulaşabilirsiniz. Yıllık olarak ABD’deki (sonraları Avrupa’da da yapılmaya başlandı yanlış hatirlamıyorsam) pek çok yazılım geliştirme projesi göz önüne alınarak yapılan bu çalışmalarda, yazılım projelerinde başarı ve başarısızlık oranları ve sebepleri araştırılır ve katılımcılardan gelen cevaplarla çok güzel sonuçlara ulaşılır. Bu sayfada, Chaos raporlarındaki yazılım projelerinin başarı oranının (başarı, projenin öngörülen zaman ve bütçeyle bitirilmesi olarak tanımlanıyor) yıllara göre dağılımı verilmiş örneğin. 90’lı yıllarda %16’ler seviyesinde başarı oranı aradan geçen 15 senede %30’lara çıkmış, bu sevindirici. Standish Group’un Chaos çalışması hakkında bir şey söylemenin yeri değil burası ama bu raporlar hakkında daha fazla bilgi sahibi olmak isteyenler IEEE Software’de yayınlanmış şu makaleye göz atabilirler. Chaos raporlarındaki yazılım proje başarı oranlarını, her ne kadar elma ile armutu kıyaslama riski olsa da (çünkü Agile Turkey raporunda “başarı”nın bir tanımı ve kriterleri yok) Yazılım Üretkenliği Raporu 2012 ile kıyasladığımızda ülke olarak dünyada en iyi yazılım geliştirme sektörüne, açık ara ile sahip olduğumuz anlaşılır. Halbuki durum böyle olmaktan çok uzakta, keşke böyle olsak ama malesef, bu konuda daha emekleme-taklit noktasındayız.

Raporun amacı güzel, bu haliyle bile emek sarfedildiği belli ama daha katılımcı, daha doğru sınıflandırılmış, kriterleri açıklanmış sorular ve diyagramlar olmalı ki daha tutarlı ve gerçekçi sonuçlardan bahsedebilelim.

Toplam görüntülenme sayısı: 2026