研發(fā),研究和開發(fā)。毋庸置疑,這可是技術(shù)公司的命脈,也是工程師們整天都在做的事情。但在我看來根本沒有研發(fā)這回事。有研究,有開發(fā),研究和開發(fā)這兩項是完全不同的活動。
研究都是關(guān)于發(fā)現(xiàn)新東西的活動。研究是最終使得我們可以生產(chǎn)新產(chǎn)品的科學,研究正如“幕后默默做出貢獻的人”的比喻,推動控制我們發(fā)明的機器。
研究也牽涉到發(fā)現(xiàn)新的算法,比如平滑信號和壓縮數(shù)據(jù)的新算法。“新”只是對于我們而言“新”而已,但對于世界來說是已存在的。所以我們能研究新的想法和新的需要,然后轉(zhuǎn)向模型的開發(fā)。研究的結(jié)果是我們可以實現(xiàn)我們的應(yīng)用。
“開發(fā)就是實現(xiàn)想法和生產(chǎn)新產(chǎn)品。這就是大部分工程師所做的工作。我們把算法轉(zhuǎn)為實在的東西,比如把CRC算法轉(zhuǎn)換為C代碼,或者VHDL代碼到FPGA中,或者轉(zhuǎn)換代碼到邏輯部件中?!?
我認為失敗項目的十大原因之一是“不好的科學”,或者是無法區(qū)分研究和開發(fā)的問題。當一個公司正在知道什么是衡量其已確定的進度表的時候才開始生產(chǎn)產(chǎn)品。在沒有明確定義一個算法的時候就進行編碼,充其量也只是毫無目的地編碼,如果運氣好點,可能也可有使其運作起來的辦法。
研究是不能確定其進度的。如果你不那么認為,請確定一個發(fā)現(xiàn)治療癌癥的方案的進度表。
你也許可以推測簡單的研究進度表,比如對已知算法的研究,但即使是那樣,據(jù)我的經(jīng)驗,也是非常難推測的。第一次“我發(fā)現(xiàn)了”常常是在一個小實驗暴露其一些致命缺點后帶來了失望,需要更多的研究來找到更好的解決方法。然而我常??吹揭恍┭芯繄F隊在研究和開發(fā)之間混淆,這不可避免地延遲項目或者導(dǎo)致項目失敗。
當然,有一些項目需要研究和開發(fā)并行,不過,那種情況也很難可以精確地確定進度。
你在思考什么?你有因為同時進行研究和開發(fā)而導(dǎo)致項目失敗的經(jīng)歷嗎?