Yazılım dünyasının en büyük zorluklarından biri, mevcut organizasyonel düşünce biçimininin değiştirilmesidir. Tüm dönüşümlerin temelinde belirli bir felsefe bulunduğundan, Dijital, Çevik veya DevOps dönüşümü fark etmeksizin bazı sorunlar yaşanabilmektedir. Öncelikle böyle bir dönüşüme neden ihtiyaç duyulduğu ekiplere doğru şekilde anlatılarak, gerekli yetkinlikler kazandırılmalı ve dönüşüm aşamasında yaşanan sorunların çözümü için mümkünse uzman desteği alınmalıdır.
Bu aşamada yaşanan sorunların oluşturduğu kaotik ortam kişilere rahatsızlık verdiğinden, en hızlı şekilde düzen oluşturma arayışı başlar. Tam da bu arayış içerisinde, fark edilmeksizin birçok hata yapılabilir. Bunlar arasından en sık karşılaşılanlar:
1.DevOps’un bir süreç veya araç olduğunu düşünmek
DevOps bir araç veya süreçten ziyade, geliştirme ve operasyon ekiplerinin bir arada uyum içerisinde, etkin bir şekilde çalışmalarına sağlamayı hedefleyen kültürel ve düşünsel bir dönüşüm aktivitesidir. Ancak elbette, bu durumda DevOps içerisinde herhangi bir süreç kurgulanmayacağı veya araç kullanılmayacağı anlamına gelmiyor. Aksine, istenilen kültürel dönüşümün araçlar ile desteklenmesi sonuçların çok daha istenilen düzeyde olmasına yardımcı oluyor.
2.Sistem ekiplerinin ismini DevOps ekibi olarak değiştirmek
Muhtemelen en sık gerçekleştirilen hatalar arasında, mevcut sistem ekiplerinin isimlerinin DevOps ekibi olarak değiştirilmesi yer alıyor. Bu durum trendleri yakalamak isteyen ancak herhangi bir değişiklik niyetinde olmayan organizasyonların genel davranışı olarak ön plana çıkıyor. Elbette böyle bir durumda kolaylıkla sorun olduğu anlaşılabilir. Ancak bu sorunun ötesinde, daha farklı bir soru sormak gerekebilmektedir. Kurumlarda ayrı bir DevOps ekibi bulunması gerekli midir? Cevabın çok kolay olduğunu söyleyemesek de, ortama bağlı ve dikkatle verilmesi gereken bir karar olduğunu ifade etmek gerekiyor.
3.DevOps dönüşümü sürecinin sihirli olacağını düşünmek
DevOps her ne kadar oldukça etkin bir yöntem olsa da, yaşanan tüm sorunların çözümü olabileceğini düşünmek oldukça iyimser bir yaklaşım olur. Müşteri taleplerinin doğru alınamadığını, kod kalitesinin yeterli seviyede olmadığı, test uzmanlarının hataların tespitinde yetersiz olduğu bir ortamda başarının yakalanması oldukça güç. Bunun yanında IT dışı, satış, pazarlama, insan kaynakları gibi konuların da şirket başarısına etkisi mutlaka göz önüne alınıyor olmalıdır.
4. Kar tanesi sunucular oluşturmak
DevOps dönüşümü, birçok alt alanda ilerleme sağlanması ile gerçekleşiyor. Birçok alanda gelişme sağlanmasına rağmen (örneğin CI, Unit Testing, Monitoring ), sunucu konfigürasyonlarının halen manuel gerçekleştiriliyor olması, otomasyon ve dönüşümden sağlanan faydayı oldukça minimuma indirir. Zira, manuel olarak konfigürasyonu gerçekleştirilen sunucuların birbiri ile eşlenik olması neredeyse hiçbir zaman mümkün olmaz. Ortamlar arası bu farklılıklar canlı geçişi öncesi testlerin doğru yapılmasından, ölçekleme amacıyla sunucu sayısının artırılabilmesine kadar birçok konuyu olumsuz olarak etkileyecektir.
5. Geçiş için düşük trafikli zamanları beklemek
Geleneksel değişiklik yönetiminde oldukça faydalanılan ve doğru bir yöntem olmasına rağmen, DevOps süreç ve araçlarının doğru kurgulandığı organizasyonlarda böyle bir duruma gerek kalmaması beklenmektedir. Kullanılacak doğru deployment yöntemleri ile herhangi bir kesinti olmadan, yeni uygulama versiyonunun kullanıcılara ulaştırılması mümkün hale gelir. Aynı zamanda kaos mühendisliği gibi yaklaşımlar, bir hata oluşması durumunda sistemlerin buna hazırlıklı olmaları için sürekli olarak egzersiz edilmelerini sağlar.
6. Müşteriye sunum için değişikliklerin birikmesini beklemek
Değişikliklerin bir arada müşteriye sunuluyor olması, DevOps süreçlerinin özellikle otomasyon anlamında yeterli olgunluğa erişmediğinin önemli bir göstergesi olarak kabul edilebilir. DevOps dönüşümü ile hedeflenenlerden biri, yapılan geliştirmelerin mümkün olan en kısa süre içerisinde, herhangi bir sorun oluşturmadan canlıya çıkışının sağlanmasıdır. Zira, yapılan değişikliklerinin toplu halde geçişinin beklenmesi organizasyonel çevikliğe önemli bir ket vurarak, kurumların rekabetçi avantajının azalmasına neden olacaktır.
7. Diğer firmalara benzemediğini düşünerek, DevOps dönüşümü gerçekleştiremeyeceğine inanmak
Organizasyonlar da tıpkı insanlar gibi kendilerinin özel, diğerlerinden oldukça farklı olduğunu düşünme eğilimdedir. Eşsiz oldukları fikrindedirler. Ancak durum birçok zaman bundan oldukça farklıdır. Kurumların önemli bir bölümünün kendine özel iç kurguları olmasına rağmen, rakip veya sektördeki diğer şirketlerden çok da farklılaşmadıkları rahatlıkla söylenebilir. Elbette, bu tüm organizasyonlar için hedeflenmesi gereken DevOps olgunluk seviyesinin aynı olması gerekeceği anlamına gelmez. Bir teknoloji firması ile finans kuruluşunun koşul ve hedefleri oldukça farklılık gösterir. Tabi olunan regülasyonlar, iş kuralları ve legacy uygulamalar bağlamı, bağlam ise kısıt ve olasılıkları belirler. Yine de yakın bağlamlarda bulunan kurumların benzer pratiklerden faydalanma ve bunları yaygınlaştırma imkanları bulunuyor.