當(dāng)前位置:機(jī)電之家首頁(yè) >> 工程造價(jià)>> 工程論文 >> 軟件工程論文 >> 人怎樣對(duì)軟件工程說(shuō)話
人怎樣對(duì)軟件工程說(shuō)話

...k只覺(jué)得自己迷失了路,或是進(jìn)入了一個(gè)奇異的國(guó)度,這個(gè)國(guó)度比人類曾經(jīng)到過(guò)的任何地方都遠(yuǎn),它是那么奇異,連空氣都沒(méi)有一點(diǎn)成分與故鄉(xiāng)的空氣相同,在這兒,一個(gè)人可能因奇異而窒息,可是這奇異又有一種無(wú)可理喻的魅力,使你只能繼續(xù)向前走,向前越迷越深。
—— 卡夫卡《城堡》

被劫持的項(xiàng)目

為什么一本講項(xiàng)目管理的小說(shuō)要以主人公被綁架開(kāi)始?湯普金斯先生,這位愛(ài)打瞌睡的資深項(xiàng)目經(jīng)理,公司近期裁員的犧牲品,被綁架到一個(gè)完全陌生的國(guó)度,委以一項(xiàng)近乎不可能的任務(wù),開(kāi)始一次奇異的、難以測(cè)度的冒險(xiǎn)......這聽(tīng)起來(lái)完全像一部卡夫卡式的荒誕小說(shuō),但其實(shí)卻是IT名著《最后期限》的開(kāi)頭。
你會(huì)說(shuō),這只是制造懸念、吸引讀者的套路而已??墒恰皯夷睢?,原本只該發(fā)生在那些存在風(fēng)險(xiǎn)、需要膽魄和運(yùn)氣的領(lǐng)域:間諜或是反間諜,高空救險(xiǎn),買彩票等等,哪里有懸念,哪里就有危險(xiǎn),就有失敗甚至喪命的可能。為什么軟件開(kāi)發(fā)項(xiàng)目會(huì)卷入一場(chǎng)懸念、一次歷險(xiǎn)之中?“最后期限”,英文本來(lái)是“deadline”,直譯就是“死線”,據(jù)說(shuō)原本指的是監(jiān)獄里的最后一道界限,犯人一旦越過(guò)就格殺勿論——難道作者是以此象征開(kāi)發(fā)者們頭上懸著的劍?難道作者在暗示,軟件項(xiàng)目就很可能掙扎在這樣的生死界限上,很可能陷入“被劫持”的危險(xiǎn)中?
從軟件行業(yè)之外的角度看,“項(xiàng)目”往往意味著規(guī)范的運(yùn)作,甚至是“成功”的同義語(yǔ)。請(qǐng)?jiān)O(shè)想一個(gè)建筑項(xiàng)目。不考慮款項(xiàng)拖欠和成本回收,單純從設(shè)計(jì)、施工的角度來(lái)說(shuō),“失敗”的可能性相當(dāng)小。如果讓外行想當(dāng)然地推測(cè),軟件項(xiàng)目很少與有形的“物質(zhì)材料”打交道,成功的概率應(yīng)該較建筑業(yè)更高。但是,任何略有經(jīng)驗(yàn)的軟件開(kāi)發(fā)者都會(huì)明白我說(shuō)的“風(fēng)險(xiǎn)”對(duì)于軟件項(xiàng)目意味著的比例。讓我們?cè)龢I(yè)界公認(rèn)的“硬數(shù)據(jù)”:作為軟件開(kāi)發(fā)管理的權(quán)威、軟件項(xiàng)目研究專家,本書(shū)作者迪馬可在他的另一部名著《人件》中談到,他們“跟蹤研究的所有項(xiàng)目中,大約有15%的項(xiàng)目徹底失敗。它們或者是被取消、或者夭折、或者延期、或者提交的產(chǎn)品從來(lái)就沒(méi)有投入使用。對(duì)大項(xiàng)目來(lái)說(shuō)成功的可能性更低。在持續(xù)了25 個(gè)工作年或者更長(zhǎng)時(shí)間的項(xiàng)目中,足足有25%的項(xiàng)目沒(méi)能完成?!笔聦?shí)上,《人件》第一章的標(biāo)題就是“此時(shí)此刻,在世界的某處有一個(gè)項(xiàng)目正在失敗”。無(wú)怪乎有一本項(xiàng)目管理指南叫《軟件項(xiàng)目生存手冊(cè)》——暗示著項(xiàng)目經(jīng)理需要皇家空軍飛行員般的逆境求生技巧,另一本則干脆叫《死亡之旅》,那意思是說(shuō),如果一個(gè)項(xiàng)目經(jīng)理像那些興致勃勃的探險(xiǎn)家一樣天真莽撞地走入這片未知的領(lǐng)地,那么等待他的命運(yùn)不問(wèn)可知。
那么,或許可以說(shuō),軟件項(xiàng)目從本質(zhì)上來(lái)講,首先并且總是處于危險(xiǎn)之中。面對(duì)如此高的風(fēng)險(xiǎn),不少深謀遠(yuǎn)慮的項(xiàng)目規(guī)劃者甚至?xí)駮?shū)中的湯普金斯一樣,讓多個(gè)項(xiàng)目組同時(shí)開(kāi)發(fā)同一模塊,取最優(yōu)的結(jié)果(據(jù)我所知,這種實(shí)踐在日本軟件業(yè)相當(dāng)普遍)。但是,還是有很多不走運(yùn)的軟件項(xiàng)目,要么對(duì)此沒(méi)有足夠意識(shí),要么無(wú)法負(fù)擔(dān)大量人力,只有前仆后繼地被無(wú)名的力量所劫持,像卡夫卡小說(shuō)中的K或是捐軀南極的斯各特船長(zhǎng)那樣,在不歸路上“繼續(xù)向前走,向前越迷越深”。

一段航程的展望

我立刻意識(shí)到了自己過(guò)度悲觀的語(yǔ)調(diào)。雖然每次探險(xiǎn)都肯定是“死亡之旅”,但顯然不是每支探險(xiǎn)隊(duì)都有去無(wú)還。以著名的失敗者斯各特為例,與他們幾乎同時(shí)出發(fā)的挪威人阿德蒙森探險(xiǎn)隊(duì)就獲得了成功?;氐杰浖袠I(yè),根據(jù)上面的數(shù)字,25%的失敗率雖然不能容忍,但是畢竟多數(shù)軟件項(xiàng)目確實(shí)還算得上走運(yùn)。那么,成功的秘訣和失敗的主因各是什么?如果我們把多年以來(lái)軟件項(xiàng)目成功、失敗的道理都總結(jié)出來(lái),不就能在以后的航程中智珠在握,一帆風(fēng)順了嗎?
在純技術(shù)領(lǐng)域,確實(shí)已有不少論著致力于這樣的工作。很多專家發(fā)現(xiàn)大家總在重復(fù)相同的錯(cuò)誤,進(jìn)而總結(jié)出了軟件設(shè)計(jì)中的一些典型錯(cuò)誤思路,并把它們稱為“反模式”。對(duì)于一些具體的開(kāi)發(fā)領(lǐng)域,比如Java,我們陸續(xù)地看到了名為“Java Pitfalls”、“Bitter Java”、“Bitter EJB”的專著出現(xiàn),從書(shū)名就能讀出陷阱之危險(xiǎn)、教訓(xùn)之苦澀。
而在軟件項(xiàng)目管理方面,如果也有這樣一部記錄成功的航線和沉船的位置的書(shū)該多好,我們不就也能據(jù)此把握航向、避開(kāi)那些臭名昭著的礁石了嗎?我最初就是懷著這樣的念頭開(kāi)始讀《最后期限》。這本書(shū)也確實(shí)能起到這樣的作用。伴隨著我們的朋友湯普金斯在虛構(gòu)的“摩羅維亞國(guó)”的歷險(xiǎn),我也從一個(gè)個(gè)機(jī)智美妙的故事中學(xué)到了不少Dos & DoNots——每章之后,都有一段以“湯普金斯日記”形式出現(xiàn)的總結(jié),如果時(shí)間實(shí)在緊張,單單瀏覽一遍這些日記,你就能在工作劃分、人員配備、項(xiàng)目時(shí)間計(jì)劃、測(cè)試、發(fā)布等等問(wèn)題上收割很多真知灼見(jiàn)。
但是這樣足夠嗎?如果單憑熟記若干原則就能塑造一位項(xiàng)目經(jīng)理,那么何以項(xiàng)目管理人才還是眼下最稀缺的資源之一呢?事實(shí)上,讀完全書(shū)后,我感到自己最大的收獲并非任何特定的管理秘訣,而恰恰是這樣一個(gè)認(rèn)識(shí):沒(méi)有任何單一的實(shí)踐或原則能夠確保一個(gè)軟件開(kāi)發(fā)項(xiàng)目的成功,同樣,任何單一的缺陷也未必會(huì)將項(xiàng)目導(dǎo)向失敗。就像湯普金斯的成功并非完全依靠本人經(jīng)驗(yàn),或者憑借哪個(gè)全能智者的指引,而應(yīng)歸功于多種因素的綜合作用和他麾下的眾多天才的建議,如果我們單純乞靈于一個(gè)新方法,比如“測(cè)試先行”或“持續(xù)集成”,甚至,如果我們完全復(fù)制書(shū)中的所有提示,在下一個(gè)項(xiàng)目中取得成功的概率未必會(huì)有多少提高。同樣,書(shū)中的故事也表明,即使你身旁總有一位“邪惡的貝洛克部長(zhǎng)”似的超級(jí)決策者,你的項(xiàng)目也不一定就單單因此而滿盤皆輸。
這似乎是對(duì)Brooks提出的“沒(méi)有銀彈”定理的一次簡(jiǎn)單擴(kuò)充。不過(guò)我個(gè)人更愿意稱此為“軟件行業(yè)的多元決定論”。多元決定,意味著特定情景下的多種因素處于一種復(fù)雜、動(dòng)態(tài)而又相互交錯(cuò)的關(guān)系之中,強(qiáng)調(diào)其中哪一個(gè)的優(yōu)先地位都只能是對(duì)實(shí)情的簡(jiǎn)化甚至歪曲。以我目前的辨識(shí)能力所見(jiàn),我認(rèn)為軟件開(kāi)發(fā)航線上的最大阻礙是“商業(yè)、技術(shù)和管理”這三重因素的互動(dòng):軟件開(kāi)發(fā)首先并且最終是商業(yè)活動(dòng),商業(yè)利益要求開(kāi)發(fā)周期越短越好、人力物力成本越少越好、后期能容忍的需求變更越多越好;技術(shù)對(duì)于軟件企業(yè)具有核心意義的重要性,尤其是,如何處理商業(yè)因素固有的保守性和軟件持續(xù)的技術(shù)革命之間的沖突,成為每一個(gè)項(xiàng)目都會(huì)遇到的問(wèn)題;而軟件項(xiàng)目的管理者更存在如何協(xié)調(diào)技術(shù)與非技術(shù)因素,如何對(duì)看似純屬理智產(chǎn)物、其實(shí)充滿未知因素的開(kāi)發(fā)過(guò)程進(jìn)行監(jiān)控的難題。
軟件項(xiàng)目的一葉之舟,就航行在這三種因素共同作用而形成的湍流和漩渦之中。當(dāng)我們將目光停留在任何單一的方面時(shí),某個(gè)促狹的魔鬼就會(huì)從另兩個(gè)領(lǐng)域悄然潛入,引發(fā)令人懊悔的后果??朔@些阻礙,需要耐心、對(duì)所有問(wèn)題領(lǐng)域的尊重、甚至還要一點(diǎn)點(diǎn)運(yùn)氣。想要只靠使用某個(gè)“項(xiàng)目管理軟件”、掌握某種技巧或某種“境界的提升”,一勞永逸地解決所有問(wèn)題,目前在我看來(lái)是不現(xiàn)實(shí)的:我們面臨的困難,在Brooks的意義上是“本質(zhì)”而非“偶然”的。即使某個(gè)特定的項(xiàng)目中解決了某個(gè)困難,也無(wú)法保證從此我們就對(duì)它有了免疫力。
但在硬幣的另一面,正如德國(guó)人的名句所言“哪里有危險(xiǎn),哪里就有救渡”。軟件項(xiàng)目的這種內(nèi)在的復(fù)雜性,也許同樣是其“奇異的魅力”之所在。如果軟件開(kāi)發(fā)的藝術(shù)完全可以通過(guò)抽象的原則“線性地”掌握,那么我們甚至可以自問(wèn),會(huì)不會(huì)有一天軟件項(xiàng)目只由計(jì)算機(jī)自行開(kāi)發(fā),人類開(kāi)發(fā)者完全被取代呢?在嚴(yán)格的科學(xué)意義上解決這個(gè)問(wèn)題,也許需要更明晰的“可開(kāi)發(fā)性”定義(就像上世紀(jì)中人們對(duì)“可計(jì)算性”的澄清一樣)。細(xì)致的考察留給有志于圖靈獎(jiǎng)的各位完成。不過(guò)直觀地考慮,依據(jù)上面的討論我們就可以相信,軟件開(kāi)發(fā)的困難所在,正是機(jī)器無(wú)法通過(guò)形式化的方式克服,而人類開(kāi)發(fā)者最為擅長(zhǎng)的部分。我想這是真正傾心于這項(xiàng)事業(yè)的人樂(lè)于看到的論證:要感謝這些困難,廣大軟件開(kāi)發(fā)人員不會(huì)在某天早晨醒來(lái)發(fā)現(xiàn)自己已被一臺(tái)能干的計(jì)算機(jī)取代。

人怎樣對(duì)軟件工程說(shuō)話

但是如果僅滿足于指認(rèn)困難的內(nèi)在性,本書(shū)的建設(shè)性意義究竟何在呢?一組命題如果不能按照可重復(fù)、可檢驗(yàn)的方式把握,那不就等于廢話嗎?更推廣來(lái)說(shuō),作為學(xué)科的軟件工程究竟意義何在?人能夠像掌握,比如說(shuō),數(shù)學(xué)知識(shí)那樣,掌握軟件工程學(xué)嗎?這門學(xué)科還是否能像“電子工程”、“生物工程”一樣,被當(dāng)作自然科學(xué)對(duì)待嗎?
在我看來(lái),和軟件項(xiàng)目一樣,軟件工程學(xué)也包括了無(wú)法歸結(jié)為純粹的科學(xué)/技術(shù)的內(nèi)容。因此,與其說(shuō)軟件工程學(xué)像純粹的自然科學(xué),不如說(shuō)它更接近于經(jīng)濟(jì)學(xué),其學(xué)科內(nèi)部又可以分為性質(zhì)不同的多個(gè)領(lǐng)域,其中有一些領(lǐng)域就像經(jīng)濟(jì)學(xué)的具體計(jì)量、建模分析或是統(tǒng)計(jì)部分,具有很強(qiáng)的可操作性,另一些領(lǐng)域則是難以形式化的和微妙的。要對(duì)這些不同的領(lǐng)域有所言說(shuō),也許需要不同的語(yǔ)調(diào)和態(tài)度。
我認(rèn)為軟件工程學(xué)中的“純技術(shù)部分”,尤其是系統(tǒng)構(gòu)架設(shè)計(jì),往往是容易確定,并能夠通過(guò)教學(xué)、培訓(xùn)加以掌握的(當(dāng)然這里和其他自然科學(xué)一樣,仍需要悟性、實(shí)踐和創(chuàng)新意識(shí));而對(duì)于其他的內(nèi)容,特別是與開(kāi)發(fā)的“商業(yè)”和“管理”環(huán)節(jié)對(duì)應(yīng)的領(lǐng)域,雖然也包含高度的內(nèi)在嚴(yán)格性,但很難直截了當(dāng)?shù)恼f(shuō)明,更不容易通過(guò)簡(jiǎn)單的教學(xué)而傳授。這些領(lǐng)域更多地與純粹技術(shù)之外的普遍經(jīng)驗(yàn)相關(guān),對(duì)它們的學(xué)習(xí)、培育,也許只能經(jīng)過(guò)實(shí)踐,經(jīng)過(guò)德國(guó)人所說(shuō)的“教化(Bildung)”而緩慢、耐心地進(jìn)行。
如果采用維特根斯坦的劃分,上面所說(shuō)的前者屬于我們能說(shuō)清楚的“科學(xué)”,后者就只配叫“形而上學(xué)”了。他的名言是:對(duì)于能說(shuō)的,我們一定能說(shuō)清楚;對(duì)于不可說(shuō)的,我們必須沉默。那么,人們難道就無(wú)法對(duì)此言說(shuō)了嗎?那么人們又怎樣保持所獲得的經(jīng)驗(yàn),如何才能在這些領(lǐng)域,比如項(xiàng)目管理方面作出創(chuàng)新、進(jìn)步呢?大師的另一句格言是:不可說(shuō)的,我們可以顯示出來(lái)。我想,從這個(gè)角度解釋為什么作者要把對(duì)項(xiàng)目管理的思考寫成小說(shuō),應(yīng)是“雖不中、亦不遠(yuǎn)矣”。一部小說(shuō),除了“科普作用”和“可讀性”之外,更重要的是它更類似于身體力行的“顯示”而不是抽象的教條、重要的廢話。簡(jiǎn)言之,它能說(shuō)出不可說(shuō)的,能重新塑造讀者的思想方式和感受力。我相信,較之單純的科學(xué)/技術(shù)學(xué)習(xí),這是人類更持久、更普遍的學(xué)習(xí)模式。
當(dāng)然拋開(kāi)學(xué)習(xí)這層意思,只從享樂(lè)角度來(lái)看,本書(shū)故事詭譎緊湊,譯筆準(zhǔn)確流暢,是IT人士難得的好讀物。我時(shí)常想,在人類的文學(xué)寶庫(kù)中,各種各樣的職業(yè),比如騎士、政治家、藝術(shù)家、偵探甚至流浪漢,都存在文學(xué)門類加以寫照,將來(lái)也肯定會(huì)有專門的小說(shuō)類型,描繪日漸龐大的程序員族群。《最后期限》作為嘗試,在這個(gè)方向上邁出了可喜的一步 。

作者:未知 點(diǎn)擊:801次 [打印] [關(guān)閉] [返回頂部]
本文標(biāo)簽:人怎樣對(duì)軟件工程說(shuō)話
* 由于無(wú)法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報(bào)酬未能及時(shí)支付,在此深表歉意,請(qǐng)《人怎樣對(duì)軟件工程說(shuō)話》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
關(guān)于“人怎樣對(duì)軟件工程說(shuō)話”的更多資訊

電子樣本

SN系列樣冊(cè)
:鞏經(jīng)理
:13915946763
:南京塞姆泵業(yè)有限公司
個(gè)人求購(gòu)

吳小姐 【求購(gòu)】  粉碎機(jī)  2025-12-5
 【求購(gòu)】  冶煉用的重...  2025-12-5
柳女士 【求購(gòu)】  斷路器  2025-12-5
林志揚(yáng) 【求購(gòu)】  無(wú)石棉墊片  2025-12-4
張一帆 【求購(gòu)】  首件測(cè)試儀  2025-12-4
王飛 【求購(gòu)】  gf流量計(jì)  2025-12-4
 【求購(gòu)】  全自動(dòng)印刷...  2025-12-4
 【求購(gòu)】  LED屏  2025-12-3
VIP公司推薦