Daha önce çalıştığım şirketlerin birinde, IT personelinin CFO’ya yapmış olduğu bir sunum sırasında yaşanan bir olayı hatırlıyorum. Sunumun ilk 30 dakikasından sonra CFO sunumu yarıda kesip “Je ne parle pas français!” diye bağırmıştı. Aslında, “söylediğinizden tek bir kelime bile anlamadım” dedi.
Özellikle büyük şirketlerde yıllardır, IT ve iş birimlerinin birbirlerini yeterince anlamadıkları hakkında şikayetlerini dinleyip duruyoruz. Şirketin hangi endüstride olduğundan bağımsız olarak, odak alanlarının farklı olmasından ötürü bu iletişim sorunu mevcut. İş birimi, piyasada yaşanan değişimlere adapte olabilmek için projeler üretir, bu projeler IT’ye “fırlatılır”, IT de bu taleplere satın alma, yazılım geliştirme ve proje yönetimi kabiliyetleri ile yanıt vermeye çalışır. Bu yaşananlar sırasında IT ve iş birimleri iletişim kurmak zorundadır. Hipotezimde de göreceğiniz üzere bu konuda pek başırılı sayılmayız. Bu eksik iletişimin sonucu olarak, iş birimleri taleplerinin kısıtlı olarak karşılandığından, IT ise bütçe, insan kaynağı ve sürenin yetersiz olduğundan şikayet eder. Bu filmi yıllardır hep birlikte izliyoruz.

Benzetmelerle biraz daha basit anlatmaya çalışalım: Biz IT olarak taksi şöförüyüz, iş birimleri ise müşterimiz. Yolcu bir yere gitmek istiyor ama biz IT olarak adresi tam anlayamıyoruz. Böyle bir senaryoda, normal dünyada ne yapabiliriz? Örneğin ben, yolcudan gitmek istediği yerin koordinatlarını talep ederim. Müşteri karmaşık bir adresi tarif etmek yerine “50, 01′ 56″ N, 8 33′ 20″ E (Lufthansa Aviation Center koordinatları) gitmek istiyorum” demiş olsa, bu yeri tam olarak ve yanlış anlaşılmaya mahal kalmadan anlamış oluruz. Sonra tam gaz yola…
Başlığın cevabı olarak şunu söyleyebilirim: Hayır, maalesef ortak bir dilimiz mevcut değil. Her ne kadar ortak hedefimiz şirketimizin azami karlılığı olsa da farklı odaklarımız ve uzmanlık alanlarımız var. Sırf bu uzmanlık boşluğu yüzünden, aramızda iletişim kurabilmesi için iş mimarları ve iş analistleri gibi roller mevcut. Bu durumda şu soruyu sorabiliriz: “Peki en azından ortak bir koordinat sistemimiz mevcut mu?”. Haberler güzel, evet var ve tam olarak kurumsal mimari disiplininin altında saklı: İş Kabiliyetleri Modeli
İş kabiliyetleri modeli, çok basit bir anlatımla, şirketimizin değer (kar) yaratmak için “ne” yaptığıdır. Bu kategorizasyon şirketin organizasyon yapısından bağımsız olduğu için de tartışmalara mahal vermeyecek şekilde düzenlenebilir.

Yukarıdaki şemayı takip edecek olursanız, havayolu endüstrisinde ortak bulunan kabiliyetler “müşteri”nin hareketlerini takip ederek tasarlanmıştır. Daha detaylandırıp alt kabiliyetlere geçtikçe en altta ve en küçük birim olarak “iş mantığı” (business logic) na ulaşmış olursunuz. Bu haritayı kullanarak, iş birimi ile aynı resme baktığınızı bir düşünün. İş birimindeki kravatlı arkadaşlarımız “Ben 2.1.1.1.1 kabiliyetindeki kontrolü 20’den 30’a çıkartmak istiyorum” demiş olsun. İşte! İşaret edilen kabiliyetin tam olarak hangi uygulama ile sağlandığını, değişimin ne kadar süreceğini ve tam olarak nerede düzenlemeler yapmanız gerektiğini biliyorsunuz.
IT’de ki dostlarımız için başka güzel haberler de var. İş kabiliyetleri modelinizi tertipli bir biçimde hazırlayacak olursanız, aynı zamanda gelecekte ihtiyacınız olacak microservice’lerin listesine de ulaşmış olursunuz. microservice şemalarında (pattern) da tarif edildiği üzere, yeknesak (monolithic) bir uygulamanın, microservice mimarisiyle tasarlanmasının en akla uygun yolu, onu iş kabiliyetlerine göre bölmektir. İş fonksiyonları listenize ulaştığınızda, tasarlamanız gereken microservice’lerin de listeni bir anda elinizde bulacaksınız. Artık, dijital dönüşümünüze, yol haritanıza ve ana planınıza geçebilmek için ihtiyacınız olan her şey hazır!
Uzun lafın kısası, uygun iletişim aşağıdaki söylem ile çok güzel izah edilmiştir:
“Sistem tasarlayan organizasyonlar, daima iletişim yol ve metodlarının kopyaları olan sistemleri tasarlarlar.” M. Conway