新聞中心
什么是軟件的生產(chǎn)制造過(guò)程?需求收集,分析,設(shè)計(jì),開發(fā),測(cè)試,打包,發(fā)布;這些是軟件的生產(chǎn)制造過(guò)程嗎?

創(chuàng)新互聯(lián)建站為企業(yè)級(jí)客戶提高一站式互聯(lián)網(wǎng)+設(shè)計(jì)服務(wù),主要包括網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、成都App定制開發(fā)、小程序定制開發(fā)、宣傳片制作、LOGO設(shè)計(jì)等,幫助客戶快速提升營(yíng)銷能力和企業(yè)形象,創(chuàng)新互聯(lián)各部門都有經(jīng)驗(yàn)豐富的經(jīng)驗(yàn),可以確保每一個(gè)作品的質(zhì)量和創(chuàng)作周期,同時(shí)每年都有很多新員工加入,為我們帶來(lái)大量新的創(chuàng)意。
看上去好像沒(méi)有問(wèn)題,這不就是將軟件從無(wú)到有制造出來(lái)的過(guò)程嗎?好吧,那讓我們用下面這張圖來(lái)比較一下:一輛汽車的生產(chǎn)制造過(guò)程和一個(gè)軟件的生產(chǎn)制造過(guò)程有什么區(qū)別。
汽車上到生產(chǎn)線,工人按照既定的程序不?!爸貜?fù)”的生產(chǎn)著同樣規(guī)格的產(chǎn)品,對(duì)于汽車來(lái)說(shuō),生產(chǎn)線上同一批次的汽車一定是一樣的;對(duì)于軟件來(lái)說(shuō),如果是同樣的軟件,生產(chǎn)的過(guò)程可以被簡(jiǎn)化為“復(fù)制”和“粘貼”。而我們所理解的所謂軟件的生產(chǎn)制造過(guò)程其實(shí)對(duì)應(yīng)的是“原型車”的設(shè)計(jì)過(guò)程,因?yàn)槊看谓?jīng)歷這整個(gè)過(guò)程的軟件都不再是統(tǒng)一批次(版本)。
從這個(gè)角度來(lái)說(shuō),軟件開發(fā)其實(shí)一直處于“設(shè)計(jì)”過(guò)程,而從來(lái)不會(huì)進(jìn)入和傳統(tǒng)制造業(yè)類似的“生產(chǎn)”過(guò)程。傳統(tǒng)的瀑布模式的軟件項(xiàng)目管理思路其實(shí)就是在用管理不停重復(fù)”生產(chǎn)“過(guò)程的方法來(lái)管理一個(gè)不斷變化的“設(shè)計(jì)”過(guò)程,注定是不適合的。
也許大家對(duì)汽車生產(chǎn)線還是不夠熟悉,那我們來(lái)舉個(gè)做菜的例子。你要做一道西紅柿炒雞蛋,正常的工序是:炒蛋,拿出,放油,放蔥,放西紅柿,放糖,放入炒好的蛋,放鹽,出鍋。沒(méi)毛病,這就是一盤正常的西紅柿炒蛋,按照這個(gè)工序,任何經(jīng)過(guò)簡(jiǎn)單培訓(xùn)的人都可以很容易的快速?gòu)?fù)制這道菜。但是,假設(shè)你已經(jīng)完成了放糖的步驟,這時(shí)候客人說(shuō)他有糖尿病,怎么辦?你只能倒掉西紅柿從來(lái),還好炒好蛋還可以用。又或者,客人點(diǎn)了西紅柿炒蛋,上了桌客人說(shuō)這個(gè)不對(duì),我要的是黃瓜炒蛋 … … 作為大廚的你是否會(huì)提刀見客?好吧,其實(shí)軟件開發(fā)的過(guò)程遠(yuǎn)比這個(gè)復(fù)雜,推倒重來(lái)算好的,蓋好了大樓再拆掉地下室這種事在軟件行業(yè)也是家常便飯,用戶搞不清西紅柿和黃瓜算好的,至少他承認(rèn)搞不清,很多用戶會(huì)要求你把黃瓜做成西紅柿的味道?,F(xiàn)在你理解為什么會(huì)有程序員暴打產(chǎn)品經(jīng)理的事情出現(xiàn)了吧?
這就是軟件開發(fā)的自然屬性,它不是一門科學(xué),更不是一門工程;因?yàn)榭茖W(xué)和工程都是把已經(jīng)解決的問(wèn)題作為經(jīng)驗(yàn)/定理,供大家重復(fù)使用;而軟件開發(fā)更像是炒菜,就算是最有經(jīng)驗(yàn)的大廚,每次的菜也都要重做,再詳細(xì)菜譜也無(wú)法保證炒出一樣的味道;環(huán)境,時(shí)間,材料甚至大廚心情的都會(huì)對(duì)味道有影響。更糟糕的是,至少做菜的材料和過(guò)程是可見的,軟件開發(fā)的過(guò)程是不可見的,你看到的只是設(shè)計(jì)人員寫了一堆菜譜,程序員不停的把代碼扔到鍋里,而這些好像和***那道菜都沒(méi)啥關(guān)系。
牢記這一點(diǎn),這才是軟件開發(fā)的本質(zhì),任何希望用既定的計(jì)劃去約束這個(gè)過(guò)程,任何希望用代碼工人和管理流程代替開發(fā)人員的自主性和創(chuàng)造性的努力都將失敗;軟件開發(fā)永遠(yuǎn)在設(shè)計(jì),就像陸遠(yuǎn)說(shuō)的:每個(gè)廚子都是一名設(shè)計(jì)師。
我要說(shuō)的是:不會(huì)做菜的程序員不是好設(shè)計(jì)師 … … 但至少我們都是設(shè)計(jì)師,不是編碼工人。
【本文為專欄作者“徐磊”的原創(chuàng)稿件,轉(zhuǎn)載請(qǐng)通過(guò)作者微信公眾號(hào)devopshub獲取授權(quán)】
戳這里,看該作者更多好文
當(dāng)前名稱:你應(yīng)該了解這一軟件開發(fā)的自然屬性
網(wǎng)頁(yè)路徑:http://www.dlmjj.cn/article/cdpjdoh.html


咨詢
建站咨詢
