İyi yazılım On Yıl Alır, Buna Alışın

PC hakkındaki genel bilgi ve ipucu paylaşım alanıdır.
Cevapla
Kullanıcı avatarı
bambucya77
Kilobyte2
Kilobyte2
Mesajlar: 345
Kayıt: 04 Nis 2006, 10:29

İyi yazılım On Yıl Alır, Buna Alışın

Mesaj gönderen bambucya77 »

Resim


Resim


Bu tablo, Lotus Notes workgroup yazılımının piyasaya ilk çıkarıldıgı tarih olan 1989’dan 2000 yılına kadar kaç yerde kurulu oldugunu göstermektedir. Aslında Notes 1.0 sürümü çıkarıldıgında bes yıldan beri gelistirilmekte idi. Notes’un yeterli kaliteye erismesi ve kullanıcıların satın almaya baslaması için geçen sürenin uzunluguna dikkatinizi çekmek isterim. Gerçekten de 1984 yılında ilk kod satırının yazılmaya baslaması ile yukarıdaki egrinin yükselen kısmına erismesi için tam 11 yıl geçmesi gerekmistir. Bu süre boyunca Ray Ozzie ve kadrosu St Barts’da buzlu viski içmiyorlardı. Nefes almaksızın kod yazıyorlardı.

Bu hikayeyi anlatmamın nedeni bunun ciddi yazılımlar için normal bir durum oldugudur. Oracle VTYS 22 yıldan bu yana kullanımdadır. Windows NT’nin gelistirilmesi 12 yıl önce baslamıstır. Microsoft Word ise kocamıs denebilir; Word 1.0 DOS sürümünü lise ögrencisi iken gördügümü hatırlıyorum (yasımı ele verdim, degil mi? 1983 yılıydı.)

Deneyimli bir yazılımcı için bunların hiçbiri sürpriz degildir. Ürününüzün ilk sürümünü yazarsınız. Birkaç kisi kullanır: Programınızı severler belki ama eksik olan birçok özellik vardır, performans problemleri vardır. Her neyse, bir yılın ardından sürüm 2.0 hazırdır. Herkes 2.0, 3.0, 4.0 içinde hangi özelliklerin olacagını tartısır, çünkü yapılması gereken birçok önemli is vardır. Excel günlerimden yapmamız gereken ne kadar çok “yapılması gereken” is oldugunu hatırlıyorum. Pivot tabloları. Üç boyutlu tablolar. VBA veri erisimi. Yeni sürümü çıkardıgınızda, hazır beklemekte olan kullanıcılarınız yeni sürümü almak için birbirlerini ezerler. Windows 3.1’i hatırlıyor musunuz? Kesinlikle uzun dosya isimlerine, bellek koruma sistemine, tak ve çalıstır özelligine ve simdi olazsa olmaz saydıgımız diger milyonlarca önemli özellige ihtiyacı vardı, fakat yeterli zaman yoktu ve tüm bu özellikler Windows 95’i beklemek zorunda kaldı.

Ancak tüm bunlar ilk on yıl için geçerlidir. Daha sonra kimse gerek duydugu tek bir yeni özellikten bahsetmez. Excel 2000 veya Windows 2000’de ihtiyaç duydugunuz fakat yapılmamıs bir özelligi var mı? Office ekibindeki eski arkadaslarıma saygıda kusu etmek istemem ama 1995’den bu yana Office ürünlerine eklenen tek bir yararlı yeni özellik olmadıgını düsünmeden edemiyorum. Bu süre içinde eski-atas ve otomatik-belge-sıkıstırma gibi eklenen birçok “özellik” sadece rahatsızlık vermekte, ve O’Reilly de bu özelliklerin nasıl kapatılacagınız anlatarak iyi para kazanmaktadır.

O halde iyi program yazımı uzun süre alır fakat program gelisimini tamamladıgında hersey tamamdır. Elbette yeni gelir elde etmek üzere her bir veya iki yılda bir yeni bir sürüm çıkarabilirsiniz fakat kullanıcılar sonunda “bozuk olmayan bir seyin tamirine ne gerek var,” diye sormaya baslarlar.


On-yıl kuralının iyi anlasılmaması çok hatalı is kararlarının verilmesine neden olur.

1 numaralı hata. Bir an önce büyüyelim sendromu. Bu İnternet balonu tarafından yaratılan bu safsata baska yerlerde yeterince çürütüldügü için burada üzerinde durmayacagım. Ancak bu konuda önemli bir gözlem, amacı (kedi-köpek maması satmak degil de) yazılım gelistirmek olan nokta-kom firmalarının ürünlerini iyi bir düzeye çıkaracak zaman bulamamıs olmalarıdır. Benim en favori örnegim desktop.com’dur. Bu firma eger üzerinde 10 yıl çalısmıs olsa idi gerçekten iyi bir yazılım ortaya çıkabilirdi. Fakat yap-sat yaklasımı, gereginden fazla personel ve gereksiz firma harcamaları, her on dakikada bir sermaye bulunması geregi, 10 yıl boyunca yazılım gelistirilmesini imkansiz hale getirdi. Bütün yazılımlar gibi bunun da 1.0 sürümü berbattı ve kimse kullanmayı düsünmüyordu. Fakat, kimbilir, belki desktop.com’un 8.0 sürümü harika bir program olabilirdi. Bunu asla ögrenemeyecegiz.

Hata 2. Fazla reklam sendromu. 1.0 sürümünü çıkardıgınızda pek de fazla reklam yapmamanız faydalı olabilir. Bütün yenilikleri izleyen ilk kulanıcıların onu kesfetmelerini bekleyin. Eger çok büyük beklentiler olusturacak sekilde pazarlarsanız, kullanıcılar gerçekte ne yapılmıs oldugunu gördüklerinde hayal kırıklıgına ugrarlar. Marimba ve Groove gibi desktop.com’da buna iyi bir örnektir: bu programlar ilk günden itibaren çok yüksek beklentiler ile piyasaya çıktı ve kullanıcılar programın özelliklerini görmek üzere 1.0 sürümünü dikkatle incelediler. Fakat tüm diger 1.0 sürümlerinde oldugu gibi program ancak çimlerin sararmasını seyretmek kadar heyecan verici idi. su anda Marimba’ya 1996 yılından bu yana hiç bakmamıs milyonlarca kullanıcı var, ve bu kullanıcılar hala bu programın 4 ay içinde apar topar bir araya getirilmis, uyduruk Java apletlerini indiren bir liste kutusu oldugunu düsünüyorlar.

1.0 sürümünün sessizce ilan edilmesi, daha az satıs ile karlılıga erisebilmeniz gerektigi anlamına gelir. Bu da maliyetleri düsük tutma ve daha az personel ile idare etme geregi anlamına gelir. Yazılımınızı gelistirmeye küçük bir ekiple baslamak aslında çok iyi bir fikirdir. Baslangıçta gücünüz sadece bir programcıya yetiyorsa, yazılımınızın yapısının tutarlı ve akılcı olma olasılıgı, yüzlerce programcının birbiriyle çelisen fikirlerini içeren ve silbastan yazılması gerekecek (kaynak kodunu atıp yeniden yazılması gerektigini savunanlara göre, Netscape gibi) bir bulamaça kıyasla daha yüksektir.

Hata 3. İnternet zamanı’na inanmak. 1996 yılında New York Times ilk defa Netscape sürümlerinin kullanıcılara, Microsoft gibi firmaların geleneksel 2 yıllık güncelleme periyodu yerine, her altı ayda bir sunuldugunu fark etti. Bu gelisme “islerin daha hızlı yürüdügü” bir “İnternet zamanı” oldugu efsanesinin dogmasına neden oldu. Olsa iyi olurdu da gerçek bu degildi. Yazılım daha hızlı üretilmiyordu, sadece daha sık aralıklarla sunuluyordu. Yeni bir yazılım ürününün ilk asamalarında o kadar çok yeni özellik vardır ki her altı ayda bir sürüm çıkarmanıza ragmen kullanıcıların mutlaka sahip olmaları gereken tonlarca özellik yapılmayı bekler. Bu özellikleri de yaparsınız. Bu sizin eskiye oranla daha hızlı yazılım gelistirdiginiz anlamına gelmez. (Internet Explorer ekibine burada ayrıcalık tanımak isterim. IE’nin 3.0 ve 4.0 sürümleri arasında endüstri standartlarının on kat üzerinde bir hızla yazılım gelistirdiler. Bu hızın internet ile hiçbir ilgisi yoktu, sadece Microsoft firmasında 15 yıl boyunca ticari yazılım üretme deneyimlerinden yararlanan fevkalade donanımlı cenk urbalarını kusanmıs bir ekibe sahiptiler).

Hata 4. Yazılım tamamlandıgında güncellestirme gelirlerinin kesilmesi. Bir parça endüstri tarihi: İlk zamanlarda (1980’in sonları) PC endüstrisi o kadar hızlı gelisiyorduki hemen hemen tüm yazılımlar ilk kez kullananlara satılıyordu. Microsoft genellikle 500$ degerindeki bir ürününün güncellemesi için 30$ fiyat veriyordu. Bu durum, yeni kullanıcıların bitmekte oldugu ve düsük fiyatı nedeniyle çok miktarda güncelleme kopyalarının satıldıgı farkedilinceye kadar sürdü. Ve nihayetinde bugün bulundugumuz noktaya, yani satısların büyük bir çogunlugunu olusturan güncelleme ürün fiyatlarının, ürünün tam sürüm bedelinin %50-%60’ı arasında degistigi duruma geldik Sorunlar, bir sonraki sürümünüze eklenecek yeni özellik bulamadgınızda baslar: Atas eklersiniz, daha sonra atası kaldırırsınız, ve her seferinde kullanıcıya para ödetmeye çalısırsınız, ama kullancılar da bunu yutmazlar. Bu noktada bastan sadece bir yıllık lisans satmak, ve bu sayede kullanıcılarınızı ürününüze abone edip, yeni özellik eklenmese dahi paralarını alma yolunu seçmediginize pisman olursunuz. Bu iyi bir muhasebe hilesidir: Bir yazılım paketini 100$’a satarsanız, Borsadaki degeri 100$ olur. Fakat bir yıllık lisansı 30$’a satarsanız, sonraki yıllarda da 30$’lık bir geliri garantilerseniz, bu on yıllık hasılanın degeri 200$ olur. Tada! Hisse senedi fiyatı ikiye katlanır! (Ne tesadüf ki, SAS yazılım ödemelerini bu sekilde alıyor. Her yıl %97 oranında yenileme satısı yapıyorlar.)

Microsoft’unki gibi paket yazılımlar için sorun, müsterilerin bunu yutmamasıdır. Microsoft, 90’ların basından bu yana müsterilerine abonelik planlarını kabul ettirmeye çabalıyor, fakat her seferinde çok güçlü bir müsteri direnci ile karsılasıyor. Kullanıcılar satın aldıkları yazılıma “sahip” oldukları, ve yeni bir özellik istemedikleri sürece güncelleme yapmaları gerekmedigi fikrine alıstıklarında, bu durum özellikleri tamamlanmıs bir ürünü satmak isteyen firmalara çok büyük zorluklar çıkarır.

Hata 5. “Hazır oldugunda yayımlarız” sendromu. Lafı buradan açılmısken ... Mozilla’da ne halt yiyorlar Allah askına? Onlarla bir yıl önce epey bir dalga geçmistim, çünkü aradan üç yıl geçmesine ragmen Allah’ın cezası sey hala piyasaya sürülmemisti. Web sitelerinde sık sık geçerliligini yitiren bir tabloya göre 2001 yılının son çeyreginde yayımlayacaklarını bildiriyorlar (ç.n: Bu yazı 2001 yılının ocak ayında kaleme alındı). Tahminlerini dayandıracakları takvim benzeri bir seye sahip olmadıkları için neden böyle düsündüklerini anlayamıyorum. A evet! İnternet Zamanı Dünyası’nda yazılım gelistirme bu olmalı.

Konudan uzaklasıyorum galiba. Evet, yazılımın yazılması 10 yıl alır, ve 10 yıl boyunca piyasaya hiçbir sürüm çıkarmayan bir sirketin asla hayatta kalma sansı yoktur. 10 yıl sonra elde edeceginiz geliri bugün kırdırmaya kalkarsanız kocaman bir hiç elde edersiniz. Özellikle de bes yıldan sonraki tüm hasılanızı “artık deger” olarak küçümseyen, sahte, uyduruk bilanço tablolarına bakarak 100.000.000$ deger biçtikleri çorap kuklalarına yatırım yapmanın iyi bir fikir olduguna kendilerini inandıran analistlerin oldugu bir dünyada.

Herneyse, 10 yıl boyunca iyi bir yazılım ortaya çıkarabilmek, bu on yılın en az 8 yılı boyunca müsterilerinizden yararlı yorumlar, rakiplerinizden kopyalayabileceginiz güzel yenilikler almanız, ve 1.0 sürümünüzün istikbali oldugunu düsünerek size çalısmaya gelen insanlardan iyi fikirler almanız gerekir. Henüz tamamlanmamıs erken sürümler çıkarmalısınız – fakat bu sürümleri asırı reklamdan veya büyük tantanayla kupa finallerinde duyurmaktan kaçınmalısınız, çünkü ne kadar zeki olursanız olun ürününüz henüz yeteri kadar iyi degildir.

Hata 6. Çok sık güncelleme (Corel sendromu). Baslangıçta, yeni özellikler eklerken ve müsteri portfoyünüz henüz çok genis degilken, her 6 ayda bir sürüm çıkarabilirsiniz ve kullanıcılar yeni özelliklerden dolayı sizi çok sever. Bu sekilde dört veya bes sürüm çıkardıktan sonra yavaslamanız gerekir, aksi halde halihazırdaki müsterileriniz güncelleme yapmaktan vazgeçer. Sürümleri atlarlar çünkü güncelleme maliyetlerinden kaçınmak isterler. Bir güncelleme atladıklarında kendilerini daima en yeni ve en mükemmel sürüme sahip olmaları gerekmedigine inandırırlar. Corel PhotoPaint 6.0 programını 5 yıl boyunca kullandım. Evet, biliyorum, bu sürüm “bir birim kayma” hatalarıyla doluydu ama tüm birim kayma hatalarını bildigim için ekrandaki seçimlerimi tasırken sürekli olarak olması gereken yerden bir piksel saga kaydırarak bu hatayı dengeledim.


On yıllık bir plan yapın. On yıl boyunca hayatta kalacagınızdan emin olun, çünkü yılda bir milyar dolar hasıla getiren tüm yazılım ürünlerinin hazırlanması bu kadar sürmüstür. İlk sürümünüze çok takılmayın ve ilk sürümünüzle piyasada büyük bir yer alacagınızı aklınızdan bile geçirmeyin. İyi yazılım sarap gibidir, olgunlasması zaman alır.



Joel Spolski, New York sehrinde küçük bir yazılım sirketi olan Fog Creek Software'in kurucusudur. Yale Üniversitesi'nden mezun olmus, ve programcı ve yönetici olarak Microsoft, Viacom ve Juno'da çalısmıstır



alintidirr...
Cevapla

“Genel bilgiler ve ipuçları” sayfasına dön