Rapsodo Studios’un İnşası: Ölçekten Önce Kaldıraç

Read in English →

Yaklaşık iki yıl içinde Rapsodo Studios’u sıfırdan kurduk ve 10 ila 11 kişilik bir ekiple, temelden geliştirdiğimiz golf simülasyon platformunu pazara sunulmaya hazır hale getirdik. Bunu bilinçli olarak yalın bir organizasyonla ve düşük tek haneli milyon dolar seviyesinde toplam yatırımla gerçekleştirdik.

Yalnızca simülasyonun kendisini değil; arkasındaki oynanış ve fizik sistemlerini; yüksek kaliteli, gerçek zamanlı görselleştirme (render) altyapısını; golf sahası üretimine özel teknolojileri, özel bir saha geliştirme editörü ve üretim hattını; yeniden kullanılabilir araç ve iş akışlarını, çevrimiçi servisler ile analitik için gerekli temelleri de geliştirdik.

Bu süreçte organizasyonel iş yapış sistemimiz, icra modelimiz ve kültürümüz en önemli kaldıraç unsurlarımızdan bazılarına dönüştü. Sürekli öğrenme, devamlı iyileştirme ve güçlü bir çalışma disiplini de bu yapının temelini oluşturdu.

Ürünümüz artık yayınlanmaya yaklaşırken, geriye dönüp başlangıçta neyi hedeflediğimizi, bu hedefe nasıl yaklaştığımızı ve bu kaldıraç etkisini hangi unsurların yarattığını ele almak istiyorum. Aynı zamanda, yaptığımız organizasyonel tercihlerin küçük bir teknoloji ekibinin yalnızca ekip büyüklüğüyle açıklanamayacak ölçüde yetkinlik geliştirmesine nasıl katkı sağladığını paylaşmak istiyorum.

Sıfırdan Bir Teknoloji Organizasyonu Kurmak

Kariyerim boyunca yazılım ürünlerinin geliştirilmesinde rol alırken, organizasyonları inceleme ve hem başarılı hem de başarısız ürünlerin nasıl ortaya çıktığını tecrübe etme fırsatı buldum. Bu tecrübeler sonucunda, doğru insanlar, sistemler ve bağlam bir araya geldiğinde küçük, otonom ve sahiplenme düzeyi yüksek bir ekibin; daha az organizasyonel yük, daha kısa geri bildirim döngüleri ve daha güçlü ürün odağıyla, ölçeğinin çok üzerinde bir geliştirme yetkinliği yaratabileceğine inanmaya başladım.

Bu düşünce, Rapsodo Studios’u inşa ederken benimsediğim yaklaşımın önemli temellerinden birini oluşturdu. Daha geniş anlamda ise oyun, simülasyon ve etkileşimli teknolojiler alanlarında karmaşık ürünler geliştiren yüksek performanslı teknoloji organizasyonları kurma ve geliştirme anlayışımın temel prensiplerinden biri haline geldi.

Rapsodo Studios’u kurmaya başladığımızda ihtiyaç duyduğumuz yetkinliklerin çok azı mevcuttu. Devralabileceğimiz oturmuş bir oyun stüdyosu, olgunlaşmış bir simülasyon yazılım organizasyonu ya da bir ekibin gelip işletebileceği bir üretim platformu yoktu.

Pazara hazır bir golf simülasyonu, birbiriyle bağlantılı birçok farklı yetkinlik gerektirir. Gerçekçi golf fiziği ve güvenilir vuruş davranışı; oynanış sistemleri, kurallar, kameralar, antrenman deneyimleri ve rekabetçi modlar; farklı performans hedeflerinde yüksek kaliteli golf ortamları üretebilen modern bir gerçek zamanlı görselleştirme altyapısı; çok oyunculu deneyimler, turnuvalar, liderlik tabloları, kullanıcı hesapları, veri toplama ve analitik gibi çevrimiçi özellikler için gerekli temeller ve elbette golf sahaları gerekir.

Golf sahalarının dijitalleştirilmesi zamanla başlı başına önemli bir teknoloji problemine dönüştü. Gerçek golf sahalarının dijital karşılıklarını gerçekçi, tekrarlanabilir ve verimli bir şekilde üretebilmek için çevre görselleştirme çalışmalarının (environment art) ötesine geçmemiz gerekiyordu. Coğrafi ve konumsal verilerin işlenmesi, arazi işleme, özelleştirilmiş iş akışları, yeniden kullanılabilir üretim sistemleri, doğrulama ve belgeleme bu üretim sürecinin önemli parçaları haline geldi. Bunun sonucunda görsel üretimi, coğrafi verileri ve mühendisliği bir araya getiren özel bir golf sahası üretim sistemi ve editörü geliştirdik.

Kısacası, yalnızca gerekli çıktıları üretmedik; o çıktıları üretecek sistemleri de kurduk.

İnsan Sayısından Önce Sistemler ve Sahiplenme

Yazılım organizasyonları karmaşıklık arttıkça kadrosunu büyütme eğilimindedir. Ürün kapsamı genişledikçe organizasyonlar daha fazla insan ve daha uzmanlaşmış roller ekler. Ancak iyi tanımlanmış sistemler, güçlü kültürel normlar ve sorumlulukların netliği olmadan organizasyonu büyütmek, kapasite yarattığı kadar hızlı biçimde yeni karmaşıklıklar da yaratmaya başlayabilir.

Daha fazla insan, daha fazla koordinasyon ihtiyacı yaratır. Daha fazla koordinasyon ise ek yönetim ihtiyacı, süreçler ve organizasyonel bağımlılıklar doğurur. Bunlar dikkatlice tasarlanmazsa toplantılar ve sorular artar, kararlar yavaşlar; sonuçta gereksiz gerilim ve organizasyonel sürtüşme ortaya çıkar.

Studios’ta bu probleme farklı yaklaşmak istedik. Organizasyonel ölçekle başlamak yerine sistemler, sahiplenme ve yetkinlikle başlamayı tercih ettik. Tekrarlanan işleri mümkün olan her yerde sistemleştirmeye ve yalnızca o anki işi tamamlamak yerine gelecekteki işleri de kolaylaştıracak yetkinliklere yatırım yapmaya karar verdik.

Studios bu yolculuğun büyük bölümünde yaklaşık 10 ila 11 kişiyle çalıştı ve organizasyon ağırlıklı olarak sanat ve mühendislik ekipleri etrafında şekillendi. Hiçbir zaman ürün yöneticisi, yapımcı, proje koordinatörü veya yalnızca manuel teste odaklanan test uzmanı rollerimiz olmadı. Farklı unvanlar altında aynı işlevleri yerine getiren eşdeğer roller de oluşturmadık.

Organizasyonu bilinçli olarak konuya ilişkin bağlama sahip insanların etrafında kurduk. Sorumluluğu uçtan uca bu insanlara verdik, kararların gerekli bağlama en yakın noktada alınmasını sağladık, gereksiz koordinasyon katmanlarını ortadan kaldırdık ve işin tekrar eden kısımlarını sistemlere, araçlara ve otomasyona dönüştürdük.

Küçük bir ekiple çalışmak, bizim için daha uzun çalışma saatleri anlamına gelmedi. Yaklaşık iki yıllık geliştirme sürecinin tamamında ekip yalnızca birkaç saat fazla mesai yaptı. Bunun yerine sürekli planladık, riskleri erkenden görünür hale getirdik ve iletişimi açık tuttuk. Böylece problemler teslim tarihlerini tehdit eden krizlere dönüşmeden önce kapsamı, öncelikleri veya izlediğimiz yolu değiştirebilecek zamanımız oldu.

Yüksek Sahiplenme Düzeyine Uygun İşe Alım

En başından itibaren işe alım sürecimizi bu modeli mümkün kılacak şekilde tasarladık. Her adayı yalnızca teknik bilgisi üzerinden değil, akıl yürütme biçimi, problem çözme yeteneği, iletişimi, muhakemesi ve sahiplenmeye yaklaşımı üzerinden de değerlendirdik. Etkisiz bulduğumuz uygulamaları kaldırdık ve işe alım sürecinin kendisini de sürekli geliştirilmesi gereken bir sistem olarak ele aldık. Görüşmelerden, işe alımlardan, performans değerlendirmelerinden ve ekipten ayrılma süreçlerinden sonra sistemi yeniden değerlendirdik ve öğrendiklerimiz doğrultusunda yeni yaklaşımlar geliştirdik.

Aynı özeni ekibi ne kadar hızlı büyüttüğümüz konusunda da gösterdik. Studios iki kişiden on kişiye bir anda ulaşmadı. Yaklaşık bir yıl boyunca ekibi adım adım büyüttük ve her yeni işe alımdan önce mevcut ekibin çalışma modelini ve kültürü anlayıp benimsemesi, bunların ekip içinde yerleşmesi için zaman tanıdık. Böylece yeni katılanlar, beklentilerin, sorumlulukların ve çalışma biçiminin halihazırda oturduğu bir organizasyona dahil oldular. Yalnızca adayın Studios’a katılmaya hazır olup olmadığına değil, organizasyonun da yeni bir kişiyi kurduğumuz çalışma biçimini ve kültürü zayıflatmadan ekibe dahil etmeye hazır olup olmadığına baktık.

Bu süreç boyunca işe alım çıtasını düşürmedik. Doldurmak için aylarca beklediğimiz, sonunda hiç alım yapmadan kapattığımız veya doğru kişiyi bulduğumuzda birkaç gün içinde doldurduğumuz pozisyonlar oldu.

Bu çalışma modelinde yalnızca bilgi ve birikim açısından güçlü olmak yeterli değildir. İnsanların aynı zamanda otonom çalışabilmesi, gerektiğinde doğru kararları verebilmesi ve aldığı sorumluluğu taşıyabilmesi de önemlidir. Bu özelliklerin tamamını bir arada taşıyan insanları bulmak da karşılaştığımız en önemli kısıtlardan biri haline geldi.

Doğru kişiyi bulamadığımızda sırf ekibi büyütmüş olmak için işe alım yapmak yerine, hedeflediğimiz kaliteyi ve teslim takvimini korumak için kapsamı ve yol haritasını mevcut ekibin kapasitesine göre yeniden düzenledik. Bu standardı korumak, kurduğumuz organizasyona uygun olmadığını gördüğümüz kişilerle ilgili zor kararlar almamızı da gerektirdi.

Tekrarlayan Problemleri Altyapıya Dönüştürmek

Aynı prensip, tekrar karşılaşacağımızı düşündüğümüz problemlere yaklaşımımızı da şekillendirdi. İster saha üretimi gibi birden fazla ekibi ilgilendiren bir konu, ister fizik geliştirme gibi daha spesifik bir alan olsun; bir problemin tekrarlanacağını öngörüyorsak yalnızca o anki çözümü üretmekle yetinmedik. Bu çözümü kalıcı ve tekrar kullanılabilir bir altyapıya dönüştürmenin mümkün olup olmadığına baktık.

Buradaki anlamıyla altyapı her zaman yazılım demek değildi. Daha net tanımlanmış sorumluluklar, doğru dokümantasyon, otomasyon, yeniden kullanılabilir bir araç ya da daha iyi tanımlanmış bir iş akışı da altyapının bir parçası olabilirdi. En önemlisi, yalnızca bir kişinin zihninde bulunan bilgiyi, başka yetkin bir kişinin anlayıp uygulayabileceği tekrarlanabilir bir sürece dönüştürmeye çalıştık.

Bu yaklaşım, o anki problemi doğrudan çözmekten daha zahmetli görünebilir; çünkü sağladığı faydanın karşılığını almak zaman ve emek ister. Ancak amaç tek bir ürün geliştirmenin ötesinde, yeni ve karmaşık etkileşimli yazılımlar geliştirmeye devam edebilen bir organizasyon inşa etmekse, sistemlere ve yeniden kullanılabilir yetkinliklere yapılan yatırım yalnızca bir mühendislik tercihi olmaktan çıkar, ekonomik bir karara dönüşür.

Ürünle Birlikte Organizasyonel Yetkinlik İnşa Etmek

Studios’ta ortaya koyduğumuz sonuçlara baktığımda, ürünün ve arkasındaki teknolojik altyapının hikâyenin yalnızca bir tarafı olduğunu düşünüyorum. Diğer tarafta ise bu süreçte karmaşık ve zaman zaman belirsiz problemleri yapılandırabilen, sorumlulukları netleştirebilen, ihtiyaç duyduğu sistemleri kurabilen ve sonunda bunları çalışan yazılıma dönüştürebilen bir organizasyon inşa ettik.

Bir organizasyonun böyle bir yetkinliğe sahip olması, sürekli değişen yazılım dünyasında başarılı olabilmek için kritik önem taşıyor. Teknolojiler, pazarlar ve ihtiyaçlar sürekli değişiyor; yeni ürünler ve yeni problemler ortaya çıkıyor. Bu nedenle uzun vadede asıl önemli olan yalnızca bugüne kadar ne geliştirdiğiniz değil, geliştirmeye devam edebilecek bir organizasyon yaratıp yaratamadığınız.

Bugüne kadar geliştirdiğimiz teknoloji, sistemler ve uzmanlık yalnızca mevcut ürünle sınırlı değil. Simülasyon ve oynanış teknolojilerinden yüksek gerçekçilik sunan görselleştirme altyapısına, saha üretim teknolojilerinden çevrimiçi sistemlere ve üretim araçlarına kadar ortaya koyduğumuz pek çok şey farklı ürünlerde yeniden kullanılabilecek nitelikte. Aynı durum bu süreçte golf alanında edindiğimiz bilgi ve deneyim için de geçerli. Tüm bunlar mevcut ürünü geliştirmeye devam etmemizi sağlarken, gelecekteki oyun, simülasyon ve etkileşimli teknoloji ürünleri için de önemli bir başlangıç noktası oluşturuyor. Böylece yeni bir ürün geliştirirken veya yeni bir problemle karşılaştığımızda her defasında sıfırdan başlamak zorunda kalmıyoruz.

Ölçekten Önce Kaldıraç Etkisi

Studios’taki deneyimden çıkardığım sonuç, teknoloji şirketlerinin on kişilik ekiplerle çalışması gerektiği değil. Ürüne, şirketin bulunduğu aşamaya ve pazara göre ihtiyaç duyulan organizasyon yapısı değişebilir; bazı durumlarda ekibi büyütmek de en doğru seçenek olabilir. Ancak daha fazla insana ihtiyaç olduğuna karar vermeden önce, mevcut ekibin kapasitesini gerçekte neyin sınırladığına bakmak gerektiğini düşünüyorum. Çünkü bir organizasyonun kapasitesini artırmanın tek yolu daha fazla insan işe almak değildir.

Aynı ekip, sorumluluklar net olduğunda, kararlarını gereksiz koordinasyon ya da onay süreçlerine takılmadan alabildiğinde ve riskleri erkenden görebildiğinde çok daha fazlasını başarabilir. Bilginin kişilerin zihninde kalmayıp belgelerle aktarılması, tekrara dayalı işlerin otomasyonla insan müdahalesine ihtiyaç duymayacak hale getirilmesi ve sürekli karşılaşılan problemlere geliştirilen çözümlerin yeniden kullanılabilir araçlara ve sistemlere dönüştürülmesi de ekibin kapasitesini önemli ölçüde artırır.

Bu nedenle organizasyonu büyütmeden önce, mevcut ekiple daha fazla kapasite yaratmanın mümkün olup olmadığına bakmak gerektiğini düşünüyorum.

Rapsodo Studios’u kurarken de bu anlayışla hareket ettik. Benim için buradan çıkarılacak sonuç küçük kalmak değil; ölçeği büyütmeden önce kaldıraç yaratmak.