先要好代碼? 還是好產(chǎn)品?
很多朋友不同意我的意見(jiàn),其實(shí)我想表達(dá)的是一個(gè)先后順序的問(wèn)題, 并非是重要程度。好的產(chǎn)品能讓技術(shù)重要起來(lái).
做項(xiàng)目,特別是創(chuàng)業(yè)項(xiàng)目, 實(shí)現(xiàn)好的點(diǎn)子總是一件令人抓狂的事情。明明非常有經(jīng)驗(yàn),為什么還是總延期呢?看上去沒(méi)有技術(shù)難度,卻很容易陷入到實(shí)現(xiàn)細(xì)節(jié)中出不來(lái)呢。這幾天想了很多,基本上筆者總是遇到下面一個(gè)循環(huán):
- 關(guān)于某個(gè)功能,有了一個(gè)好點(diǎn)子
- 開(kāi)始實(shí)現(xiàn), 但是很快發(fā)現(xiàn)在細(xì)節(jié)上要做的東西貌似比較多
- 于是開(kāi)始設(shè)計(jì)復(fù)雜的對(duì)象關(guān)系和結(jié)構(gòu), 希望通過(guò)代碼把它們管理起來(lái). "以后好擴(kuò)展"(很多人的口頭禪)
- 但是...發(fā)現(xiàn)點(diǎn)子需要調(diào)整, 設(shè)計(jì)上有變化。
- 發(fā)現(xiàn)明明只是小調(diào)整, 卻要改很多地方, 大量的"以后好擴(kuò)展"的設(shè)計(jì)完全用不上了?
- 直接重新開(kāi)始寫(xiě)代碼, 但是不知不覺(jué)又慢慢滑入步驟3的流程中.
這個(gè)循環(huán),很明顯會(huì)浪費(fèi)掉寶貴的時(shí)間。如果是創(chuàng)業(yè)的小團(tuán)隊(duì),更是耗不起,但是為什么會(huì)這樣呢?直觀的看:這是過(guò)度設(shè)計(jì)。但是這個(gè)錯(cuò)誤背后,我覺(jué)得有一個(gè)更大的錯(cuò)誤:在好產(chǎn)品還不存在的情況下就開(kāi)始追求好代碼
這是一個(gè)錯(cuò)誤嗎? 我想很多人可能不會(huì)同意。 但是仔細(xì)想一下, 它很有可能是! 特別是在時(shí)間緊迫的情況下。 我的理解是這樣:好代碼的用處不是為了自?shī)首詷?lè), 而是為了方便修改, 應(yīng)對(duì)變化. 但這一切都有賴于產(chǎn)品細(xì)節(jié)的支撐, 可惜的是, 初創(chuàng)的產(chǎn)品細(xì)節(jié)可以認(rèn)為是最不穩(wěn)定的. 沒(méi)有它們做支撐. 強(qiáng)求好代碼, 結(jié)果多半是一些設(shè)計(jì)模式/經(jīng)驗(yàn)?zāi)J降亩哑? 寫(xiě)起來(lái)很爽, 過(guò)期得更快. 畢竟我們?nèi)祟惖闹橇κ强偨Y(jié)經(jīng)驗(yàn), 而不是預(yù)測(cè)未來(lái)。
結(jié)論: 對(duì)于創(chuàng)業(yè)的團(tuán)隊(duì)來(lái)說(shuō), 最重要的東西不一定是***先的,就算技術(shù)是核心競(jìng)爭(zhēng)力,代碼雖然重要,但是必須得先有好產(chǎn)品,等產(chǎn)品相對(duì)靠譜了,再仔細(xì)設(shè)計(jì)你的技術(shù)架構(gòu)吧
原文鏈接:http://www.cocoachina.com/gamedev/misc/2013/0628/6496.html