Lütfen yazının başlığından yanılıp bu sektördeki şirket değerlemeleri üzerine yazacağımı sanmayın, bu yazımın konusu bilişim şirketlerinin kuruluş aşamasından itibaren karşılaşabileceği soruların ana başlıklarından biri olan teknoloji yönetimi hakkında yaptığım çalışmaları sizinle paylaşabilmektir.
Bilişim alanında faaliyet gösteren bir şirketin ilk kuruluş aşamasında, kurucular olarak üzerine düşünüp cevaplamanız gereken pek çok soru ile karşılaşırsınız. Bu konuda aşağıda kendimden bir örnekle başlamak istiyorum.
Bu sene başında (Şubat 2008) TAG Bilişim Ticaret ve Pazarlama Limited Şirketi isimli şirketimizi kurarken faaliyet alanımızı belirlemek ile ilgili tüm resmi sürecin (şirket kuruluş sözleşmesi vb.) yanında aşağıdaki noktalar üzerine düşünmemiz ve planlama yapmamız gerekiyordu:
- Eko-sistem: Şirket olarak kendimize ana faaliyet noktaları belirleyişimizle beraber, müşterilerimize 360 derece çözümler sunabilmek için bizim eksik kaldığımız noktalarda faaliyet gösteren iş ortaklarından oluşan bir dünya kurmak öncelikli hedeflerimizden biri olmalıydı.
- Projeler: Hangi tip projeler üzerine odaklanmamız gerektiğine ve bu projelerdeki iş modellerimizin ne olması gerektiğine karar vermeliydik.
- Üretim ve işletim süreci: Şirket olarak içinde bulunacağımız projelerdeki olası ağırlıklı rolümüz (USS – Uygulama servis sağlayıcı) gereği , bu projelerin altyapısal kısmını geliştirmek ve işletmek ile yükümlü olacaktık. Bu rolün altından kalkabilmek için nasıl bir dünya kurmamız gerektiğini çözmeliydik.
Bu başlıklardan ilk ikisi şirketimizin stratejik yol haritası ile ilgili olduğu için bu yazının konusu dışındadır.
Üzerine konuşmak istediğim üretim ve işletim süreci ise bilişim sektöründe uygulama servis sağlayıcı rolü ile faaliyet gösteren bir şirketin bilgi yönetiminden, uygulama geliştirme felsefesine kadar tüm noktaları kapsayan bir başlıktır ve kurum başarısının en önemli parametrelerinden biridir.
Bu ana başlığı aşağıdaki alt başlıklara ayırabiliriz:
- Üretim
- Bilgi yönetimi
- Proje yönetimi
- Yazılım geliştirme felsefesi
- Kaynak kod yönetimi
- Test ve geliştirme hatası (bug) yönetimi
- İşletme
- Fiziksel altyapı yönetim
Üretim altındaki başlıklardan başlayarak kısaca açıklamak gerekirse;
Bilgi yönetimi:
Teknoloji şirketlerinin zaman içinde edindikleri iş tecrübesinin, yeni ve eski çalışanlara sorunsuz bir şekilde aktarmak, ekibe yeni katılanların öğrenim süreçlerini hızlandırmak, karşılaşılan teknik problemlerin çözüm süresini kısaltmak için bu tecrübenin bir havuzda toplanması ve çalışanlar arasında homojen bir şekilde dağılması gerekmektedir. Bilgi yönetimi günümüzde daha çok kurumsal wiki’ler yardımı ile yapılmaktadır. Çalışanların bilgi havuzunu düzenli olarak beslemesi için gerekli motivasyonun sağlanması ise yöneticilerin görevidir.
Proje yönetimi:
Proje yönetimi, her sektörde faaliyet gösteren firmalar için en önemli başlıklardan biridir. Yazılım gibi, hizmet sektöründe yer alan alt sektörlerde verilen hizmetin sınırlarını çizmenin zorluğu göz önünde bulundurulduğunda proje yönetiminin değeri bir kat daha artmaktadır.
Projenin geliştirme aşamasında, baz alınan gereksinimler üzerinde yapılan son dakika değişiklikleri bugün bu sektörde faaliyet gösteren tüm firmaları olumsuz yöndebetkilemektedir. Bu nedenle iyi bir teknoloji firmasının proje yönetimini risk yönetimi ile beraber değerlendirmesi, en genel risk olan ürün spesifikasyon değişikliklerini de göz önünde bulundurarak üretim sürecini planlaması gerekmektedir. Bu noktada özellikle dört ve üstü çalışan sayısına sahip şirketler için, proje yönetim yazılımlarının önemi çok büyük olmakla beraber geçmişteki çalışma alışkanlıklarının tersine günümüzde “bilgisayarım olan her yer ofisim” felsefesi bu yazılımlarında sadece ofis değil Internet bağlantısı olan her yerden erişilebilir olmasını zorunlu kılmaktadır. Güvenlik sorunlarını da beraberinde getiren bu yaklaşımı verimli bir şekilde kullanabilmek için güvenli kurumsal ağların kurulması konusunda da destek almak gerekebilmektedir.
Yazılım geliştirme felsefesi:
Yan yana çalışabilen çok küçük ekiplerin takibi ve yönetimi kolay olsa da büyük çaptaki proje ekiplerinin aynı sisteme bağlı olarak geliştirme sürecine katılabilmesi için, teknoloji firmalarında “geliştirme felsefesi” oturtulmalıdır. Geliştirme modeli (v, şelale vb.), dökümantasyon standartları, proje ve ürün yol haritaları gibi ana konu başlıkları birleşerek bu felsefeyi oluşturmaktadır. Geliştirme felsefesi oturmuş, bunu çalışanına bilgi yönetimi araçlarını kullanarak aktarabilen firmalarda, ekibe yeni katılan çalışma arkadaşları çok kısa bir sürede verimli olmaya başlamakta ve alışma sürecini çok hızlı atlatmaktadırlar.
Geliştirme felsefesinin en önemli değişkenlerinden biri de açık kaynak kod dünyasına ait olup olmamaktır. Her iki dünyanın da kendine has avantajları ve dezavantajları olduğundan, bu konuda en doğru karar yöneticiler tarafından kurumun sahip olduğu insan gücü ve mali güç değerlendirilerek verilmelidir.
Kaynak kod yönetimi:
Çekirdek bir yazılım kadrosu olarak adledilebilecek dört kişilik küçük bir ekibin bile aynı proje üzerinde çalışması özellikle üretilen ürünün sürüm takibini çok zorlaştırmaktadır. Bu sebeple yazılım geliştirme süreçleri konusunda olgunlaşmak isteyen firmaların attığı ilk adımlardan biri kullanımı kolay bir kaynak kod ve sürüm yönetimi yazılımını geliştirme sürecine dahil etmektir. Bu sayede ilgili alandaki zorlukları aşmak mümkün olduğu gibi aynı zamanda üretilen kodun düzenli olarak yedeklenmesi ve istenen bir noktada eski tarihli bir sürümün devreye alınabilmesi de sağlanmaktadır.
Test ve geliştirme hatası yönetimi:
Üretim içeren tüm alanlarda olduğu gibi teknoloji alanında da geliştirilen ürünlerde insan hatasından kaynaklanan problemler doğmaktadır. Yazılımların karmaşık ürünler olmaları, bu alanda oluşabilecek üretim hatası olasılığını ciddi ölçüde arttırmakta ve test, hata yönetimini proje yönetiminin vazgeçilemez bir parçası haline getirmektedir. İster proje yönetim uygulamasının içinde entegre bir yapı olarak istenirse tamamen farklı bir ürün üzerinden olsun, yazılım ekiplerinin ürünlerinde oluşan hataları zamanında belirlemeleri, belirlenen sorunları ilgili kişiye yönlendirebilmeleri, düzeltme sürecini takip etmeleri ve bu esnada gerekli bilgilendirmeyi yapmaları ilgili kurumun geliştirme sürecindeki profesyonelliğini ciddi ölçüde etkilemektedir.
İşletme süreci ile ilgili başlıklar hakkında ise;
Fiziksel altyapı yönetimi:
Uygulama servis sağlayıcı rolü ilgili uygulamanın geliştirilmesi dışında çoğu zaman belirli bir süre zarfında işletilmesini de içermektedir. Teknoloji şirketleri stratejik yol haritaları ışında, geliştirilmesi önceden planlanan ürünler için gerekli altyapı yatırımını zamanında yapmalıdır. Türkiye şartları göz önüne alındığında, fiziksel donanım maliyetleri makul seviyelerde olmakla beraber, Internet bağlantı maliyetleri yurtdışı servis sağlayıcılar ile karşılaştırıldığında halen oldukça yüksektir. Bu noktada belirli bir yatırım gücüne ulaşana kadar bazı hizmetlerin yurt dışı sağlayıcılardan alınması pek çok proje senaryosunda daha mantıklı bir yaklaşım olmaktadır.
Fiziksel altyapı seçimi ile ilgili bir değişken de, yazılım felsefesi başlığı altında yer alan kurumun açık kaynak kod dünyasın dahil olup olmayacağı seçimidir. Bu seçim fiziksel altyapı maaliyetlerini bir miktar etkilese de bant genişliği maliyetleri ile bir ilgisi bulunmamaktadır.
Bir teknoloji şirketleri olgunlaştıkça ve yatırım gücü arttıkça ürünlerin test ve üretim ortamlarını (production environment) birbirinden ayırmalı, bu doğrultuda gereken fiziksel mimariyi kurmalıdır. En optimum model test – sahneleme ve üretim ortamından oluşan üç katmanlı bir fiziksel mimaridir.
Yukarıda bahsi geçen alanlarda yapılacak çalışmalar uzun ve yorucu olsa da, bilişim sektöründe faaliyet gösteren/gösterecek kurumların kalıcı başarısı için zorunludur.
Zaman içinde kendi şirketimizle ilgili bu alanlarda yaşadığımız tecrübeleri sizinle paylaşmaya devam edeceğim.
Hepinize kolaylıklar diliyorum…