Cross-Functional yetkinliklere sahip üyeleri ekip içerisinde konumlayabilmek Agile ve DevOps dönüşüm süreçlerinin kritik konularından. Ancak ne kadar vakit ayrılırsa ayrılsın, ihtiyaç olan tüm yetkinliklerin ekibin her üyesinde üst düzeyde bulunması pek de olası değil. Yüksek performanslı ekipler oluşturmak için, takım üyelerinin farklı konularda temel seviyede bilgi sahibi olmasını beklerken, uzmanlık alanları ile birbirinin eksiğini kapatmasını sağlamak ise en doğru yaklaşım. Ekip üyelerinin eksiklerinin belirlenip, gerekli bilgi ve becerilerin kazandırılması ise en kısa sürede tamamlanması gereken bir süreç.

DevOps_Dönüşümü_Cross_Functional_Ekipler_Oluşturmak
Accelerate State of DevOps Report 2019

DevOps Dönüşümü Sürecinde Yetkinlik Modeli

DevOps yetkinlik değerlendirmesi için farklı alanlarda bilgi ve beceri ihtiyaçlarının öncelikle ortaya konulması gerekiyor. Şirketler bu anlamda kendi framework’lerini oluşturabilecekleri gibi, danışman firmaların veya uluslararası otoritelerin modellerini de örnek alma imkanına sahipler (Continium Tactical DevOps Adoption Model veya DASA DevOps Competence Model). Destekleyici olması adına daha çok bilinen Competence Model üzerinden örnekleyecek olursak;

Sunulan yetkinlik modeli, bireylerin ve ekiplerin DevOps’a ne kadar hazır olduklarını tespit ederek ekibin yüksek performans düzeylerine ulaşmak için doğru beceri ve yeteneklere sahip olup olmadığını belirlemelerine yardımcı olur. Bknz. DASA Competence Model

Yetkinlik Modeli, DevOps ekiplerinde ihtiyaç duyulan temel becerilerin neler olduğunu açıklar. Buna göre model 4 beceri alanı ve 8 bilgi alanını tanımlar ve bu 12 yeteneğin her biri için beklenen davranış veya bilgi düzeyinin ne olduğunu açıklar. Bunlar;

Beceri Alanları

Cesaret: Evanjelizm, koçluk, özgüven, proaktiflik, yansıma, güvenilirlik, açık toplantılar, deneyimleme, başarısızlığa alışkın olma, değişim cesareti

Ekip Oluşturma: Farklı bakış açılarını anlama, işbirliği kurma, ortak sorumluluk alma, ortak amaca hizmet edebilme, ekiple entegre olarak hizmeti/ürünü destekleme yeteneği

DevOps Liderliği: Ekiplerin yüksek performansa ulaşması için destek vermek, alçakgönüllülük, şeffaflık, hizmet yaşam döngüsü ilkesi, paydaş yönetimi

Sürekli gelişim: Yapılan işi her gün iyileştirme prensibini benimseme, Kaizen düşünce yapısı, kaliteli kaynak, ilk denemede doğru onarım, bilgi paylaşımı, uyum yeteneği

DevOps_Dönüşümü_Yetkinlik_Modeli_Radarı
Competence Model Radar

Bilgi Alanları

İş Optimizasyonu: Kullanıcı görüşlerinin doğrudan geribildirim döngüsüne eklenmesi, hizmet seviyesi yönetimi, yapılan işin tanımı, iş etkinliği / performans izleme, vaka yönetimi gibi IT hizmeti yöntemlerinin gerçek hayatta kullanılması

İş Analizi: Fonksiyonel gereksinimler, fonksiyonel olmayan gereksinimler (piyasadaki gelişmelere dayanarak), iş sürecinin daha uzun vadeli gelişimi, veri analizi ve iyileştirme

Mimarlık & Tasarım: Geliştirmeler ve mevcut durum arasındaki uyumluluğu sağlama, genel hizmet tasarımı, paternler ve stiller

Programlama: Yazılım mühendisliği becerisi, everything as code, veri yönetimi

Continuous Delivery: Test otomasyonu, deployment ve release yönetimi, konfigürasyon yönetimi, versiyon kontrolü, bulut, konteynerleştirme, özellik odaklı delivery

Test Özellikleri: Test senaryolarının tasarımı, test kavramları

Infrastructure Mühendisliği: Teknik izleme, performans yönetimi (örneğin yük dengeleme vb.), kapasite ve kullanılabilirlik yönetimi, güvenilirlik mühendisliği, bulut, konteynerleştirme

Güvenlik, Risk & Uyumluluk: Güvenlik, hizmet sürekliliği planlaması

Ekip Yetkinlik Değerlendirmesi ve Eksikliklerin Kazandırılması

Ekip üyeleri ile yapılacak yetkinlik değerlendirme çalışmaları sonucunda, her birinin güçlü ve zayıf yönlerinin belirlenmesi ile ilk adım atılmış olacaktır. Bu değerlendirme için anket ve mülakat teknikleri en hızlı ve güvenilir yöntemler olarak ön plana çıkıyor. Çalışmalar sonucunda, DevOps takımı içindeki ekip üyelerinin verimli bir çalışma gerçekleştirmeye ne kadar yatkın ve hazır olduğu modellenir.

DevOps_Dönüşümü_Ekip_Yetkinlik_Değerlendirme
DevOps Team Scan

Takım üyelerinin hangi alanlarda gelişmeye ihtiyaç duyduğunun belirlenmesinin ardından, ilgili konularda eğitim ve uygulamalar ile bu eksiklerin giderilmesi ikinci adım olmalıdır. Elbetteki her üyenin ihtiyaçları birbirinden farklılık gösterecektir. Ancak ilk aşamada, tüm üyelerin farklı konularda temel seviyede bilgi sahibi olması sağlanmalıdır. Buradaki esas amaç ise, ekip ve organizasyon içerisindeki tüm paydaşların DevOps konuları üzerinde ortak bir bilgi, kültür ve terminolojiye kavuşması ile aynı dili konuşmasının sağlanmasıdır.

Bu temel bilgi seviyesi sağlandıktan sonra ise, her bir üyeye ihtiyaç duyduğu alanlarda gelişme imkanı sunulmalıdır. Üyelerin farklı ihtiyaç ve yetkinliklerinin olması oldukça doğal ve gerekli olmakla beraber, bir araya geldiklerinde herhangi bir bilgi veya beceri eksikliğine düşülmemesi temel hedef olarak düşünülmelidir.

Somutlaştıracak olursak; Product Owner görevindeki kişinin Business Value, Business Analysis, Team Building gibi alanlarda öne çıkan yetkinliklere sahip olması beklenirken, “Infrastructure” alanında çalışan ekip üyesinin Continuous Delivery, Programming gibi alanlarda yetkinlik sahibi olması beklenmektedir.

Competence Model’de benzeşen ihtiyaçları modellemek üzere üç farklı anahtar profil tanımlanmıştır. Profesyonel seviyede bu üç alanda da gelişim programları ve içerikleri tanımlanmış ve uygunlanmaktadır. Referans model hakkında daha fazla bilgi sahibi olmak için: “A Journey of the DASA DevOps Competence Model in Practice

DevOps_Dönüşüm_Üç_Ana_Profil
Üç Ana Profil