自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

你應該了解這一軟件開發(fā)的自然屬性

開發(fā) 開發(fā)工具
任何希望用既定的計劃去約束這個過程,任何希望用代碼工人和管理流程代替開發(fā)人員的自主性和創(chuàng)造性的努力都將失敗;軟件開發(fā)永遠在設計,就像陸遠說的:每個廚子都是一名設計師。

什么是軟件的生產制造過程?需求收集,分析,設計,開發(fā),測試,打包,發(fā)布;這些是軟件的生產制造過程嗎?

看上去好像沒有問題,這不就是將軟件從無到有制造出來的過程嗎?好吧,那讓我們用下面這張圖來比較一下:一輛汽車的生產制造過程和一個軟件的生產制造過程有什么區(qū)別。

一輛汽車的生產制造過程和一個軟件的生產制造過程的區(qū)別

汽車上到生產線,工人按照既定的程序不停“重復”的生產著同樣規(guī)格的產品,對于汽車來說,生產線上同一批次的汽車一定是一樣的;對于軟件來說,如果是同樣的軟件,生產的過程可以被簡化為“復制”和“粘貼”。而我們所理解的所謂軟件的生產制造過程其實對應的是“原型車”的設計過程,因為每次經歷這整個過程的軟件都不再是統(tǒng)一批次(版本)。

從這個角度來說,軟件開發(fā)其實一直處于“設計”過程,而從來不會進入和傳統(tǒng)制造業(yè)類似的“生產”過程。傳統(tǒng)的瀑布模式的軟件項目管理思路其實就是在用管理不停重復”生產“過程的方法來管理一個不斷變化的“設計”過程,注定是不適合的。

[[191557]]

也許大家對汽車生產線還是不夠熟悉,那我們來舉個做菜的例子。你要做一道西紅柿炒雞蛋,正常的工序是:炒蛋,拿出,放油,放蔥,放西紅柿,放糖,放入炒好的蛋,放鹽,出鍋。沒毛病,這就是一盤正常的西紅柿炒蛋,按照這個工序,任何經過簡單培訓的人都可以很容易的快速復制這道菜。但是,假設你已經完成了放糖的步驟,這時候客人說他有糖尿病,怎么辦?你只能倒掉西紅柿從來,還好炒好蛋還可以用。又或者,客人點了西紅柿炒蛋,上了桌客人說這個不對,我要的是黃瓜炒蛋 … … 作為大廚的你是否會提刀見客?好吧,其實軟件開發(fā)的過程遠比這個復雜,推倒重來算好的,蓋好了大樓再拆掉地下室這種事在軟件行業(yè)也是家常便飯,用戶搞不清西紅柿和黃瓜算好的,至少他承認搞不清,很多用戶會要求你把黃瓜做成西紅柿的味道?,F在你理解為什么會有程序員暴打產品經理的事情出現了吧?

這就是軟件開發(fā)的自然屬性,它不是一門科學,更不是一門工程;因為科學和工程都是把已經解決的問題作為經驗/定理,供大家重復使用;而軟件開發(fā)更像是炒菜,就算是最有經驗的大廚,每次的菜也都要重做,再詳細菜譜也無法保證炒出一樣的味道;環(huán)境,時間,材料甚至大廚心情的都會對味道有影響。更糟糕的是,至少做菜的材料和過程是可見的,軟件開發(fā)的過程是不可見的,你看到的只是設計人員寫了一堆菜譜,程序員不停的把代碼扔到鍋里,而這些好像和***那道菜都沒啥關系。

牢記這一點,這才是軟件開發(fā)的本質,任何希望用既定的計劃去約束這個過程,任何希望用代碼工人和管理流程代替開發(fā)人員的自主性和創(chuàng)造性的努力都將失敗;軟件開發(fā)永遠在設計,就像陸遠說的:每個廚子都是一名設計師。

[[191558]]

我要說的是:不會做菜的程序員不是好設計師 … … 但至少我們都是設計師,不是編碼工人。

【本文為51CTO專欄作者“徐磊”的原創(chuàng)稿件,轉載請通過作者微信公眾號devopshub獲取授權】

戳這里,看該作者更多好文 

責任編輯:趙寧寧 來源: 51CTO專欄
相關推薦

2020-11-11 09:42:34

軟件開發(fā) 技術

2023-12-19 16:39:18

CSS開發(fā)前端

2018-07-09 11:00:56

軟件架構設計模式

2020-11-16 12:25:08

技術資訊

2022-11-06 15:42:16

軟件開發(fā)KPI團隊

2024-09-02 14:24:13

2009-06-26 09:32:09

軟件開發(fā)

2015-07-02 10:06:27

軟件開發(fā)軟件工程

2016-09-28 19:16:36

軟件開發(fā)安全CISSPSDLC

2009-02-10 17:11:53

SaaSSaaS開發(fā)PaaS

2015-03-02 09:35:07

軟件開發(fā)

2024-02-21 23:11:19

2021-09-16 21:22:15

Flutter系統(tǒng)

2020-04-28 18:20:04

Ubuntu 20.0UbuntuLinux

2017-04-12 09:24:45

開發(fā)編程Java

2022-06-22 10:26:27

軟件開發(fā)首席技術官

2023-12-28 16:33:57

2017-03-17 08:15:17

敏捷軟件開發(fā)軟件開發(fā)

2012-06-18 09:34:14

2020-06-24 11:21:47

軟件開發(fā)面試
點贊
收藏

51CTO技術棧公眾號