Üstteki görsel dzone.com sitesinden alınmıştır.

Bir Girişimin, Teknoloji Ekibinin Büyüme Süreci - Karın Ağrıları - CTO Sorumlulukları

Doğan Aydın

--

Her organizasyon büyüme evresinde çeşitli zorluklar, karın ağrıları yaşıyor. Kendi gözlemlerimi paylaşarak özellikle teknoloji ekiplerindeki sayısal artışın iş yapış şekilini, organizasyonu, organizasyon içindeki kişileri nasıl etkilediği üzerine bir yazı yazmak istiyorum. Şirketin ilklerinden biri olup, büyüme sürecini gözlemleyecek kadar o şirkette kalmayı, bu süreci uçtan uça gözlemleyecek bir pozisyonda çalışmayı ve sonrasında bunu paylaşmayı gerektirdiği için internette dahi az paylaşılan bir konu bu.

Büyüyen bir takımın 10 kişi, 50 kişi, 100 kişi ya da daha fazla kişi iken yaptığı işin süreçleri doğal olarak farklı olmak zorundadır. Bunları kendi gözlemlerime göre bir kaç gruba ayırıyorum.

  • 10 kişilik takım dönemi
  • 50 kişilik takım dönemi
  • 100 kişilik takım dönemi

Gruplamayı sayısal bir değerle ifade etmek için 10, 50 ve 100'ü tercih ettim. Herkesin yaşayacağı tecrübe, durum kendine özel olacaktır mutlaka. Bu sebeple paylaştığım bu rakamlar artı, eksi oynayacaktır. Belki ilk grup 20 kadar kişi için de geçerli olabilir. Diğer yandan 50 veya 100 için de artı, eksi oynayacaktır.

10 Kişilik Takım Dönemi

Bu dönemin ismine “Aile Dönemi” de denebilir. Takımın yediğinin, içtiğinin bir olduğu dönem. Her bir üyenin takım içinde birbirini iyice tanıdığı, günün ilk saatlerinden son saatlerine kadar birlikte geçirdiği, dolayısı ile yapılanları, yapılacakları tüm takımın net bir şekilde bildiği bir dönem. Bu dönemde toplantı kavramı bile yok gibi bir şey. Çünkü toplantıya ihtiyaç duyacak bir ortam yok, zaten takım devamlı bir arada. Bilgi paylaşımı çok yüksek, herkes birbirini samimi olacak seviyede tanıyor ve zaman geçiriyor.

Bu evrede takımın kendisi de, takımın üzerinde çalıştığı ürün de bilinirliği azdır. Takım kendini henüz tam anlamı ile kanıtlayamadığı bir aşamadadır. Dolayısı ile yetenekleri ekibe dahil etme konusunda zorlanılan bir dönemdir. Yetenekler genellikle şirketin ulaştığı hacmi, teknolojik stack’i(kullanılan teknolojileri) önemserler. Ancak bu evrede olan takımlar genellikle temel seviyede bir ürün sahibi olurlar ve teknolojik stack’i kalite değil hız odaklı çıktığı için best-practise’ler seviyesinde olmaz. Bu sebeple ekip üyeleri iş bitiren ancak işin kalitesinden çok sonucuna ulaşmaya odaklı profillerden oluşurlar.

Bu evrede ekibin temel kriteri hız oluyor. Ürünü en kısa sürede müşterinin kullanabileceği haline getirmek için çaba sarf edilir. Bu sebeple teknik borçların sıklıkla alındığı bir dönemdir. Diğer yandan “time-to-market” birinci öncelik olduğu için çok kapsamlı düşünülerek mimari yaklaşımlar belirlemek bu aşamada anlamlı olmayabilir. Bu aşamada şirketin gideceği yön de tam belli değildir. Teknik ekip yenidir, şirketi ve vizyonunu net bilmiyordur. Dolayısı ile time-to-marketing’in birinci öncelik olduğu bu dönemde teknik borç almadan takımı oluşturan kısıtlı yetkinlikler ile tüm işi çıkarmaya çalışmak genellikle mantıklı olmayacaktır.

Bu dönemde ekipteki liderin, CTO’nun sorumluluğu pek tanımlanabilir gibi değildir. Hem geliştirici, hem ürüncü, hem proje yöneticisi, hem tasarım süreçlerine dahil olan hem DevOps ile ilgilenen ve daha farklı bir çok sorumluluğu üzerinde taşır. Takımın bu evrede CTO’ya olan saygınlığının oluşması için kişinin teknik tarafta yetkinliğini takıma gösteriyor ve teknik konular üzerinde tecrübesini aktaracak seviyede olması gerekir.

50 Kişilik Takım Dönemi

Takım erken aşama denen dönemi geçmiş, ürün ya da ürünleri markette belirli bir noktaya gelmiştir. İş modeli bir noktada oturmuştur. Önemli olan ürünün ölçeklenmesidir. Ölçeklenme için üzerinde rahatlıkla geliştirme yapılacak, kapsamlı mimariler, servislere ihtiyaç duyulur. Bu aşamada artık temel kriter hız değil kalite olmaya başlamıştır. Teknik borçlar masaya gelmiş. Kimisi tekrar düzenlenir, kimisi hala devam eder. Diğer yandan takım artık bir değil birden çok takıma bölünmesi sebebi ile birbirinden bağımsız hale geldikleri bir dönemdir. Artık her takıma liderlik edecek birilerinin masada olması gerekir. İlk seviye yönetsel roller bu aşamada artık oluşur. PO/PM rolleri daha fazla sorumluluk sahibi ve yönlendirici duruma gelmiş olması gerekir.

Ürünün market-fit’ini bulmuş olması ya da takımın kendini kanıtlamış olması sebebi ile saygınlığı ile takıma dahil olan profiller değişmeye başlar. Daha yüksek yetkinlikteki kişiler takıma dahil olur. Takımdaki yeterli yetkinlikte olmayan kişiler ayrılmak durumunda kalır.

Artık aynı takım içinde hızla ulaşılabilir bir karar mercisi yoktur. Tanımsız konuların karar mercisine ulaştırılıp, yorum alınmasını süreci gerekecektir. Bu uzaklaşma ürünün isterlerine tüm ekibin eşit seviyede sahip olma oranını azaltır.

Yönetilebilir takımların oluşması ve ekibe katılan yetkinlikleri yüksek kişilerin beklentisi ile bir diğer önemli nokta olan proje yönetim süreçlerinin, sağlıklı bir şekilde yapılandırılmasını gerektirir. Eğer ilk aşamada uygulanmadı ise agile prensiplerinin temel yaklaşımlarının takım tarafından uygulanması gerekir. Proje yönetimi belirli bir disipline artık sahip olmalıdır.

Takımların birbirinden bağımsız çalışıyor olmasının, sorumlulukların dağıtılması vb. sebeplerden monolitik kurulan yapıların servislere bölünmesi gerekir.

Bu aşamada; CTO, ekipteki kişilerin her birinin hangi fonksiyon üzerinde çalıştığını genellikle bilir. Geliştirilen major fonksiyonlara hakim ve detay planlamayı takip edebilir durumda olabilir. Diğer yandan CTO’nun rolü teknikten daha çok insan yönetimine dönmüştür. Dolayısı ile teknik yetkinliklerden başka yetkinliklerin gereksinimi vardır. Hayatının önemli bir kısmını yazılım geliştiricisi olarak ve teknoloji üzerinde çalışarak geçiren birinin, bu konuyu ağırlıklı olarak bırakıp, insanları yönetimi, işe alım, performans değerlendirmeleri, kişilerin talepleri ve sorunlarının çözümü ile uğraşırken kendini bulur. Geliştirme odaklı bir profilin karşılaştığı bu yeni sorumluluklar genellikle kişinin üzerinde dramatik bir etkiye sahip olur. Bu dönem “CTO Career Chasm” olarakta ifade ediliyor. CTO’lar için zorlanacakları, kariyerlerini tekrar gözden geçirecekleri bir dönem olarak bilinir. Teknolojiyi seven, üzerine kafa yoran birisi iken teknik tarafı ağırlıklı bırakıp insan yönetimi üzerine çalışması, kişinin hayat beklentisini tekrar değerlendirmesine sebep olur. Bunu istemiyorsa ya da bu yetkinliğe sahip değilse oluşan problemlerden dolayı CTO ayrılıkları genellikle bu aşamada gerçekleşir. Linkedin üzerindeki CTO ilanlarına bakıldığında, ağırlıklı bu genişlikteki ekipler için CTO arayışının olmasının sebebi budur. CTO şirket ortağı ya da teknik bilgisi şirket için elzem noktada olan birisi ya da strateji tarafına odaklanma gereksiniminden dolayı insan yönetimi sorumluluğunu devretme kararı aldı ise bu noktada genellikle ekibe VPE(Vice President of Engineering) alımı gerçekleştirilip, insan yönetimi sorumluluğu bu kişiye bırakılır.

100 Kişilik Takım Dönemi

Ürün üzerine kafa yoran, geliştiren, test eden vb. pozisyonlar artık bu ölçeğe geldiğinde takımlar doğal olarak çok daha bağımsızlaştığı anlamına gelir. Bu aşamada takımlar birbirinin yaptığı işlerden çok daha az haberdar, zaman zaman ne üzerine çalıştıklarını üst perdenin dışında bilmez. Takım üyeleri farklı takımların üyelerini daha az tanır ya da hiç tanımaz.

Bu dönemde liderler, yöneticiler, yöneticilerin yöneticisi gibi roller oluşmuş olması gerekir. Sorumluluklar diğer yöneticiler ile paylaşılmıştır. Artık ekipler daha bağımsız, kendi içinde karar alabilir olarak yapılandırılmış olmalıdır. Bireysel olarak takip edilebilirlik mümkün olmaktan çıkmıştır.

Ekibe katılımın her geçen gün artması ile düzenin ve kültürün istenen seviyede devam etmesi ya da iyileşmesi için politikalar, standartlar, prensipler üzerine yoğunlaşılır. Takım kendi süreçleri için standartlar üzerine daha fazla kafa yorar hale gelir. Ekipler karar mercilerinden uzaklaştıkça, artık sorup cevap almak mümkün olmaktan uzaklaşmıştır. Takım üyeleri yapılacak işin gereksinimini detaylıca yazılı olarak talep ederler.

Teknoloji ekibinin dışında artık takımların çevresinde farklı birimler güçlenmeye başlar. Satış, destek, pazarlama vb. ekipler daha fazla görünür olur.

Bu ölçekteki bir takım yatırımcının sağladığı finansman ile değil, genellikle kendi yağında kavruluyordur. Ürünler belirli olgunluktadır, pazarda genellikle payı vardır. Artık üzerinde büyük bir ekip kod geliştirmektedir. Bu sebeple büyük bir ekibin üzerinde çalışacağı, sürdürülebilir bir stack olması için best-practice’ler daha fazla gereksinim haline gelmiştir. Kalitenin yanında sürdürülebilirlik, masadaki diğer önemli unsur olmuştur. Doküman coverage, test coverage, statik analiz metrikleri daha da önemli KPI’lar haline dönüşür. Şirketin CI/CD/CS gibi süreçlerinde testlerin koşması artık bir zaruriyet olmaya başlamıştır. Verilen hizmetlerin kesintisiz olması, yeni çıkacak versiyonun sistemi bozmayacak ya da güvenlik açığı oluşturmayacak olmasının temini temel sürdürülebilirlik gereksinimlerine dönüşmüştür.

CTO’nun rolü bu aşamada ağırlıklı olarak doğru kişileri, takımların yönetimine getirmek ve yöneticilerin KPI’larını tanımlayıp, takip etme noktasına dönmüş olur. Bir önceki aşamaya göre daha kolay ve doğal gelişen bir süreçtir. Sorumluluklar doğru profesyonellere aktarıldığında daha verimli daha iyi yönetilir birimler oluşur. Bu ölçekte birimlerin yöneticileri birimlerinin uzmanlığında daha fazla zaman harcayabilir, daha yüksek standartlar üzerine çaba sarf edebilir hale gelirler. CTO teknik sorumluluğunu hemen hemen üst perde dışında diğer yöneticilere aktarmıştır. Takım üyelerinin kişi bazlı ne yaptığını detay seviyede biliyor olmak mümkün olmaktan çıkmıştır. Üst seviye planlama dışında detayları takip edemez. Bu sorumluluğu diğer yöneticilere devretmiştir. Eskiden yaptığı gibi detayları takip etmeye çalışıyor olması ise genellikle yanlıştır, farklı konuları atlamasına sebep olur.

CTO artık şirketi tanıyordur, şirketin olduğu yeri ve gitmek istediği yeri iyi bilir hale gelmiştir. Bu noktada önemli diğer bir sorumluluğu, şirketin vizyonunu ekip üyelerine aktarabiliyor ve bu yöne doğru yönlendirmek için düzenli takip ediyor olmasıdır.

Daha fazla takım üyesini barındıran ilerleyen dönemler için şu an yeterli bilgi ya da tecrübem yok. CTO sorumluluğu tek bir çatı altında toplanmaktan uzaklaşıyor olabilir. Bugün Apple’ın, Amazon’un ya da Google’ın CTO’su bilmiyoruz. Çokta anlamlı olmadığı için belki de. Artık strateji konusunda bir üst akıl gibi konumlanan, altında CTO ve türevleri olan kişiler olabilir.

Ölçeklenme döneminin bir ritim içinde ilerlemesi sağlıklıdır. Şirket satın alması ile bir IT grubunun dahil olması ya da farklı bir teknoloji grubunun farklı bir grup ile birleştirmesi hali buna bir örnektir. Grup(Takım) birleşmeleri ya da gruba bir anda büyük farklı grubun dahil olması kültürel, yaklaşımsal, yönetsel, ilişkisel seviyede farklı bir çok problemin bir anda oluşmasına sebebiyet verir. Örneğin yönetsel bir darlık yaşayıp onu genişletmek için görüşmeler yapıldığı noktada ciddi sayıda yeni takım üyesinin ekibe bağlanması doğal olarak var olan dar boğazın çok daha genişlemesine sebep olur. Yeni katılanların hem yönetsel, hem yaklaşımsal, hem de kültürel ritme girmesi uzunca bir süre alır. Çatı olarak hepsine kültür dersek, kültürün değişmesine, dönüşmesine de sebep olur. Çünkü kültür her bir ekip üyesinin toplamı ile tekrar oluşan bütünleşik bir yapıdır. Bundan dolayı çoğu ekip birleşmesi başarısızlık ile sonuçlanmaktadır.

Bahsetmeye çalıştığım takım tipi genellikle erken aşamadaki bir girişimin büyüme süreci ve sancıları içindi. Teknik yetkinliği yüksek olup, iş sonlandırma odağı olan bir CTO için ekip ölçeklendirme konusu başlı başına farklı bir uzmanlık. Genellikle girişim sahiplerinin kendileri de ekibin ölçeklenmesi konusunda yeterli tecrübeye sahip insanlardan oluşmuyor. Onlar da sorumluluklarını farklı profesyonellere bırakmadıkları noktada karın ağrıları şirketin diğer birimleri için de geçerli olur. Maalesef şirketin birimlerinden birinde oluşan bir darboğaz tüm birimlerin tıkandıkları bir noktaya dönüşüyor.

Bir yılanın daha büyümek için deri değiştirmesi ya da bir yengeçin kabuğunu terk edip daha büyük yeni bir kabuğa geçmesi gibi bu geçiş dönemleri stresli ve zaman zaman problemleri içinde barındıran dönemler olur.

Zaman zaman bu problemleri gözlemleyip, konu üzerinde bilgi edinmek ve konuyu daha önceden tecrübe etmiş kişiler ile sürecin üzerine çalışmak yumuşak geçişi sağlamaktadır.

Her bir dönem için değinecek çokça konu var. Yani bu pilav çok su kaldırır… Ancak şimdilik bu kadar. Herkese kendi yolculuğunda başarılar dilerim...

Dogan Aydin

Yorum yazarak ya da Twitter veya LinkedIn üzerinen bana direk mesaj atarak ulaşabilirsiniz. Twitter üzerinde teknoloji odaklı paylaşımlar yapıyorum daha fazlası için twitter’dan beni takip edebilirsiniz.

Referanslar

Teşekkürler

Editoryal düzenlemelerinden dolayı Berat Güvenç Genç teşekkürler.

--

--

Doğan Aydın

CTO@TurkNet, Software developer, Dad, History book lover, Cyclist, EU4 and HIO4 video games fan, Junior writer, Amateur traveler