mirmirik / Bilişim Yönetimi / Hepimiz Milyoner Olacağız: Bu yazılımın değeri ne, kaça satılır ki?

Hepimiz Milyoner Olacağız: Bu yazılımın değeri ne, kaça satılır ki?

Posted on

“Ürün geliştirmek demek, ürünler için tarif vermek demektir. Ürünlerin kendisini oluşturmak değil.”

Donald G. Reinertsen1
Time is precious

1993 yılında, x86 Assembly ile yazdığım TSR2 tipi program, belirli tuş kombinasyonuna basıldığında ekranın o anki görüntüsü alıp, bunu 4.000 byte’lık fiziksel bir dosyaya3 yazıyordu. 1992’den, profesyonel olarak çalışmaya başladığım 1998 yılına kadar zaman zaman yazdığım Pascal uygulamaları (Muhtar 1.0?) bu fiziksel dosyaların içeriğini okuyup, belleğin belirlenmiş adreslerine bu bilgiyi yazıp, uygulama çalışırken bellekten o bilgileri alıp, ekran çizimleri için kullanıyordu. O, en fazla 80 – 100 satırlık x86 Assembly kodundan oluşan minik bir “.com” dosyası, işimi oldukça hızlandıran, benim için vazgeçilemez ve çok değerli bir yazılım olmuştu.

Yazılımın değeri

Herhangi bir hizmet ya da malın değeri denildiğinde, akla ilk olarak “ekonomik değer” gelmekte. “Bu iş bize kaça patlar?” ya da “bunu kaça yaparız?” soruları, büyük ve kurumsal olsun ya da küçük ve aile şirketi olsun, birçok firmadaki ilk sorulardan. Yazılımın değeri denilince de konuya, -özellikle bilgi teknolojilerine uzak kişiler tarafından- sadece parasal yönden yaklaşılmakta. Okuyuculardan, yazılım satış işine de bulaşmış çoğunun müşterideki “satın alma departmanları” ile benzer hikayeler yaşadıklarını düşünüyorum. Her ne kadar analiz yeteneği daha iyi olan ve geleceğe dair değişkenleri de hesaba katan ekipleri tenzih etsem de birçok satın alma departmanının iki benzer ürün ya da hizmetten daha ucuz olanını seçmesi çok rastlanılan bir senaryo olmakta ne yazık ki.

Oysa yazılım ya da yazılım hizmeti dediğimiz şey (yazının bundan sonrasında yazılım hizmeti yerine de ‘yazılım’ kelimesini kullanacağım), birçok ürün aksine elle tutulamayan, dokunulamayan, fiziksel varlığı olmayan bir metadır. Yazılımı buğday, tuğla, hazır kahve, litrelik saf oksijen ya da ne bileyim, metrelik kumaş birimine çevirip de karşılaştırma yapmanız oldukça zor. Sn. Ali Akurgal’ın 1992 yılındaki, “yazılımı ‘metre’ olarak ihraç etmeyi başarabilme” konusu4 aslında hala da devam eden ve kafa karıştıran bir konu. Yıllardır yazılımın ne olduğu bile tartışılmakta, bir ürün mü, bir yapıt mı yoksa bir sanat eseri mi olduğu bazı arkadaş gruplarının iç tartışmalarında bile yer almaktadır.

Bu yazıda, bir zamandır kafamı kurcalayan ve araştırmaya giriştiğim ‘yazılımın değeri’ konusunda aklıma gelenleri paylaşmaya çalışacağım. Sizlerin de akıllarında soru işareti oluşturmayı amaçladığım sorular ve kendimce cevap bulmaya çalıştığım bazı konular var. Bunu yaparken de geçmiş proje yönetimi ve IT yöneticisi deneyimlerimde kullandığım bazı yöntemleri anlatmaya çalışacağım.

Sokaktaki Vatandaşa Sorduk!

2020 yılı, Ekim ayı ortası gibi, bu yazılımın değeri konusunu, yazılımcının kendi üretimini değerlemesi açısından ele almak istedim ve Twitter üzerinde erişebildiğim yazılımcılara yönelik olarak şu şekilde sordum:

Şekil 1 – Twitter Anket Sonuçları

Burada koyduğum seçenekleri de şu şekilde açmaya çalıştım:

  1. Satır sayısı: Yazılımın içinde benim yazdığım kod satır sayısı daha fazlaysa, o yazılım benim için daha değerlidir.  (O projeye neredeyse 18.000 satır kod yazdım)
  2. Müşteriye satılan fiyat: Bütçesi yüksek bir rakam olan projede yazdığım kod, benim için daha değerlidir. ($2.000.000 fiyata satılan projede ben de görev aldım)
  3. Bilinirlik / memnuniyet: Çok bilindik bir proje ya da yazılım ise, benim için oraya katkım çok daha değerlidir. (Twitter’ın FAQ sayfasındaki ‘search’ fonksiyonunun bug-fix’ini ben yaptım)
  4. Harcadığım zaman: Uygulamayı gerçekleştirmek için gece gündüz çalışmak ve üzerinde çok uzun zaman geçirmek benim için daha değerlidir. (6 yıldır bu projenin içini dışını inceledim, emek verdim, gece gündüz ve hatta hafta sonu/tatillerde bile çalıştım)

2,229 kişiden gelen cevaplara göre, yazılımcılar için en önemli değer verisi, o katkıda bulundukları işin bilinirliği ve kullanıcılarının memnuniyeti olarak görülüyor. Soruyu soruş biçimine, karşı tarafın algılamasına ve tabi ki Twitter ortamındaki anonim olmaya bağlı olarak çok doğru ve net bir sonuçtur diyemem ama bizlere bir mesaj verdiğini kabulleniyorum. Bu bilgi elimizde bir dursun, konunun sonrasında ilginç bir yere bağlayacağız.

Şirketler Nasıl Hesaplıyor?

Pazarlama ya da satış stratejilerine göre “freemium”, “free”, “open-source”, kiralama, SaaS ya da “Pay as You Go” modeller oldukça yaygınlaşsa da fiyatlama modellerinden “Cost-Based Pricing” diye adlandırılan maliyet bazlı fiyatlama, özellikle, “terzi usülü yazılım yapan” firmalar için hala en popüler yöntemlerden.

Yine yazılım dünyasında özellikle daha yeni dönemlerde daha gerçekçi olarak kullanılan fiyatlama yöntemlerinden birisi de değer bazlı fiyatlandırma. Burada da tüketicinin bu tür bir yazılım için ne kadar değer biçebileceğine bakılıyor, tüketici değer algısı belirleniyor, oluşacak maliyetler hesaplanıp, tüketicinin ödeyebileceği fiyata uygun ürünler geliştiriliyor.

Bir de “rakip bazlı fiyatlandırma” konusu var ki, benim genelde içinde bulunduğum ve uğraştığım “terzi usulü yazılımlar” konusuna pek uymuyor. Bu yüzden bu konudaki bilgim neredeyse yok denecek kadar az, üzerinde aktif olarak çalışmadım, bu yüzden de bilmiyorum deyip geçeyim. Ekonomi çalışan arkadaşlar ilgili anlatımlara iyi referanslar verebilir sanırım.

Biraz kafa karıştırıcı olsa da -hatta akademik açıdan çok doğru olmasa bile-, benim en azından deneyimlediğim iki model arasındaki farkı daha iyi anlamamız için şu soruları sorduğumuzu düşünebiliriz kendimize;

  1. Maliyet bazlı fiyat: Müşterinin istediği 10 fonksiyonu kaça mal edebilirim?
  2. Değer bazlı fiyat: Müşterinin ödeyeceği ₺100.000’e kaç fonksiyon geliştiririm?

Maliyet Bazlı Fiyatlama Örneği

Bu yöntemde şirketler için bir yazılım projesinin satış tutarının hesaplanması, genelde, kullanılan kaynakların giderleri (proje çalışanları), yapılan özel ek masraflar (ek donanım ya da yazılım ücretleri), direkt faturalandırılamayan gider kalemlerinin (İK, stajyer, muhasebe, elektrik / internet / su / kira giderleri gibi şirketin işlemesi için şart olan ancak şirkete direkt nakit girişi sağlamayan tüm giderler) belirli oranlarda proje bedellerine eklenmesi ve tüm bu toplama yine belirli oranda şirket kârı da eklenmesi gibi yöntemler ile yapılmakta. Ya da en azından bu şekilde hesaplanması şirketin gelir / gider dengesi açısından çok daha yerinde olacaktır. Bir cesaret ile tek müşteriye satılabilecek özel bir yazılım için fiyatlandırma konusunda şunu diyebiliriz sanırım;

YB = ((PEG) + (PÖM) + (FAGİ)) * KO

YB: Yazılımın bedeli

PEG: Proje ekibi giderleri

PÖM: Projeye özel masraflar

FAGİ: Proje bağımsız, faturalandırılmayan giderler

KO: Kâr oranı

Yazının bundan sonrasındaki satış tutarı hesaplama kısmını kendi “freelance” projeleriniz için de kullanabilirsiniz belki. İyi bir fikir vereceğini düşünüyorum. Çok basit bir örnek üzerinden gideyim. A şirketi, B şirketinden bir yazılım talebinde bulunuyor ve teklif istiyor. B şirketi talebi değerlendiriyor ve şöyle bir kaynak ve kaynak kullanım planı çıkarıyor:

KaynakSüre (saat)
Proje yöneticisi100
Sr. BE Developer300
Jr. BE Developer240
Sr. FE Developer600
Jr. FE Developer350
Analist400
Tasarım / UI design260
Tasarım / UX design200
DB Architecture120
Tablo 1 – Örnek proje kaynak kullanımı

Proje planlayıcısı olarak bu şekilde bir saat / kaynak tahminlemesi yapabiliyorsanız, şirket içindeki kaynak saat bedelleri de belli ise, çok basit ilkokul matematiği ile bir fiyat çıkarabilirsiniz. Tek kaynak için yaklaşık saat hesabını ben aşağıdaki şekilde yapıyordum:

KSB = ((KBM * 1,2 + KYH) / (20 * 6)

KSB: Kaynak saat bedeli

KBM: Kaynak brüt maaş

KYH: Kaynak yan haklar bedeli

Formüldeki “20”, aydaki toplam iş gününü, “6” de bir gündeki iş saatini temsil ediyor. Günde 6 saat değil, 8 saat var itirazı gelebilir ancak yazılımda verimli çalışma süresi hesaplarken günlük çalışmanın en fazla %80’inin hesaba alınmasının çok daha yerinde olacağını tecrübe ettim geçtiğim zaman içinde. Burada günlük verimli çalışma saatini %75 üzerinden hesapladım. “1,2” ise işveren maliyetini (sigorta, vergi vs.) hesaplamada kullanılan özel katsayı (şirket giderlerine göre yaklaşık 1.2 ile çarpım doğru değeri veriyor).

Kaynağın aylık brüt maaşı 5.000₺ ise ve aylık özel sağlık sigortası, yemek + yol ücretleri vs. giderleri toplamı da 1.000₺ ise;

KSB = (5.000 * 1,2 + 1.000) / (20 * 6)

KSB = 7.000 / 120

KSB = 58,33

Kaynağın aylık toplam işveren maliyeti formüle göre 7.000 ve saatlik maliyeti ise ~58 TL ediyor.

Yukarıdaki tabloyu buna göre tekrar düzenlersek şöyle bir durum ortaya çıkıyor;

KaynakSüre (saat)Brüt MaaşSaatlik ücretProje Bedeli
Proje yöneticisi100 ₺             15.000,00 ₺           158,33 ₺        15.833,33
Sr. BE Developer300 ₺             12.000,00 ₺           128,33 ₺        38.500,00
Jr. BE Developer240 ₺               9.000,00 ₺             98,33 ₺        23.600,00
Sr. FE Developer600 ₺             12.000,00 ₺           128,33 ₺        77.000,00
Jr. FE Developer350 ₺               7.500,00 ₺             83,33 ₺        29.166,67
Analist400 ₺               8.000,00 ₺             88,33 ₺        35.333,33
Tasarım / UI design260 ₺             10.000,00 ₺           108,33 ₺        28.166,67
Tasarım / UX design200 ₺               8.000,00 ₺             88,33 ₺        17.666,67
DB Architecture120 ₺             10.000,00 ₺           108,33 ₺        13.000,00
Toplam Maliyet    ₺  278.266,67
Tablo 2 – Proje maliyet hesabı örneği

Burada ortaya çıkan ₺278.266, çalışanların projeyi tam planlandığı gibi zamanında bitirmeleri halinde ekibin şirkete “maliyetini” temsil etmekte. İçinde şirket kârı, ek masraflar, diğer giderler gibi farklı kalemler yok. İlk formüldeki “PEG” ile gösterdiğimiz yeri hesapladık daha. Eğer tüm “Yazılım Bedeli” formülünü uygularsak, proje teklif bedeli olarak şöyle bir şey elde edebiliriz (₺12.500 projeye özel gider, ₺10.000 faturalandırılmayan gider):

YB = ((278.266) + (12.500) + (10.000)) * 1.2

YB = 360.919,2

YB ~= ₺ 370.000

Son satırdaki ₺370.000’e yuvarlama kısmını, “pazarlık payı” olarak düşünebilirsiniz. Buradaki en önemli husus, genelde az çok girdi / çıktı hesabı yapmayı bilen, nakit akış dengesi gözeten aklı başında şirketlerin bunu böyle sayısal veriler ile yaptığı. Çoğu yerde hala “olsa olsa metodolojisi” kullanıldığını da -ne yazık ki- biliyoruz.

Epilog

Gerçek dünya örnekleri, duygusal yaklaşımlar ve çeşitli fiyatlama yöntemlerini kurcalamama ve üzerlerinde uzun süredir çalışmama rağmen hala sorularımın net bir cevabını bilemiyorum. Kişisel olarak, yazılımın standart bir ücretlendirmesinin yapılabileceğine ya da o yazılım için bir “net değer” belirtilebileceğine de pek inanmıyorum.

İlk başta özellikle koyduğum “yazılımcı için hangisi değerli” sorusuna verilen cevaplar, biz “yazılım fiyat belirleyicileri” için bir uyarı niteliğinde olur ümidindeyim. İçinde bulunduğumuz dönemde çok fazla “derdini seveyim” örneği gibi olabilir bu. İsteğim ve hayalim, üretimde büyük katkısı olan asıl kişilerin hissettiklerinin ve yorumlarının, yazılım değerlendirme ve fiyatlandırmada da benzer şekilde etkili olması. Bir yazılımı, onu üretenleri için de değerli kılabilmeyi, şirketin uzun vadeli geleceği için elzem görüyorum. Hadi danışmanlıklarda çok kullanılan havalı o terimlere de gireyim, “customer-centric approach” yanında ek olarak bir de “asıl üreticinin merkezde olduğu yaklaşım” daha iyi olacağına canı gönülden inanıyorum.

Peki ya sizce bir yazılımın gerçek değerini ne belirler? Kime göre değerlendirilmeli yazılım? Müşteri mi, üretici mi yoksa şirket sahibi mi?

Notlar, Ek Okumalar ve Yararlanılan Kaynaklar:

[1]: The Principles of Product Development Flow: Second Generation Lean Product Development. https://www.amazon.com/gp/product/B007TKU0O0/

[2]: TSR: Terminate and Stay Resident. https://en.wikipedia.org/wiki/Terminate_and_stay_resident_program

[3]: 4000 byte’ın sırrı şuradan geliyor. TSR programları, DOS türevi işletim sistemleri için yazılan küçük programlardı. DOS ekranları 80 kolonlu ve 25 satırlı bir matris üzerinde çalışır normalde. Yani matrisin her bir koordinatında bulunan karakteri kaydetmek isterseniz, 2000 byte kullanmanız gerekir (3. satırın 7. kolonunda ‘T’ harfi yazılı gibi). Her koordinattaki “renk” bilgisini de bir byte içinde tutabilirseniz (arka planı kırmızı, yazı karakter rengi de parlak beyaz gibi), toplamda 4000 byte alana ihtiyacınız olacaktır. Renk bilgisini bir byte içine yazmak için de 8 bit’in ilk dördünü ön renk ve son dördünü de arka plan rengi olarak kullanıyordum. DOS ekranlarındaki renkler (VGA ekranlarda, ‘ekran modu 0’ için) en fazla 16 adet (0…F) oluyordu. Yani şunun gibi bir yapıdaydı dosyaya yazılı olan her koordinattaki tek karakter bilgisi:

Şekil 2 – Benim için en değerli yazılımımın örnek karakter kayıt yapısı

[4]: Güney, Melih; Siz, Yazılımın Birimi Nedir Bilir misiniz? https://www.melihguney.com/siz-yazilimin-birimi-nedir-bilir-misiniz.html

Ayrıca, Sn. Akurgal’a erişmek için: http://akurgal.com

[5]: Fiyatlandırma stratejileri için bkz: https://www.netrivals.com/resources/guides/3-major-pricing-strategies-a-short-guide/

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Top