Posts Tagged ‘technology’

什麼時候 Scale?

July 27th, 2011

前陣子,在他們的產品發表會,Gulu 的 Jimmy 在台上脫口說了:「Jamie 說技術不重要!」回來之後,為了澄清這句話的前因後果,我於是寫了一篇「技術到底重不重要」。

而這個討論就從那邊開始延續了下去,除了我的文章下面出現的 75 則回應之外 (蠻精彩的,你們可以去讀讀),Jimmy 幾天前也在他自己的網誌闡述了他的想法 — Scalability Matters for Web Startup,他說:

(W)eb startup developers… should think about scale before they write their application. Building your app, for example, using scala on mongoDB and set it up to autoscale on AWS is smart, is free, and is easy!

基本上的意思就是說 Scale 並不難,也不貴,所以你應該從一開始就做。

而接下來的幾天,大家便在 Inside 討論了起來。到了昨晚,Xdite 也在他的網誌發表了「Startup 需不需要一開始就注意 Scale 的問題?」,他說:

在這個議題中,我覺得最容易混淆的點是:將 “Scalability” (擴充性)與 “Maintainability” (維護性)混在一起講… 如果不把 Maintainability 做好,很快的,你的 code 在三個月之內就會腐爛而且臭不可聞… 一個產品需要被重視「Scalability」,通常是在人為的「調整」費用高過「直接買機器」、「轉換成為另外一種架構」的成本這一類的狀況,才有可能發生…

很清楚也很棒的解釋。

其實如果你仔細想想,這個問題的核心根本不是「Scalability 重不重要?」,因為廢話它當然重要,只是重要的「時間點」到底在哪裡。也就是說,講這麼多,大家其實真正在討論的根本就是「什麼時候 Scale?」。而這個問題是沒有標準答案的,所以能夠有這麼多人發表他們的意見,是非常棒的一件事。但最後你們自己要參考各方觀點之後,根據你們自己的能力和資源,去做出你們自己的安排。

未知需求 vs 成本風險

對我來說,這是一個「未知需求」 vs 「成本風險」問題 — 當你不確定有沒有人喜歡你的產品,先開發給 1,000 人用的 MVP (Minimal Viable Product),花的時間和力氣比較少,風險相對的也比較低。

appWorks 輔導 50 個創業團隊下來,我的經驗是通常你的前面 5~10 個 MVP 是沒有人要用的,因為你對市場的理解度還很低。所以當你可以用少一點的時間、少一點的開發精力去驗證你對市場的假設,如果事實證明你是錯的,至少不會那麼心痛。

接著你會不斷的 pivot,到了第 11 個 MVP,終於讓你找到了 PMF (Product Market Fit) — 也就是確定了這個產品真的有 1,000,000 人要用。這時候,你再花資源下去,把它升級成 1,000,000 人用的架構。沒錯,這裡面可能有很多code 要重寫,但是至少前面 10 個嘗試,你沒有浪費太多珍貴的資源。

假設你對市場的理解度不高,用這樣的 Lean Startup 方式去創業,11 個嘗試下來你的期望值是比較高的。當然,如果你對掌握市場的需求很有自信,或是已經有明確的通路,那就相反,應該像 Google+ 一樣,從一開始就用規劃給 1 百萬甚至是 1 億人的 Waterfall 方式執行。

另外,從 1,000 人規模化到 1,000,000 人,其實也不一定要大幅的重新寫 code。我的經驗和 Xdite 說得很像,有時候就只是把機器從 AWS 的 Micro Instance 升級到 XL Instance,或是加上 App Server Load Balancing 架構而已。唯有當這些架構升級都已經無法滿足,或是邊際成本過高時,你才會真的去大幅度的把程式碼 refactor。

以上,希望這些討論能讓你對於 Scale 這件事情有更深入的了解,也更能決定自己的規模策略,加油!

有興趣多了解 Lean Startup 的精神和方法?第四屆 appWorks 育成計畫即將在下周正式開始接受申請,敬請期待。

歡迎在 Google+ 上加入我們的討論

(Image via jdhancock, CC license)

技術到底重不重要?

July 18th, 2011

昨天下午我去參加了 Gulu.com 的產品發表派對,結果被我的好朋友,Gulu 的創辦人兼 CEO Jimmy Chen 直接在台上點名,說:有一次 Jamie 跟我說技術一點都不重要,讓我好難過。可是我覺得 Jamie 錯了,技術根本就很重要!

啊!我們又回到這個敏感的問題了。

我常覺得技術就有點像是身高一樣,身高重不重要?問這個問題,高個兒都會說:「應該重要吧!」但是如果你退一步想,當然是先看你要打什麼球啊!

不過光這樣講也太混,今天的文章當然不能只有這樣。要討論這個話題其實很簡單,首先,我只要把「技術」先解剖一下,你就知道問題出在哪裡了,技術其實大略可以分為兩大類:

A) 功能的技術 — 這類型的技術讓一個網站可以做到你想要它做到的功能,所以像是 PHP, JSP, HTML5, CSS3, SQL 等等,大略可以被歸入這一類。

B) 規模的技術 — 這類型的技術讓一個網站可以從 100 個人同時使用,長大成 100 萬人同時使用,所以像是 Load-Balancing, Clustering, Fail-Over, High Availability, CDN 等等,大略歸入這一類。

也就是說,A) 就是我們常說的「程式開發」(development),而 B) 則比較像是「軟體/系統工程」(engineering)。

硬底子技術

再來,近年由於「開發」工具日趨成熟,所以 A) 類型的技術也越來越平民化,最好的例子就是 Ruby on Rails 的入門課,就是寫一個 Twitter,於是乎 A) 也越來越少被人稱作「技術」。相對的,雖然一樣有越來越多的工具,但是 B) 其實仍舊是一門非常高深的學問,即便是 Google、Facebook 這麼成功的公司,花了那麼多錢去請最頂級的工程師,還是常常會碰到網站掛掉的情況。所以,到後來,當我們說到「技術」,越來越是在討論這些最難的規模化理論和實施細節,越來越少是在討論做出一個可用產品的過程。

成本/時間

從另外一個角度去看,A)  相對於 B),是非常便宜的。你可以請一個稍微有一點功力的開發人員,只要懂得運用市面上的工具,多多少少都可以把你想要的網站雛形做出來給你。但是要做到  B),沒有花大把鈔票,雇用經驗豐富的一流工程師,使用第一流的設備,是很難達到那個水準的。另一方面,A) 相對於 B),也是比較快的一個實作過程。

風險

了解了這些,我們就可以回到「B) 規模技術」重不重要這個問題。答案是當然重要,當你確定有 100 萬人同時要用你的網站時。問題是你要怎麼確定?當然是先用 A) 功能技術做出一個雛形 (或稱 MVP),去確認市場的需求。為什麼?因為 A) 比較快,也比較便宜。沒有必要在還不確定市場的需求前,就投資珍貴的時間和成本在 B) 規模技術上。

而這,就是 Lean Startup 的最核心精神。所以,當我說「技術不重要」的時候,其實真正的意思是「規模技術一開始不重要」。這樣,清楚了嗎?

歡迎在 Google+ 加入我

(Image via jurvetson, CC license)

創業的迷思 (二) 技術是成功的不二法門?

September 30th, 2009

**關於創業的迷思系列: 對於想要創業,卻沒有經驗,也從未在創新公司 (startup) 工作過的人來說,創業這件事其實有許多迷思 (myth – 筆譯: 似是而非的觀念)。我將藉由這個系列與大家分享一些心得,希望能讓有心走上創業這條路的讀者們做為參考。**

上一回創業的迷思破除了先進者優勢 (First-mover Advantage) 的觀念,談到了在新產業中,往往是後進者 (second mover) 才佔有優勢的。這一回我們來看看大家很喜歡掛在口中的 技術,也就是大家在與創業家聊天的時候,常聽到我們團隊在 技術 上領先所有的競爭對手,我們的產品擁有最新的 技術 等等這些論點。到底技術是什麼,跟創業有什麼關係,技術好,就會成功嗎?  就是今天我要破除的迷思。

首先,我們先來看看技術的定義。英文的維基百科 (Wikipedia) 是這樣解釋的:

Technology is a broad concept that deals with human as well as other animal species‘ usage and knowledge of tools and crafts, and how it affects a species’ ability to control and adapt to its environment.

翻成中文是這個意思: 技術是一個廣泛的概念,用來指人類 (以及其他物種) 對於工具和工藝的了解和運用,以及這樣的行為如何幫助人類控制以及適應所處的環境。或者白話一點來說,技術就是用來改善生活的工具或是方法。

而中文的維基百科似乎也呼應這樣的解釋:

不論何種文化,技術都是個難懂的詞。它可以指物質,如機器硬體或器皿,但它也可以包含更廣的架構,如系統、組織方法學和技巧。它是知識進化的主體,由社會形塑或形塑社會。如電腦等新技術的增生使人們相信技術是社會進化的決定性力量,換句話說,它是趨動改變的自發性動力。

也就是說,社會結構往往會隨著新技術的產生而改變,而這些改變發生的同時,往往會刺激產業變動,因而造成創業的機會,例如: 網際技術的進步創造了網路零售 (online retail) 在內的許多新產業,或是行動網路技術造就了手機鈴聲等相關行業。這也就是為什麼技術往往是許多創業家關心的焦點,因為這些新創公司 (startup) 所處在的領域,往往都是因為某些新技術演進,因而創造出來。

然而,技術到了最後是必須要改善生活的。在商場上,無法改善生活的技術,可以說是沒有用途的。所以創業家關心影響他所在產業的種種相關新技術,是必要的。但是最忌諱過於沉迷,再好的技術,都只是工具,重點還是在於能不能 為顧客帶來價值。而價值的創造,靠得不外乎是 功能 (feature)服務 兩個管道。

功能 有時候靠得是新技術所產生的,有得時候卻不是。我們拿 iPhone 當例子,多點觸碰 (multi touch screen) 是一個新技術,他帶來的功能是好用的螢幕鍵盤,和放大縮小等各種手勢。相對的,iPhone 的大螢幕與行動網路,都不是新技術,但是把這些技術組合起來,卻帶來了好用的行動上網的功能,刺激了數以萬計的各種手機應用程式 (iPhone App) 產生,讓 iPhone 幾乎達到無所不能,和功能可以無限擴充的地步。所以說 iPhone 之所以是一個成功的產品,是他獨特的功能組合 (feature combination),技術只是背後的推手 (enabler)。相對的,其他同時期的智慧型手機,也擁有類似的技術,但卻因為功能組合的不同,大多數無法像 iPhone 如此的成功。

另一方面,服務 則往往與技術更是沒有關係。再拿 iPhone 的成功當例子,當對手發現他的功能組合是市場需要的,紛紛跟進推出類似的手機,例如: 黑莓 (Blackberry) 的 Storm,Palm 的 Pre 等等,但是這些甚至比 iPhone 在功能上更勝一籌的手機,卻無法在市場上獲得消費者的青睞,為什麼呢?  因為當對手忙著模仿的時候,Apple 已經悄悄的將主戰場從功能,轉向了服務。也就是從手機本身,轉向了應用軟體。當使用者發現 iPhone 的 App Store 裡面有數以萬計的軟體可以下載,而 Palm Store 只有幾十個軟體,那勝負便很明顯了。

所以一個新產品要在市場上成功,靠得是功能以及服務,靠得是為使用者帶來的價值。技術,只是讓這些可以實現的一個工具。也就是說,身為一個創業家,與其把技術掛在嘴邊,我更想聽到你說的是,你的產品能夠怎樣為消費者帶來更好的生活,為企業客戶帶來更有效率的營運。除了產品以外,你有什麼樣的服務策略,能夠讓客戶願意長期追隨著你。這些,都是比技術更重要的課題。以上,希望能夠為各位有興趣創業的朋友,帶來一些思考。

©2019 MR JAMIE.
網站由 Allen Hsu 設計 | Logo 動畫由 Wen Chen 完成