Be water but not waterfall (柏拉圖)

By on August 13, 2019

本文作者柏拉圖,著有《柏拉圖自殺式創業》一書。早期「放棄高薪挖角」由投資銀行轉戰初創界的創業者。2010年起創辦過補習配對平台、共用工作空間等等,在初創界成績非常一般但又好鬼鍾意發表偉論的偽哲學家。

小弟孤陋寡聞 ,新近才學懂「be water」這個詞語。向 Google 大大請教,原來出處來自武打巨星李小龍先生;在 Youtube 上翻看他當年的訪問,解釋它的意思,說話的那種氣勢實在是一絕!

“Empty your mind, be formless, shapeless, like water.

Put water into a cup.

Becomes the cup.

Put water into a teapot.

Becomes the teapot.

Water can flow or creep or drip or crash.

Be water my friend.”

其實在 software development 的世界,都有一款「water 」,叫做 waterfall model;不過此 water 不同彼 water,恰恰相反,跟著 waterfall model 去開發,最大的缺點往往就是缺乏 be water 那種靈活性。

Waterfall model 長久以來可算是 software development 的金科玉律。它把一個開發項目分成幾個不同的階段,早早把框架定好。步驟上,首先向用家拿取 requirement、到 design、再開始做 implementation、然後 testing、最後正式交貨。一個接一個的步驟,可算是井井有條,對於一些早已有明確方向的項目無疑是十分適合的。不過它仍有不足之處,例如:每一個步驟一定要緊接着上一個步驟,如果要返回上一個步驟作轉變是非常困難的事。

但事實上,以小弟經驗,大多數用家要他們紙上談兵講想要什麼,是困難的,所以他們提供的 requirement 可能是模棱兩可;另一些自以為很清楚自己想要什麼的,當你如是説交出他「想要」的,他卻跟你説其實這又不是他心中所想,吹脹!除些以外,通常整個開發時間要以月計,所以由開始到完成,通常要等足幾個月甚至超過一年,真是等你等到我心痛。

在 software development 的世界,都有一款「water 」,叫做 waterfall model。(Freepik 網上圖片)

在 software development 的世界,都有一款「water 」,叫做 waterfall model。(Freepik 網上圖片)

對於我們這些「計劃不如變數快」的初創大計,waterfall model 就絕不適用,因為我們是要邊做邊改 scope,跟已經有明確 end goal 的 project,完全格格不入。所以我們會用一個更加 be water 的方法--agile model。

相對於 waterfall 一個一個 stage 去進行,agile 是以功能為單位,基本方針是不斷將新的功能加建在現有的系統上,而且同時間以維持現有系統一直能夠保持運行為目標。Waterfall model 要先收集好 requirement,而 agile 就是開發團隊不斷跟用家、客户收集 feedback,再將它們列成功能,再從芸芸的功能當中排出開發的先後次序;而且很多時候,這個次序是不斷在改變之中--當發現有一些更重要的功能時,往往就會馬上把它放在這條隊的前頭。

這種非常 dynamic 的開發方法,好處是靈活性高,但同時在 project management 方面也需要更高的要求,否則有可能搞得亂到不堪,整個 project 變得東一忽西一忽,甚至在加新功能時令本來運作正常的系統炒機。

所以當你要做你的 tech startup 時,be water my friend。

對於這些「計劃不如變數快」的初創大計,waterfall model 就絕不適用。(Freepik 網上圖片)

對於這些「計劃不如變數快」的初創大計,waterfall model 就絕不適用。(Freepik 網上圖片)

更多柏拉圖文章:

支持 StartupBeat

如欲投稿、報料,發佈新聞稿或採訪通知,按這裡聯絡我們