Search:

DevOps ve Agile

DevOps ve Agile birbirini tamamlayıcı alanlar mıdır?

Category: DevOps Agile
Category: DevOps Agile

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.