DevOps ve Agile Arasındaki Farklar Nelerdir? - kloia Blog
DevOps ve Agile birbirinin rakibi değildir ve farklı alanlara dokunduklarından dolayı birbirini tamamlayıcı niteliklere sahiplerdir.
Agile yaklaşımlar müşteri ile geliştirme takımı arasındaki süreçlere odaklanırken, DevOps ise geliştirme takımı ve Operasyon takımları arasındaki süreçlere odaklanır.
Agile, bir User Story'nin geliştirmesinin tamamlanmasına kadar olan süreç ile ilgilenir, fakat geliştirme sonrasındaki süreç olan
- Release/Deployment
- Continuous Delivery
- Infrastructure Automation
- Monitoring/Measurement
- UAT Automation
konularını açıkta bırakmaktadır. DevOps ise Developer ve Operasyon birimlerini birbirlerine yaklaştıran süreçleri teşvik ederek, bu açığı kapatmak ve uçtan uca çevikliğin sağlanmasını amaçlamaktadır.
Özellikle System Admin/Altyapı tarafından gelenler bilir ki, müşteri tamamlanan koddan ziyade vitrininizdeki kodu görür, dolayısıyla Agile 'in dokunduğu alana kıyasla daha hassas ve göz önünde bir alandır. DevOps işte bu ve Agile süreçlerin zayıf olduğu alanlara odaklanarak uçtan uca çevikliğin sağlanmasına yardımcı olur.
2 tarafın dokunduğu alanlar açısından ufak bir tablo hazırladım:
Agile | DevOps |
Embrace change | Embrace testing & Delivery |
Embed customer in team | Embed Ops in team |
Soft skills + Engineering | Engineering |
Bir diğer önemli husus ise DevOps üzerinde odaklanmış takımlardaki (Bunun bir rol/takım olması her ne kadar bir anti-pattern ise[1] de piyasada görüyoruz) Dev ve Ops tecrübelerinin dengeli olması gerekliliğidir. Sadece Developer background undan gelenlerde odak Continuous Delivery ve Containerization olurken, Sistem Admin tarafından gelenlerde scaling, fault tolerence, automated provisioning gibi alanlar olabilmektedir. İşte bu bakımdan DevOps rolü/takımının pratikte bu iki alandan birini boşta bırakma riski vardır. Fakat hem Dev, hem de Ops tarafında tecrübesi olan bir DevOps takımı, organizasyondaki mevcut takımlara, yürütme ve geliştirmeyi onlara bırakacak şekilde, bu kültürü aşılama rolü oynayabilir…
DevOps ve Agile ı, genel "Organizational Agility" altında düşünerek, alttaki gibi resmetmeye çalıştım:
Benim gördüğüm ve tecrübe ettiğim üzere tek kesişimleri Lean prensiplerdir. Hem Agile, hem de DevOps, günün sonunda 3 temel Lean günahını [2] yoketmeye çabalarlar.
Agile ve DevOps 'un ölçümlediği metrikler de bu doğrultuda farklılıklar göstermektedir:
Agile KPIs | DevOps KPIs |
Innovation Rate | Deploy Frequency |
Usage Index | Change Lead Time |
Strategic Alignment Index | MTTR(Mean-time to recovery) |
Velocity | MTBF(Mean-time between failuers) |
Customer Satisfaction Index | Change Failure Rate |
Agile KPIs DevOps KPIsInnovation Rate Deploy FrequencyUsage Index Change Lead TimeStrategic Alignment Index MTTR(Mean-time to recovery)Velocity MTBF(Mean-time between failuers)Customer Satisfaction Index Change Failure Rate
Deployment frequency boyutunda, günlük defalarca automated Live a çıkan takımlarda/ürünlerde, yani Continuous Deployment pratiğinde, Scrum gibi iteratif framework ler stres altında kalmaktadır.
İki konunun birbirinden farklı uzmanlıklar gerektirdiğini, bazı acquisition örneklerinden [3] de referans alabiliriz.
DevOps yolculuğunuzda sadece Dev değil, Ops üzerinde de uzmanlığın yer aldığından mutlaka emin olun
Bunu söylememin nedeni, özellikle Türkiye'de DevOps=Dev i çok fazla görüyor olmam.
DevOps yolculuğu Agile yolculuğunun stres altına bıraktığı organizasyon yapısına dokunmaz, yani Agile yolculuğunuz kadar riskli değildir, mevcut yapıya enjekte edilebilir.
DevOps'un, Development'ı outsource etmiş, ama Operasyonu içeride tutan şirketler için gün1 value sağlamaya başladığı alanlar bulunmaktadır.
[1] : http://martinfowler.com/bliki/DevOpsCulture.html
[2] : http://www.panview.nl/en/lean-production-toyota-3m-model/toyota-3m-model-muda-mura-muri
[3] : http://www.crn.com/news/cloud/300074831/vmware-acquires-professional-services-firm-to-boost-cloud-migration-devops-expertise.htm
Derya (Dorian) Sezen
Derya, a.k.a. Dorian, ex-CTO of an amazon.com subsidiary, is currently working as Cloud and DevOps Consultant at kloia.