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

軟件工程時(shí)代結(jié)束 軟件開發(fā)工程化時(shí)代到來

企業(yè)動(dòng)態(tài)
本文譯自著名IT顧問和評論員David M Williams的博客,在這里,他提出了關(guān)于軟件開發(fā)的全新理念。

Tom DeMarco是著名的Peopleware: Productive Projects and Teams一書的合著者,然而在這個(gè)月,DeMarco向IEEE的計(jì)算機(jī)協(xié)會(huì)提出個(gè)人意見:軟件工程時(shí)代結(jié)束了。

大多數(shù)計(jì)算機(jī)軟件開發(fā)者必讀書目中都包含Peopleware一書,它于1987年首次出版,1999年再版。

盡管出版多年,Peopleware依然具有重要參考價(jià)值,因?yàn)樗⒉蛔⒅剀浖夹g(shù)本身,而是關(guān)注人的因素。

因此,DeMarco給這本書起了一個(gè)帶People的名字。也許并不像Steve Ballmer,Steve Jobs或者Linus Torvalds這些大師們演講時(shí)擁有那么多粉絲聽眾,但DeMarco依然是全世界高質(zhì)量軟件開發(fā)從業(yè)者們執(zhí)著追隨的對象。

一個(gè)類似的公告出現(xiàn)在今年7月Computing Now雜志(IEEE計(jì)算機(jī)協(xié)會(huì)的出版物)的DeMarco視角專欄,標(biāo)題為《軟件工程:一個(gè)過時(shí)的概念?》。

這在很多層面上都是很吸引眼球的,除了DeMarco的作者身份以外,標(biāo)題還蘊(yùn)含著出人意料的觀點(diǎn):軟件工程是一個(gè)正在消失的概念。

實(shí)際上,DeMarco本人就一直引領(lǐng)著軟件工程的現(xiàn)代觀念,在Peopleware之前,他寫了Controlling Software Projects: Management, Measurement and Estimation(《控制軟件開發(fā)項(xiàng)目:管理,測算和評價(jià)》)一書。

這本1982年銷量冠軍的第一行文字在接下來的27年中被廣泛引用,DeMarco在其中寫道:一個(gè)人無法控制他不能測算的東西。為了解決這個(gè)問題,軟件工程師們克服重重困難,勇敢地一次次去分析和揭示一切軟件里可能的規(guī)律。

可是,隨著時(shí)間的推移,DeMarco現(xiàn)在顯露出對其原先所持觀點(diǎn)的不安。

那句引文中(書名也是)暗示了控制是一個(gè)重要的方面,他說,也許對任何軟件項(xiàng)目來說都是最重要的方面。

但現(xiàn)在不是了。他說,接著舉了Google Earth和Wikipedia這兩個(gè)典型例子,它們都是在發(fā)展中不進(jìn)行多少控制的軟件。

為了說明他已改變了的推理,DeMarco引用了兩個(gè)假定的項(xiàng)目:最后都要花費(fèi)大約100萬美元,但項(xiàng)目A將產(chǎn)生大約110萬美元的效益,項(xiàng)目B將產(chǎn)生超過5000萬美元的效益。

很明顯項(xiàng)目A會(huì)有更嚴(yán)格的控制,如果預(yù)算超支或軟件發(fā)布推遲或質(zhì)量不達(dá)標(biāo),項(xiàng)目會(huì)冒很大的虧損風(fēng)險(xiǎn)。

相比之下,項(xiàng)目B由于投入和產(chǎn)出差異巨大,控制可以很松。很明顯的是,在這里面成本、期限和質(zhì)量問題依然存在,但項(xiàng)目最終會(huì)賺錢。如果不賺錢的話,一切都會(huì)亂掉。

由此,DeMarco沉思自語道:實(shí)際上一位主管越是注重控制,他的團(tuán)隊(duì)越是可能在開發(fā)一個(gè)只能艱難盈利的項(xiàng)目。

接著他說,管理軟件開發(fā)的問題應(yīng)該不是關(guān)于嚴(yán)格的控制和軟件工程所規(guī)定的規(guī)律,相反,開發(fā)團(tuán)隊(duì)?wèi)?yīng)當(dāng)開發(fā)產(chǎn)生真正效益的項(xiàng)目,主管應(yīng)當(dāng)降低對項(xiàng)目控制的期望。

這是在假設(shè)DeMarco以上第一個(gè)建議更關(guān)注企業(yè)領(lǐng)導(dǎo)者或分析師,因?yàn)槭怯伤麄兇_定一個(gè)軟件解決方案是必要的,而不是開發(fā)者被指派去編寫這些代碼。

普通公司里的程序員并沒有選擇他們開發(fā)項(xiàng)目的權(quán)利,但顯而易見,主管們應(yīng)該在投入資源開發(fā)之前確定一個(gè)項(xiàng)目數(shù)量上的效益和質(zhì)量上的效益,他們得在這方面多下功夫。

一個(gè)軟件工程之父,不停地在告訴人們要放松,不要整天盯著開發(fā)項(xiàng)目的成本和時(shí)間要求,這聽起來讓人感到困惑。

為了給他的觀點(diǎn)進(jìn)行辯護(hù),DeMarco拿青少年來做類比。對于青少年,你怎樣在他們身上找到一個(gè)人無法控制他不能測算的東西的理論依據(jù)?例如,一位稱職的家長會(huì)如何客觀地評價(jià)他子女的道德水平、教養(yǎng)和同情心?

在這種情況下,你無法控制一個(gè)撫養(yǎng)對社會(huì)有益成員的育人項(xiàng)目,相反,在軟件項(xiàng)目中你管理的是員工,控制的是時(shí)間和成本,從根本上說,在這過程中你得盡可能在擁有極少反饋信息的情況下掌控大局。

用同樣的方法,一支軟件開發(fā)團(tuán)隊(duì)?wèi)?yīng)當(dāng)在開發(fā)過程中按照相關(guān)價(jià)值大小、文檔和測試結(jié)果不斷向項(xiàng)目中增加程序塊,在項(xiàng)目主管宣布項(xiàng)目完成的任何可能時(shí)候都能立刻將產(chǎn)品打包并發(fā)布。

DeMarco說,去設(shè)計(jì)規(guī)劃一套軟件依然有其意義,但那并不是軟件工程這個(gè)術(shù)語所要真正表達(dá)的意思,設(shè)計(jì)策劃軟件是一整套規(guī)則,過程,檢視,度量,規(guī)劃,追蹤以及許多其他元素的總和。

幾十年來,開發(fā)團(tuán)隊(duì)們都在成本預(yù)算和時(shí)間限制上痛苦地掙扎著,但這不該是他們追求的至上目標(biāo)。

更重要的目標(biāo)是要轉(zhuǎn)變。DeMarco現(xiàn)在說,去切實(shí)改變這個(gè)世界或一家公司或它運(yùn)作的模式才是更重要的。

幾乎是為了向自己推行了幾十年將工程化原則應(yīng)用于軟件開發(fā)的想法表示懺悔,DeMarco說這場轉(zhuǎn)變是我們一向應(yīng)該關(guān)注實(shí)施的。

在我個(gè)人看來,DeMarco說設(shè)計(jì)規(guī)劃一套軟件的做法與詞語軟件開發(fā)是不同的,這毫無疑問,的確,有很多人開始懷疑開發(fā)軟件到底是不是一種包含度量控制和管理控制的工程化實(shí)務(wù),而事實(shí)卻是,軟件本身并不像物理學(xué)那樣有著堅(jiān)實(shí)的科學(xué)理論基礎(chǔ),而是充滿了抽象的概念,虛幻的構(gòu)想甚至是一次次的試驗(yàn)研究。

我職業(yè)生涯的美好回憶中就有自己提出的解決方案幫助公司進(jìn)行重大轉(zhuǎn)變的一系列例子,其實(shí)謙虛地說,我的這些方案在技術(shù)層面上一點(diǎn)也不特別,但它們對公司起到的效果卻是立竿見影。這些直到現(xiàn)在我還能如數(shù)家珍般列出。

之前我說過這樣一個(gè)例子,在這個(gè)例子中我給那個(gè)老板設(shè)計(jì)了使公司的毛利率報(bào)表自動(dòng)化生成的方案,這確確實(shí)實(shí)改變了整個(gè)公司的文化?,F(xiàn)在,這是一個(gè)有著巨大甚至是無限價(jià)值的軟件項(xiàng)目。

具有諷刺意味的是,DeMarco的新式哲學(xué)有可能很早以前就存在了。2003年我讀了Ed Yourden所著的第二版《Deathmarch》(Deathmarch預(yù)示失敗的開發(fā)項(xiàng)目),驚異于其中一部分內(nèi)容,在那里面,Yourden試圖界定適用于類似Microsoft Word這樣巨型開發(fā)項(xiàng)目的度量標(biāo)準(zhǔn)。

Yourden詳細(xì)敘述了他打電話給微軟,詢問軟件有多少行代碼的事,結(jié)果微軟技術(shù)服務(wù)人員在電話另一頭說不知道,他又問這個(gè)項(xiàng)目有多少開發(fā)人員,答復(fù)依然是不知道。Yourden繼續(xù)問著這些叫人無法回答的問題,最后那個(gè)技術(shù)服務(wù)人員火了:你難道不知道嗎?我們賣出了數(shù)千萬套軟件,誰管開發(fā)成本是多少?

當(dāng)然,隨著今年早些時(shí)候的裁員,微軟也許現(xiàn)在會(huì)計(jì)算成本,但Yourden之類的作者們在最近十年早些時(shí)候肯定有證據(jù)表明項(xiàng)目的成本和可度量性會(huì)隨著回報(bào)率的升高而重要性降低。

我認(rèn)為沒有人去超越這個(gè)觀點(diǎn)的原因是眾所周知的將軟件與已確定的工程化原則相關(guān)聯(lián)的必要性,盡管二者之間存在著明顯不同,比方說建造一幢建筑與開發(fā)一款文字處理軟件。

確實(shí),有人經(jīng)常說相比一門科學(xué)來說,開發(fā)軟件可能更是一門藝術(shù),我越來越傾向于這種說法。我把它看成是一種工藝,一項(xiàng)技巧,一個(gè)創(chuàng)造過程。當(dāng)編程理論能被教授時(shí),它更像是一套音樂或繪畫的理論,除非你有天生的創(chuàng)造表現(xiàn)力,否則你不可能立志要成為有史以來最偉大的程序員或音樂家或藝術(shù)家。

與Agile Development嚴(yán)格的瀑布方法論和在它之前的應(yīng)用程序快速開發(fā)(RAD)漸行漸遠(yuǎn)的當(dāng)代趨勢同樣支持了DeMarco的說法:實(shí)際上,他發(fā)現(xiàn)的事實(shí)已在我們身邊存在了很多年。

現(xiàn)在的問題是,沒人敢站出來大聲說:我們不再需要軟件工程這個(gè)概念!

【編輯推薦】

  1. 大學(xué)生就業(yè)壓力巨增 軟件開發(fā)人才一將難求
  2. IBM推出面向軟件開發(fā)人員社交網(wǎng)站
  3. 計(jì)算機(jī)軟件開發(fā)和應(yīng)用領(lǐng)域十大關(guān)鍵技術(shù)解析
責(zé)任編輯:夏雨 來源: 賽迪網(wǎng)
相關(guān)推薦

2022-08-20 18:28:49

汽車軟件

2015-07-02 10:06:27

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

2009-02-10 17:11:53

SaaSSaaS開發(fā)PaaS

2017-11-09 14:12:44

大數(shù)據(jù)軟件工程師算法工程師

2024-07-09 10:29:22

2021-07-06 10:03:05

軟件開發(fā) 技術(shù)

2018-09-01 05:01:54

2013-07-02 11:40:31

軟件定義網(wǎng)絡(luò)SDNIP網(wǎng)絡(luò)

2011-05-10 09:22:28

軟件工程

2010-11-08 09:36:23

移動(dòng)軟件開發(fā)者

2011-09-07 08:59:23

2011-04-15 13:39:05

云時(shí)代軟件工程之挑戰(zhàn)及

2013-07-24 10:11:50

軟件工程師

2012-02-21 09:07:09

中小企業(yè)軟件開發(fā)云計(jì)算

2017-07-23 08:38:33

軟件定義城市軟件

2022-03-31 11:47:47

RPaaS勒索軟件安全防護(hù)

2011-09-08 10:26:49

2011-10-10 10:10:14

2020-06-05 12:01:11

軟件工程C++Python

2023-06-05 10:07:13

軟件工程平臺(tái)工程師
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)