Konuk yazarımız Osman Çelik, çoklu platform mobil uygulama geliştirme aracı Smartface.io‘nun kurucu ortağı ve CTO’sudur.
Dünyada yazılım tabanlı ürünler nasıl geliştiriliyor, başarılı ürünler nasıl ortaya çıkıyor sürekli tartışıyoruz. Bunun bir çok parametresi olabilir ancak temelde şu 3'lünün önemi yüksektir. “Fikir, Girişimci ve Sermaye” Bunlar hazırsa, yola çıkabilirsiniz.
Bir çok yazılım firmasının hayalinde iyi bir ürün geliştirmek vardır. Servis tabanlı projelerin veya terzi usülü işlerin katma değerinin düşük olduğunu ve bir süre sonra rekabet sıkıntısı yarattığını herkes bilir. İyi bir ürün/girişim için de girişimcinin öncelikle iyi bir takım kurması, bir başka deyişle Voltran'ı oluşturması gerekir.
Peki ürün takımında olması gereken roller (Voltran'ın aslanları) nelerdir?
- Ürün Yöneticisi / Product Manager: Ürünün karakterini belirler. Genelde girişimcinin kendisidir. Pazarda nerede durmalı, hangi yöne gitmeli iyi bilir, pazarı ve rakipleri iyi tanır. Hedef kitleyi dinler, yol haritasına (roadmap) karar verir.
- Analist / Technical Analyst: Yol haritasındaki taleplerin yazılım bandına girmesi için gerekli analizleri yapar. Ürünün detaylarına o karar verir. Geliştirmelerin esnekliği, tutarlılığı, global standartlar ile uyumlu olması, onun analizlerine bağlıdır. İyi bir analistiniz yoksa gerçekleştirdiğiniz bazı geliştirmeleri geri alıp, yeniden yapmak zorunda kalabilirsiniz.
- Teknik Mimar / Technical Architect : Ürünün şimdiki durumundan orta-uzun vadedeki gereksinimlerine göre altyapıyı planlar. Açıkcası ürünün uzun vadede stabil bir şekilde büyüyebilmesi için iyi bir mimariye ve dolayısı ile teknik mimara ihtiyacınız var. Yoksa bina büyürken yamulmaya başlar. Aynı ürünü 2 sene sonra baştan yazmak zorunda kalabilirsiniz.
- Kullanılabilirlik Uzmanı / UX Designer: Ürünün kullanıcı ile olan tüm etkileşimine karar verir. Geliştirmelerin tutarlı bir deneyim akışı ile ilerlemesinden ve arayüzdeki tüm görsel öğelerden sorumludur. Ürünün yüzüdür.
- Yazılım Uzmanı / Software Developer: Analiz dökümanını uygular. Yazılımın temiz, okunabilir ve standartlara uygun olması onun sorumluluğudur. Sorunlara efektif çözüm getirebilen, yenilikleri takip edip kendini geliştirebilen profilde olmalıdır. Gerektiğinde open-source projeleri inceler, olabildiğince az yazarak çok iş çıkarmaya çalışır.
- Dökümantasyon / Documantation: Ürünün teknik dökümantasyonları (API Docs, Guides, Best Practices, Videos, Training docs etc..) bu ekibin elinden çıkar. Sürüm geliştirilirken paralel olarak dökümantasyonları da üretilir. Dökümantasyon bir ürünün dilidir.
- Test ve Kalite Mühendisi / Test and QA Engineer: Analiz dökümanına göre test senayolarını çıkarır test otomasyon araçlarını günceller. Ürünün testlerini yapar. Sadece ürünü değil, dökümantasyonları da test eder. Ürünün kalite çizgisine katkısı çok büyüktür. Ürün onun onayı olmadan yayına alınamaz.
- Teknik Destek / Technical Support : Ürünün kullanıcı kitlesi ile olan iletişimi sağlar. Kitlenin yaşadığı sıkıntıları, yorumları, talepleri içerideki birimlere aktarır. Bol bol empati yapar. Sürüm (release) temizse rahat eder, yoksa çok başı ağrır.
- Topluluk Yöneticisi / Community Manager/Evangelist : Ürünün kitleler ile olan iletişimini sağlar. Eskiden pazarlama departmanlarının yaptığı işi artık Topluluk yöneticileri veya Misyonerler (Evengelist) gerçekleştiriyor.
Ürün takımlarında hangi roller yoktur:
- Patron : Patronların yerine daha çok fikre veya ürüne yatırım yapan Danışma Kurulu (Advisory board) veya Yatırım Kurulu (Investor Board) vardır. Hedefler oluşturulur ve bu hedefler dönemsel olarak gözden geçirilir.
- Yazılım Yöneticisi: Ürün takımlarında ast-üst ilişkisinden daha çok koordinasyon söz konusudur. Girişimci bir nevi “scrum master” tadında takımı koordine eder. Ürün ekibi de durumu suistimal etmez.
- İşbirimi: Ürünün yol haritasına topluluk talepleri karar verir. Ürün yöneticisi kitleyi dinler, marketteki gelişmeleri inceler ve yol haritasına karar verir. Bu sebeple işbuyuran bir birime gerek kalmaz.
Yeni bir girişimde bu rollerin hepsinin ayrı ayrı kişilerde olması beklenemez. Zaman içinde roller ayrışana kadar kişiler birden fazla şapka ile çalışabilir. Ancak bu durum ürün kalitesini etkiler.
Gelelim bir ürün takımı kurulurken dikkat edilmesi gereken noktalara;
- Ürün ekibi öncelikle kendi ürününü kullanmalıdır. Kendinizin kullanmadığı bir ürünü başkasına kul-lan-dı-ra-maz-sı-nız!
- Ekibe yeni katılacak arkadaşları mümkünse topluluktan (community) seçin. Ürününüzü ne kadar kullanmış ise size katkısı o kadar erken ve fazla olacaktır.
- Ekibin ürüne tutku seviyesinde bağlı olması, başarıda üst seviyede etkilidir.
- Ürün takımlarının ideal büyüklüğü 6-10 kişidir. (yukarıda yazdığım gibi bu zamanla oturacak bir sayı)
- Ürün takımlarında işler şeffaftır. Takımda birinin ne yaptığını diğeri de bilir, görür.
- Şeffaf olmanın temelinde iş paylaşım yazılımları, wiki ve düzenli değerlendirme toplantıları yatar
- Egodan arınmış yetenekli kişilerden oluşmalıdır.
Tüm bunları dikkate alarak ürün geliştirmek çok daha sağlıklı olacaktır ve daha önce bahsettiğim gibi; Ürün, bir erkeğe annelik duygusunu yaşatan şeydir.