基于平臺的產(chǎn)品開發(fā)戰(zhàn)略
摘要:在2017年9月5日深圳舉行的“‘名家芯思維’之2017年物聯(lián)網(wǎng)核心技術(shù)和應(yīng)用國際研討會”上,周立功先生做了題為“平臺即服務(wù)”的講演。
本文引用地址:http://m.butianyuan.cn/article/201809/389043.htm引言
產(chǎn)品的BOM(物料清單)成本很低,而毛利又很高,為何四成上市公司的年利潤卻不夠北上深廣的一套房?房子到底被誰買走了,這個問題值得我們反思!
讓我們重新審視成本
包括開發(fā)者在內(nèi)的很多管理者,做產(chǎn)品算的只是BOM成本,甚至連一個MCU相差一毛錢都嫌貴,卻不關(guān)注未知的成本。每當(dāng)問到產(chǎn)品什么時候上市時,普遍的回答都是“差不多了”,為何會出現(xiàn)這樣的問題呢?而事實上,那些未知的成本就是利潤流失的根源(如圖1所示)。
圖 1 重新審視成本
利潤從哪里來
早期創(chuàng)業(yè)時,只要抓住一個機會,多參加展會,多做廣告,成功的概率就很大。在互聯(lián)網(wǎng)時代,突然發(fā)現(xiàn)入口多了,聚焦用戶的難度越來越大。當(dāng)產(chǎn)品面臨競爭時,你會發(fā)現(xiàn)“沒有最低只有更低”。而且現(xiàn)在已經(jīng)沒有互聯(lián)網(wǎng)公司了,攜程變成了旅行社,新浪變成了新媒體……,機會驅(qū)動、粗放經(jīng)營的時代已經(jīng)過去了。
Apple之所以成為全球最賺錢的手機公司,關(guān)鍵在于產(chǎn)品的性能超越了用戶的預(yù)期,且因為大量可重用的核心領(lǐng)域知識,綜合成本做到了極致。Yourdon和Constantine在《結(jié)構(gòu)化設(shè)計》一書中,將經(jīng)濟學(xué)作為軟件設(shè)計的底層驅(qū)動力,軟件設(shè)計應(yīng)該致力于降低整體成本。人們發(fā)現(xiàn)軟件的維護成本遠遠高于它的初始成本,因為理解現(xiàn)有代碼需要花費時間,而且容易出錯。同時改動之后,還要進行測試和部署。
更多的時候,程序員不是在編碼,而是在閱讀程序。由于閱讀程序需要從細節(jié)和概念上理解,因此修改程序的投入會遠遠大于最初編程的投入?;谶@樣的共識,讓我們操心的一系列事情,需要不斷地思考和總結(jié),使之形成可以重用的模式,這就是方法論的起源。
顯然,作為管理者必須深刻認識利潤模型,即利潤=需求-設(shè)計。需求是致力于解決“產(chǎn)品如何好賣”的問題,設(shè)計是致力于解決“如何降低成本”的問題。由此可見,要么就是需求沒有抓準(zhǔn),要么就是管理成本太高。
其中一個極其重要的措施需要逐年對缺乏創(chuàng)意的員工進行末位淘汰,其實企業(yè)中很多平庸的人就是吞沒利潤的成本。比如,很多開發(fā)者只會抄DEMO,卻不會根據(jù)實際的需求做出性價比更好的設(shè)計,即便這樣的具有10年工作經(jīng)驗的人又有什么價值呢?
思維差異與收益
通過財務(wù)數(shù)據(jù)分析,由于早期決策失誤和缺乏科學(xué)的軟硬件工程方法,我們開發(fā)了一些周期長、技術(shù)難度大且回報率極低的產(chǎn)品,不僅軟件難以重用,而且擴展和維護難度很大,從而導(dǎo)致開發(fā)成本居高不下。
雖然大多數(shù)開發(fā)者都很勤奮,但其奮斗目標(biāo)不是企業(yè)和個人收益最大化,而是以學(xué)習(xí)基礎(chǔ)技術(shù)為樂趣,極少與市場人員和用戶交流,不注重提升個人挖掘用戶需求的創(chuàng)造力,而是將精力用錯了地方,這是很多人一輩子也沒有認識到的深刻問題。只是表面地嘆息自己懷才不遇,甚至將自己失敗的責(zé)任推給他人。由此可見,人與人之間的差別不在于知識和經(jīng)驗,而是思維方面的差異決定了每個人的未來。
從軟硬件開發(fā)來看,軟件工程、電子工程與計算機科學(xué)、電子科學(xué)技術(shù)學(xué)是完全不同的兩個領(lǐng)域的知識,其主要區(qū)別在于人,因為軟硬件開發(fā)是以人為中心的過程。如果考慮人的因素,工程技術(shù)更接近經(jīng)濟學(xué)而非科學(xué)。顯然,如果我們不改變思維方式,則很難開發(fā)出既好賣且成本低的產(chǎn)品。
圖 2 核心域與非核心域
核心域與非核心域
其實一個軟件系統(tǒng)封裝了若干領(lǐng)域的知識,其中一個領(lǐng)域知識代表了系統(tǒng)的核心競爭力,這個領(lǐng)域被稱為“核心域”,其它領(lǐng)域稱為“非核心域”。雖然更通俗的說法是“業(yè)務(wù)”和“技術(shù)”,但使用“核心域”和“非核心域”更嚴謹(如圖2)。
非核心域就是別人的領(lǐng)域,比如,底層驅(qū)動、操作系統(tǒng)和組件,即便你有一些優(yōu)勢,也是暫時的,競爭對手也能通過其它渠道獲得。雖然非核心域的改進是必要的,但不充分,還是要在核心域上深入挖掘,讓競爭對手無法輕易從第三方獲得。因為在核心域上深入挖掘,達到基于核心域的復(fù)用,這是獲得和保持競爭力的根本手段。
要達到基于核心域的復(fù)用,有必要將核心域和非核心域分開考慮。因為過早地將各個領(lǐng)域的知識混雜會增加不必要的負擔(dān),從而導(dǎo)致開發(fā)人員騰不出腦力思考核心域中更深刻的問題。由于待解決的問題的規(guī)模一旦變大,而人腦的容量和運算能力有限,因此必須分而治之,因為核心域與非核心域的知識都是獨立的。
圖 3 AWorks平臺
平臺制勝
代碼的優(yōu)劣不僅直接決定了軟件的質(zhì)量,還將直接影響軟件成本。軟件成本是由開發(fā)成本和維護成本組成的,而維護成本卻遠高于開發(fā)成本,蠻力開發(fā)的現(xiàn)象比比皆是,大量來之不易的資金被無聲無息地吞沒,整個社會的資源浪費嚴重。
為何不將復(fù)雜的技術(shù)高度抽象呢?如果實現(xiàn)就能做到讓專業(yè)的人做專業(yè)的事,AWorks就是在這樣的背景下誕生的。由于其中融入了更多的軟件工程技術(shù)方法,因此就能做到將程序員徹底從非核心域中釋放出來,聚焦于核心競爭力。
追求代碼復(fù)用和跨平臺,這是開發(fā)者夢寐以求的奮斗目標(biāo),但現(xiàn)實很殘酷,幾乎無法成為現(xiàn)實。原因何在?MCU有M0、M4、M7、ARM9、A5、A7、A8內(nèi)核、DSP......有些項目不需要操作系統(tǒng),有些項目可能選擇FreeRTOS或μC/OS-II或sysBIOS,另一些項目可能選擇Linux或Windows,因為不同的半導(dǎo)體公司支持的平臺不一樣。
基于此,我們不妨做一個大膽的假設(shè)。雖然PCF85063、RX8025T和DS1302來自不同的半導(dǎo)體的公司,但其共性都是RTC實時日歷時鐘芯片,即可高度抽象共用相同的驅(qū)動接口,其差異性用特殊的驅(qū)動接口應(yīng)對。雖然FreeRTOS或μC/OS-II或sysBIOS、Linux、Windows各不相同,但它們都是OS,多線程、信號量、消息、郵箱、隊列等是其特有的共性,顯然QT和emWin同樣可以高度抽象為GUI框架。也就是說,不管什么MCU,也不管是否使用操作系統(tǒng)(OS),只要修改相應(yīng)的頭文件,即可復(fù)用應(yīng)用代碼,這就是AWorks平臺的雛形(如圖3)。
由于AWorks制定了統(tǒng)一的接口規(guī)范,并對各種微處理器內(nèi)置的功能部件與外圍器件進行了高度的抽象,因此無論你選用的是ARM還是DSP,通過“按需定制”的外設(shè)驅(qū)動軟件和相關(guān)組件,以高度復(fù)用的軟件設(shè)計原則和只針對接口編程的思想為前提,則應(yīng)用軟件均可實現(xiàn)“一次編程、終生使用和跨平臺”?;诖?,進一步擴大了AWorks使用范圍,又發(fā)展出了代碼更小的AMetal,AWorks能給你帶來的最大價值就是不需要重新發(fā)明輪子。
由此可見,無論你選擇什么芯片和任何OS,比如,Linux和其它任何RTOS,只要AWorks支持它,就可以在目標(biāo)板上實現(xiàn)跨平臺運行。因為無論什么OS,它只是AWorks的一個組件,針對不同的OS,AWorks都會提供相應(yīng)的適配器,那么所有的組件都可以根據(jù)需要更換。
結(jié)論
ZLG(廣州周立功單片機科技有限公司)之所以始終處于高速發(fā)展?fàn)顟B(tài),首先是改變觀念和思維方式的突破,有了正確的思想和方法,就知道從哪里入手了,將優(yōu)秀人才聚焦需求分析,致力于解決“產(chǎn)品如何好賣”問題,通過技術(shù)創(chuàng)新致力于解決“如何降低成本”的問題,最終實現(xiàn)利潤最大化。
評論