2007年12月4日

Getting Real - 37Signal 的成功之道

本麵寫網誌這一個月以來,發現明明都是1000字的文章,有些一小時搞定,有些要花上半個月。這篇文章就屬於後者。通常本麵讀完書之前,是不敢妄下評論的。而這本書雖然是線上免費、屬於短評格式,但畢竟是英文寫的,還是花了半個月才讀完,寫出這篇評論。這一個月另外一個發現,就是這類與軟體開發相關的文章非常不受歡迎...,只有比國外科技新聞即時解析好一點。不過這些是本麵的興趣,我會撐下去的

 

===以上是碎碎念===以上是碎碎念===以上是碎碎念===

 

在介紹書之前,先介紹一下37Signal這家公司。基本上37Signal是一家小型軟體公司,專門製作網站型軟體,產品有Basecamp,Campfire,Backpack等等。但這家公司主要的名聲,並非來自這些利基產品,而是一套Web-based Application Framework - Ruby on Rails (RoR)。做Web的工程師就算沒寫過,也聽過RoR的名聲。到底是一家怎樣的公司,能創造這套framework呢?

Getting Real就是37Signal所出的書,其中道出該公司的網站軟體開發哲學,供好奇的網路人一探究竟。注意:他們專注於網站型軟體的開發,而非傳統、需要安裝的軟體。歸結一下,該書的哲學如下:

  1. 跳過所有間接部份,直攻軟體本身:盡量不開會、不寫functional spec、不寫使用手冊(用FAQ及簡潔設計取代)。重點是:寫軟體。盡快做出真正的網站才是最重要的啦!
  2. 少就是多:不必要的間接部份少一點、文件少一點、軟體少一點、功能少一點、不是基本的東西少、一、點!(完全不像軟體公司會說的話…)
  3. 保持小、輕巧
  4. 先寫使用者界面、再寫後端程式:界面才是使用者會用到的。先確定界面正確、程式才不會錯!
  5. 階段式開發:不需要完成所有功能,發表、調整、持續改善網站才是網站開發的王道!
  6. 有限提供:給客戶他們需要的、除去他們不要的!!

本麵現在的工作正是軟體開發,但應用的開發方式與37Signal的方式非常不同。現在大公司多還是應用一年發行一個新版本的方式。這種方式需要長時間的開發、測試工作。但本麵也觀察到這種方式的確有反應慢的問題。這種問題對大企業還ok,但對小公司則非常致命。有一個可能的解決方法是:減少開發時間,經常發佈新版本。但對需要安裝的軟體而言,並非好的解決之道。但對網站而言,常常發佈新版本或許是比較好的方式。而37Singnal則是依據網站的特性,把網站的開發推到另一個極致。

看完整本書,另外有非常熟悉的感覺:Getting Real的哲學與Joel的哲學非常接近:善用小公司輕、薄、短、小的優勢,集中火力,不怕競爭,專攻利基市場。如果本麵未來有幸到類似公司工作,一定要好好應用這些知識的啦!