CMMI ve Çevik Yaklaşımlar: Çatışma mı, İşbirliği mi?
CMMI ve Çevik Yaklaşımlar: Çatışma mı, İşbirliği mi?
CMMI uyumlu süreçleri geliştirme ve uygulama aşamalarında, organizasyonlarda karşılaştığımız en önemli problemlerden biri, proje ekipleri tarafından dokümantasyona ayrılacak eforun artacağı ön yargısı ile süreç iyileştirme faaliyetlerine katılıma ilişkin motivasyon düşüklüğüdür. Bu durum, çevik yazılım geliştirme süreçlerinin prensipleri arasında yer alan “az dokümantasyon” kavramı* ile bir araya geldiğinde CMMI modelinin, çevik yazılım geliştirme süreçleri ile uyumlu olmadığı yönünde genel bir kanı oluşturmakta. Ancak, sanılanın aksine CMMI modeli, yapısı itibari ile süreç alanlarına ilişkin oluşturulacak iş ürünleri ve karşılanması gereken pratikler göz önüne alındığında, çevik yazılım geliştirme süreçlerini destekleyen, çevik pratikler ile adapte olabilen bir süreç altyapısı oluşturulmasını destekler**.
CMMI süreç iyileştirme modeli, ölçeklenebilir, esnek, yüksek performanslı organizasyonlar oluşturmak, organizasyonların çevik yaklaşımlarla ilgili hedeflerine ulaşabilmelerini sağlamak, aynı zamanda çevik yaklaşım dışında kalan iş hedeflerine yönelik problemlerini de çözebilmek amacıyla giderek daha fazla kullanılmaktadır. Çevik yaklaşımları uygulayan organizasyonlar çevik yaklaşıma ait tutarlılık, şeffaflık, esnekliğe ilişkin zorluklarının üstesinden gelmek için CMMI modelini kullanmaya başladı. Aynı zamanda, CMMI modelini benimseyen ve kullanan organizasyonlar ise CMMI modeli ile çevik dönüşümlerine disiplinli bir yaklaşımla yaklaşarak çevik uygulamalarını istikrarlı ve dinamik hale getirmeyi başardılar.**
Kaynak: CMMI Enstitüsü personeli tarafından yürütülmüş 2015 yılı araştırma projesi verileri kullanılmıştır. Temel Birimler ve Destek İşlevleri tanımında Scrum, Extreme Programming, çevik ve diğer anahtar kelimelerin kullanımına atıfta bulunan PARS referans alınarak 2015 yılından itibaren 1000 SCAMPI Değerlendirmesi üzerinde analiz yapılmıştır.**
CMMI Enstitüsünün, CMMI modeli ve çevik yaklaşımın birlikte uygulanmasına yönelik yayınladığı vaka çalışmaları da, organizasyonlardaki verimliliğin ve ürün kalitesinin iyileştiğini kanıtlar niteliktedir. Bu çalışmalardan bir tanesi Bleum şirketinin “sıfır hata” odaklı ürün geliştirmek amacıyla müşterisi için kurduğu çevik yaklaşım ile uyumlu proje yönetim aracı altyapısı ve uygulamalardan aldığı ölçüm sonuçlarını kapsamaktadır. Bu sonuçlara göre proje bazlı hata yoğunluğu oranının yıllar içerisindeki değişimi incelenmiş, 2012 yılının %72.2 oranı ile hata yoğunluğunun en yüksek olduğu yıl olarak gözlenmiş, uygulamanın kullanılması ile 2013 yılında bu oranın %45.5’e düşmesi sağlanmıştır.***
Yürüttüğümüz süreç iyileştirme projelerinden edindiğimiz tecrübelerde organizasyonların temel ihtiyaçlarının genel anlamda aşağıdaki ana konulardan kaynaklandığını gördük;
- Tanımlı bir kalite yönetim sisteminin olmaması nedeniyle, proje ekipleri her yeni projede, projeye özgü uygulamaları tanımlamak ve sürdürmek için çok fazla iş gücü sarf etmektedir. Bu nedenle, organizasyonlar, projeler arası farklılık gösteren uygulamaları tespit ederek, çevik yaklaşımlarla uyumlu bir kalite yönetim sistemini tanımlamaya ve organizasyonun tüm projelerinin tanımlı süreçlere uygun yürütülmesini sağlamaya ihtiyaç duyuyorlar.
- Organizasyonların, piyasadaki rekabet koşullarına uyum sağlayabilmek için hızlı ve hatasız, yüksek kaliteli ürünler geliştirmenin önemini kavraması ile ürün hatalarını gidermek için harcanan sürenin azaltılması, müşteriye teslim edilen ürün kalitesinin arttırılması büyük önem kazandı.
- Projelerde edinilen bilgi birikimi ve tecrübenin, kazanılan derslerin bireysel düzeyde kalmayarak, organizasyon geneline yaygınlaştırılması ve kabul görmesi, kurumsal hafızanın oluşturulması ve geliştirilmesine ihtiyaç duyuyorlar.
Bu kapsamda Proven Süreç İyileştirme Ekibi olarak Süreç Mühendisliği hizmeti sağladığımız kurumlarda, proje ekipleri ile birlikte kurumların ihtiyaç ve beklentilerini, CMMI ve çevik yazılım geliştirme prensipleri ile uyumlu hale getirerek, yalın, esnek, uyarlanabilir ve ölçülebilir süreç altyapıları geliştirdik. Organizasyonun mevcut çevik uygulamalarını analiz ederek, CMMI pratiklerini karşılayabilir seviyede çözümler geliştirdik. Ürettiğimiz çözümleri, organizasyonun kullandığı proje yönetim araçları ile entegre ederek, dokümantasyona ayrılan iş gücünü en aza indirdik. Son dönemde özellikle JIRA+Confluence veya Microsoft TFS üzerinde tüm süreç akışlarını uygulamaya geçirerek tanımlı süreçlerin daha kolay takip edildiği, ölçülebildiği ve raporlanabildiği altyapılar oluşturduk.
Süreçlerin uygulandığı projeler kapsamında gözlemlediğimiz diğer iyileştirmeler ve kazanımlar ise;
- Çevik yaklaşıma uygun metriklerin (Sprint hızı, sprint burndown, hata yoğunluğu vb.) trend analizleri yapılarak, proje ekiplerinin verimliliğinin izlenebilirliği ve kontrolü kolaylaştırıldı.
- Çevik yazılım geliştirme süreçlerine uyarlanabilen, esnek bir kalite yönetim sistemi kuruldu.
- Çevik yaklaşıma uygun ölçüm altyapısı kurularak, kurumsal hedeflerle ilişkilendirildi ve güçlendirildi.
- Yeni katılan çalışanların, organizasyona uyum süresi kısaldı.
- Kalite güvence etkinliklerinin, Kurumsal ve bağımsız bir yapı kurularak yürütülmesi sağlandı.
- Sprint tahminlemeleri gerçeğe daha yakın yapılmaya başlandı.
*Agile Manifesto, 2001
**A guide to Scrum and CMMI:Improving Agile Performance with CMMI
***Using Tools to Make CMMi More Agile, Bleum, Annapolis, MD, May 10th 2016