偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

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

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

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

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

盡管出版多年,Peopleware依然具有重要參考價值,因為它并不注重軟件技術(shù)本身,而是關(guān)注人的因素。

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

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

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

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

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

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

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

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

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

很明顯項目A會有更嚴格的控制,如果預算超支或軟件發(fā)布推遲或質(zhì)量不達標,項目會冒很大的虧損風險。

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

由此,DeMarco沉思自語道:實際上一位主管越是注重控制,他的團隊越是可能在開發(fā)一個只能艱難盈利的項目。

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

這是在假設(shè)DeMarco以上第一個建議更關(guān)注企業(yè)領(lǐng)導者或分析師,因為是由他們確定一個軟件解決方案是必要的,而不是開發(fā)者被指派去編寫這些代碼。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

【編輯推薦】

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

2009-02-10 17:11:53

SaaSSaaS開發(fā)PaaS

2015-07-02 10:06:27

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

2022-08-20 18:28:49

汽車軟件

2017-11-09 14:12:44

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

2024-07-09 10:29:22

2013-07-02 11:40:31

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

2018-09-01 05:01:54

2021-07-06 10:03:05

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

2011-05-10 09:22:28

軟件工程

2010-11-08 09:36:23

移動軟件開發(fā)者

2022-03-31 11:47:47

RPaaS勒索軟件安全防護

2017-07-23 08:38:33

軟件定義城市軟件

2011-04-15 13:39:05

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

2011-09-07 08:59:23

2012-02-21 09:07:09

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

2013-04-02 09:50:46

SDN軟件交換機

2015-01-09 17:19:51

軟件定義網(wǎng)絡(luò)SDN瞻博網(wǎng)絡(luò)

2013-07-24 10:11:50

軟件工程師

2020-06-05 12:01:11

軟件工程C++Python

2023-06-05 10:07:13

軟件工程平臺工程師
點贊
收藏

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