一、思維差異
蘋果之所以成為全球最賺錢的公司,關(guān)鍵在于產(chǎn)品的性能超越了用戶的預(yù)期,且因?yàn)榇罅靠芍赜玫暮诵念I(lǐng)域知識,綜合成本做到了極致。Yourdon和Constantine在《結(jié)構(gòu)化設(shè)計(jì)》一書中,將經(jīng)濟(jì)學(xué)作為軟件設(shè)計(jì)的底層驅(qū)動力,軟件設(shè)計(jì)應(yīng)該致力于降低整體成本。人們發(fā)現(xiàn)軟件的維護(hù)成本遠(yuǎn)遠(yuǎn)高于它的初始成本,因?yàn)槔斫猬F(xiàn)有代碼需要花費(fèi)時間,而且容易出錯。同時改動之后,還要進(jìn)行測試和部署。由于缺乏科學(xué)的軟件工程方法,不僅軟件難以重用,而且擴(kuò)展和維護(hù)難度很大,從而導(dǎo)致開發(fā)成本居高不下。
更多的時候,程序員不是在編碼,而是在閱讀程序。由于閱讀程序需要從細(xì)節(jié)和概念上理解,因此修改程序的投入會遠(yuǎn)遠(yuǎn)大于最初編程的投入?;谶@樣的共識,讓我們操心的一系列事情,需要不斷地思考和總結(jié)使之可以重用,這就是方法論的源起。
通過財(cái)務(wù)數(shù)據(jù)分析,由于早期決策失誤和缺乏科學(xué)的軟件工程方法,我們開發(fā)了一些周期長、技術(shù)難度大且回報率極低的產(chǎn)品,不僅軟件難以重用,而且擴(kuò)展和維護(hù)難度很大,從而導(dǎo)致開發(fā)成本居高不下。
由此可見,從軟件開發(fā)來看,軟件工程與計(jì)算機(jī)科學(xué)是完全不同的兩個領(lǐng)域的知識,其主要區(qū)別在于人,因?yàn)檐浖_發(fā)是以人為中心的過程。如果考慮人的因素,軟件工程更接近經(jīng)濟(jì)學(xué),而非計(jì)算機(jī)科學(xué)。顯然,如果我們不改變思維方式,則很難開發(fā)出既好賣且成本低的產(chǎn)品。
二、利潤模型
產(chǎn)品的BOM成本很低,而毛利又很高,為何很多上市公司的年利潤卻買不起一套房?房子到底被誰買走了,這個問題值得我們反思!
偉大企業(yè)除了愿景、使命和價值觀之外,其核心指標(biāo)就是利潤,作為開發(fā)人員一個最大的痛苦就是很難精準(zhǔn)地開發(fā)好賣的產(chǎn)品。因?yàn)楹芏嗥髽I(yè)普遍都不知道利潤是如何來的?所以有必要建立一個利潤模型,即“利潤=需求-設(shè)計(jì)”。需求是致力于解決“產(chǎn)品如何好賣”的問題,設(shè)計(jì)是致力于解決“如何降低成本”的問題。
代碼的優(yōu)劣不僅直接決定了軟件的質(zhì)量,還將直接影響軟件成本。軟件成本是由開發(fā)成本和維護(hù)成本組成的,而維護(hù)成本卻遠(yuǎn)高于開發(fā)成本,蠻力開發(fā)的現(xiàn)象比比皆是,大量來之不易的資金被無聲無息地吞沒,整個社會的資源浪費(fèi)嚴(yán)重。
為何不將復(fù)雜的技術(shù)高度抽象呢?如果實(shí)現(xiàn)就能做到讓專業(yè)的人做專業(yè)的事,AWorks就是在這樣的背景下誕生的。由于其中融入了更多的軟件工程技術(shù)方法,因此就能做到將程序員徹底從非核心域中釋放出來聚焦于核心競爭力。
三、核心域和非核心域
其實(shí)一個軟件系統(tǒng)封裝了若干領(lǐng)域的知識,其中一個領(lǐng)域知識代表了系統(tǒng)的核心競爭
力,這個領(lǐng)域被稱為“核心域”,其它領(lǐng)域稱為“非核心域”。雖然更通俗的說法是“業(yè)務(wù)”和“技術(shù)”,但使用“核心域”和“非核心域”更嚴(yán)謹(jǐn)。
非核心域就是別人的領(lǐng)域,比如,底層驅(qū)動、操作系統(tǒng)和組件,即便你有一些優(yōu)勢,那
也是暫時的,競爭對手也能通過其它渠道獲得。雖然非核心域的改進(jìn)是必要的,但不充分,還是要在核心域上深入挖掘,讓競爭對手無法輕易從第三方獲得。因?yàn)樵诤诵挠蛏仙钊胪诰?,達(dá)到基于核心域的復(fù)用,這是獲得和保持競爭力的根本手段。
要達(dá)到基于核心域的復(fù)用,有必要將核心域和非核心域分開考慮。因?yàn)檫^早地將各個領(lǐng)
域的知識混雜,會增加不必要的負(fù)擔(dān),從而導(dǎo)致開發(fā)人員騰不出腦力思考核心域中更深刻的問題。由于待解決的問題的規(guī)模一旦變大,而人腦的容量和運(yùn)算能力有限,因此必須分而治之,因?yàn)楹诵挠蚺c非核心域的知識都是獨(dú)立的。
四、共性與差異性
如果沒有ARM公司的IP授權(quán)模式,則在設(shè)計(jì)MCU時勢必消耗大量來之不易的財(cái)富。雖然ARM公司的規(guī)模相對來說不大,但毫不影響ARM成為一個偉大的企業(yè),其為人類做出的貢獻(xiàn)是有目共睹的。