DORA metrikleri: yazılım teslimatının hızını ve kararlılığını ölçmek
DORA metrikleri nedir, dağıtım sıklığı, değişiklik süresi ve geri kazanma gibi göstergeler yazılım teslimat performansını nasıl ölçer? Örnek ve yaygın hatalar.
DORA metrikleri nedir?
DORA metrikleri, bir yazılım ekibinin değişiklikleri üretime ne kadar hızlı ve ne kadar güvenli ulaştırdığını ölçen göstergeler kümesidir. Adını DevOps Research and Assessment araştırma programından alır. Bu program, yıllar boyunca yazılım ekiplerinin çalışma biçimlerini ve sonuçlarını inceleyerek hangi uygulamaların teslimat performansıyla ilişkili olduğunu araştırmıştır.
Göstergelerin ortak noktası, tek bir ekip üyesinin verimliliğini değil, değişikliğin kodlanmasından üretimde çalışmasına uzanan akışın sağlığını ölçmesidir. Metrikler hız ve kararlılığı birlikte izler: bir yanda hız (ne sıklıkla ve ne çabuklukla teslim edildiği), diğer yanda kararlılık (teslimlerin ne kadarının sorun çıkardığı ve sorun çıkınca ne kadar sürede toparlandığı). Hız ile kararlılığı birlikte okumak, hız uğruna kaliteyi feda eden ya da kaliteyi gerekçe göstererek yavaşlayan ekipleri ayırt etmeyi sağlar.
Dikkat: Avrupa Birliği'nin finans kuruluşları için dijital operasyonel dayanıklılık düzenlemesi de DORA kısaltmasıyla anılır. Konuları farklıdır; burada anlatılan, yazılım teslimat ölçümüdür.
Metrikler neyi ölçer?
DORA'nın yayımladığı rehberde metrikler hız ve kararlılık başlıkları altında toplanır.
- Değişiklik süresi (change lead time): Bir değişikliğin sürüm kontrol sistemine işlenmesinden üretimde çalışır hale gelmesine kadar geçen süre.
- Dağıtım sıklığı (deployment frequency): Belirli bir dönemde yapılan dağıtımların sayısı ya da dağıtımlar arasında geçen süre.
- Başarısız dağıtımdan geri kazanma süresi (failed deployment recovery time): Acil müdahale gerektiren bir dağıtımdan sonra normale dönmenin ne kadar sürdüğü.
- Değişiklik başarısızlık oranı (change fail rate): Dağıtımların, hemen müdahale gerektirenlerinin oranı.
- Yeniden iş oranı (deployment rework rate): Üretimdeki bir olayın sonucu olarak plansız yapılan dağıtımların oranı.
Rehber değişiklik süresini, dağıtım sıklığını ve geri kazanma süresini hız tarafında, diğerlerini istikrarsızlık tarafında sınıflandırır. Çerçeve zaman içinde güncellendiği için adlar ve gösterge sayısı yıllar arasında değişebilir; güncel tanım için DORA'nın kendi sayfasına bakmak gerekir.
Verisi nereden gelir?
Metriklerin hesabı için ekstra bir araştırma gerekmez; çoğu veri zaten ekibin araçlarında bulunur. Değişiklik süresi için sürüm kontrol sistemindeki kayıt zamanı ile dağıtım hattının üretime çıkış zamanı eşleştirilir. Dağıtım sıklığı, sürekli teslimat hattının kayıtlarından sayılır. Başarısızlık ve geri kazanma bilgisi ise olay yönetimi ya da nöbet sisteminden gelir.
Zorluk, tanımların ekip içinde net olmasıdır. "Başarısız dağıtım" ne demektir? Geri alınan, acil yama gerektiren ya da kullanıcıyı etkileyen her şey mi? Bu tanım yazılı olarak sabitlenmezse aynı ekibin farklı dönemleri karşılaştırılamaz hale gelir.
Veriyi toplayan araç ne olursa olsun, metrikler genellikle bir panoda zaman içindeki eğilim olarak izlenir. Tek bir ölçümden çok, çeyrekten çeyreğe yön değişimi anlamlıdır.
Kurgusal bir örnek
Örneğin bir ödeme uygulaması ekibi, değişiklikleri haftalar süren sürüm toplantılarının ardından topluca yayınlıyor olsun. Dağıtım sıklığı düşüktür, her dağıtımda çok sayıda değişiklik birikmiştir ve bir şey bozulduğunda hangi değişikliğin sorumlu olduğunu bulmak zordur. Geri kazanma süresi bu yüzden uzar.
Ekip küçük değişiklikleri otomatik testlerden geçirip sık sık yayınlamaya başladığında dağıtım sıklığı yükselir, değişiklik süresi kısalır. Küçük dağıtımlarda sorunun kaynağı daha kolay bulunduğundan geri kazanma da hızlanır. Panoda bu iyileşme eğilim olarak görünür.
Ama ters senaryo da olabilir: ekip sıklığı artırır fakat test disiplinini ihmal eder. Bu durumda değişiklik başarısızlık oranı yükselir. Yalnız hız göstergesine bakan bir yönetici bunu fark etmez; metriklerin birlikte okunması bu yüzden şarttır.
Yaygın hatalar
En sık görülen hata, metrikleri kişi ya da ekip karşılaştırma ve ödüllendirme aracına çevirmektir. Ölçüm hedef haline geldiğinde, ekipler göstergeyi iyileştirmek için tanımı esnetir (örneğin küçük ve anlamsız dağıtımlar yaparak sıklığı şişirir). DORA metrikleri bir teşhis aracıdır; hangi yönde iyileştirme yapılacağını gösterir, kimin daha iyi olduğunu değil.
Bir başka hata, tek bir metriğe odaklanmaktır. Hız ve kararlılık birbirini dengeler; birini tek başına iyileştirmek diğerini bozabilir. Sonraki hata, farklı ürünleri aynı ölçekte kıyaslamaktır. Bir mobil uygulama ile bir bankacılık çekirdek sisteminin dağıtım dinamikleri doğal olarak farklıdır.
Son olarak, metriklerin kendisi iyileştirme yapmaz. Panoyu kurduktan sonra darboğazı bulmak, küçük adımlarla bir iyileştirme denemesi yapmak ve etkisini yeniden ölçmek gerekir. Metrik, bu döngünün pusulasıdır.
Mindset programlarında nerede çalışılır?
Mindset kataloğundaki "DORA Metrikleri ile Yazılım Teslimat Performansı" eğitiminin modülleri anahtar metrikler ve kavramsal çerçeve, veri toplama ve hesaplama, panolaştırma ve yorumlama, iyileştirme döngüsü ve uygulama başlıklarından oluşur.
İlgili Mindset programı
DORA Metrikleri ile Yazılım Teslimat Performansı
Sık sorulan sorular
DORA metrikleri hangi ekipler için uygundur?
Yazılımı düzenli olarak üretime çıkaran her ekip için uygundur: ürün ekipleri, platform ekipleri ya da iç sistemleri yöneten gruplar. Önemli olan değişiklik akışının bir sürüm kontrol sistemi ve dağıtım hattı üzerinden izlenebilmesidir. Çok seyrek dağıtım yapan ekiplerde de eğilim yine bilgi verir.
DORA metrikleri bireysel performans ölçümünde kullanılabilir mi?
Kullanılmamalıdır. Metrikler tek bir geliştiricinin değil, değişiklik akışının ve ortak süreçlerin sağlığını gösterir. Bireysel hedef haline getirildiklerinde ekipler göstergeyi şişirecek davranışlara yönelir, ölçümün teşhis değeri kaybolur. Amaç iyileştirilecek darboğazı bulmaktır.
Dağıtım sıklığı yüksek olması her zaman iyi midir?
Tek başına iyi değildir. Sık dağıtım, değişiklik başarısızlık oranı yüksek kalıyorsa kararlılık sorununu gizleyebilir. Küçük ve güvenli değişikliklerin sık yayınlanması iyi bir işarettir; ancak sıklık, başarısızlık oranı ve geri kazanma süresiyle birlikte okunmalıdır.
DORA metriklerine nereden başlanmalı?
Önce hat boyunca neyin ölçülebildiğine bakılır: sürüm kontrol kayıtları ve dağıtım hattı çıktıları çoğu zaman yeterlidir. Ardından başarısız dağıtımın tanımı yazılı olarak belirlenir. Basit bir tabloyla başlayıp eğilimi birkaç dönem izlemek, karmaşık bir panoyu baştan kurmaktan daha sağlıklıdır.
İlgili rehberler
Kategori: DevOps ve Bulut Teknolojileri, Yazılım Geliştirme