av婷婷久久网,91视频这里只有精品,91午夜福利一区二区,啊啊啊一区二区久久久,啪啪亚洲视频,www.插插,亚洲婷婷精品二区,开心五月激情射,久青草在在线

你好,歡迎您來到福建信息主管(CIO)網(wǎng)! 設(shè)為首頁|加入收藏|會(huì)員中心
您現(xiàn)在的位置:>> 新聞資訊 >>
馬丁•福勒:軟件教父的心靈雞湯
作者:佚名 來源:中計(jì)報(bào) 發(fā)布時(shí)間:2005年07月05日 點(diǎn)擊數(shù):

  中國正處在自己軟件開發(fā)歷史上的十字路口?!笔澜缥宕筌浖_發(fā)大師之一,面向?qū)ο蠹夹g(shù)、軟件模式、UML架構(gòu)構(gòu)件語言、重構(gòu)以及敏捷式軟件開發(fā)這幾方面公認(rèn)的領(lǐng)導(dǎo)者之一、曾經(jīng)影響了一代軟件工程師的巨著—《重構(gòu)》、《UML提煉》的作者—馬丁.福勒(Martin Fowler),這樣評(píng)價(jià)目前中國軟件開發(fā)所處的位置。

  中國市場是目前世界上變化最快、增長最快的市場。在這種情況下,企業(yè)級(jí)軟件自然也要應(yīng)對適應(yīng)迅速變化的要求,于是,在中國,軟件開發(fā)所面臨的挑戰(zhàn)不是比別人低,而是更高:開發(fā)成本太高,需求變化又頻繁,如何在這種情況下保證軟件的質(zhì)量?為了解答這一問題,以及由此而來的一系列人才培養(yǎng)、方法論、工具選擇等困惑,中國計(jì)算機(jī)報(bào)執(zhí)行總編盧山與世界軟件開發(fā)領(lǐng)域的教父馬丁.福勒,進(jìn)行了一次促膝長談。

  采訪人:《中國計(jì)算機(jī)報(bào)》

  執(zhí)行總編 盧山

  受訪人:軟件開發(fā)大師

  馬丁•福勒

  采訪地點(diǎn):中國計(jì)算機(jī)報(bào)社

  采訪時(shí)間:2005年6月6日

  什么是決定軟件成敗的因素

  在一場ERP研討會(huì)上,專家們對如何定義ERP的成功與失敗爭論不休。由于軟件開發(fā)的不可預(yù)知性,軟件的成敗難以用一種標(biāo)準(zhǔn)來衡量,在軟件教父的眼里,軟件的成敗,在開發(fā)階段就已經(jīng)注定了。

  盧山:您說過,“軟件產(chǎn)業(yè)既是一個(gè)成功的行業(yè),又是一個(gè)失敗的行業(yè)。”那在您看來,決定軟件成敗的因素是什么?是人,是開發(fā)工具,還是方法論,或是其他?

  馬?。簺Q定成敗的原因遠(yuǎn)遠(yuǎn)不止一個(gè),但我認(rèn)為,最重要的一個(gè)原因,就是在開發(fā)過程中,開發(fā)團(tuán)隊(duì)與用戶之間的溝通不夠。

  盧山:但是溝通會(huì)帶來需求的不斷變化,溝通越多,需求越多,變化也會(huì)越多,這樣是不是會(huì)加劇軟件開發(fā)的難度?

  馬?。旱拇_,軟件開發(fā)過程中的不可預(yù)知性,是我們無法預(yù)測軟件成功與否的原因。隨著需求的變化,軟件總是處在變化當(dāng)中。正是為了軟件開發(fā)的不可預(yù)知性,我們想出了各種各樣的技術(shù)、工具以及流程,希望軟件開發(fā)的過程變得越來越可以控制、預(yù)測。盧山:那這樣的方法是否已經(jīng)被找到?

  馬?。涸谄渌漠a(chǎn)業(yè)里,可以用簡單的辦法評(píng)價(jià)項(xiàng)目的進(jìn)程及有效性,但是對于軟件開發(fā)過程,很難用一種標(biāo)準(zhǔn)來衡量它的進(jìn)度和有效性。正是由于很難有效判斷哪種辦法更好,使得軟件技術(shù)、工具以及流程方面的很多討論都被不斷提出的概念所左右。上世紀(jì)60年代末期北約一個(gè)軟件開發(fā)室提出了軟件工程學(xué),從電子工程學(xué)、技術(shù)工程學(xué)中提煉出方法,使得軟件開發(fā)的流程更有預(yù)測性。但近年來有人發(fā)現(xiàn),軟件工程學(xué)里的一些基本假設(shè)是不正確的。他們使用了一些新的開發(fā)方法,也就是敏捷式開發(fā)。

  只有變化才是不變的

  現(xiàn)在看來,軟件開發(fā)過程在不斷地發(fā)生變化,但軟件工程師所孜孜追求的,卻是要掌握這些看似無序的變化當(dāng)中不變的聯(lián)系。是追尋不變之處,還是尋找適應(yīng)變化的方法?也許,只有變化才是不變的。

  盧山:盡管軟件開發(fā)無法避免變化,但這些變化是否能夠通過一些方法來進(jìn)行預(yù)測,并且加以克服?

  馬?。褐挥凶兓旧硎遣蛔兊?。一個(gè)項(xiàng)目在開發(fā)過程中,需求一定會(huì)出現(xiàn)變化,而需求的變化就從根本上推翻了軟件工程學(xué)方法所建立的基礎(chǔ)。軟件工程學(xué)的擁護(hù)者們試圖盡量減少或者控制系統(tǒng)將來發(fā)生變化的可能,但越這樣做問題就越容易出現(xiàn)。既然我們沒辦法避免變化的發(fā)生,那么我們就應(yīng)該找到一種新的方法,更有效地適應(yīng)這種變化。

  盧山:這種方法就是敏捷開發(fā)?

  馬?。旱拇_,這是敏捷式開發(fā)方法所希望達(dá)到的效果。正是由于對待變化的不同態(tài)度,敏捷式開發(fā)采用適應(yīng)性方法,而傳統(tǒng)的軟件工程學(xué)采用預(yù)測性方法。

  適應(yīng)性和預(yù)測性的區(qū)別存在于軟件工程學(xué)對軟件開發(fā)過程的描述中。在傳統(tǒng)的工程學(xué)里,設(shè)計(jì)過程和構(gòu)建過程一開始就分開進(jìn)行,于是在最先開始的設(shè)計(jì)階段,所有跟軟件設(shè)計(jì)相關(guān)的重要決定就已做出了。但開發(fā)過程中不斷發(fā)生的變化,使得這樣的設(shè)計(jì)沒法發(fā)揮作用。

  而敏捷開發(fā)使用的是一種迭代式、循序漸進(jìn)的軟件開發(fā)方法。軟件的構(gòu)建過程是由小量的迭代過程組成的,在這個(gè)過程中軟件一直處于可使用狀態(tài)。這種短周期的循環(huán),使終端客戶可以及時(shí)、快速地看到他們花錢構(gòu)建的軟件是一個(gè)什么樣的結(jié)果,也使得客戶可以更有效地參與到軟件開發(fā)的過程中來。

  敏捷開發(fā)與CMM

  “是證書化毀了CMM”,談起目前國內(nèi)軟件企業(yè)熱衷于通過的CMM認(rèn)證,馬丁給了一個(gè)令人吃驚的評(píng)語。同樣作為提升軟件企業(yè)開發(fā)能力的模型及方法,對CMM,馬丁顯然有著不同的看法。

  盧山:軟件開發(fā)所遵循的模型、方法論有不少,比如CMM,比如RUP,比如敏捷開發(fā),您如何評(píng)價(jià)?

  馬?。篊MM剛開始是一個(gè)很好的想法,但是當(dāng)它朝著證書化的方向發(fā)展,就偏離了原來的方向,我跟很多CMM的創(chuàng)始人探討過,他們也覺得證書化在一定程度上扭曲了最初的CMM思想。

  盧山:但是現(xiàn)在中國有很多企業(yè)都在積極通過CMM認(rèn)證,或者說準(zhǔn)備通過CMM認(rèn)證。他們?nèi)绻朊艚蓍_發(fā)方法,會(huì)不會(huì)影響他們的CMM評(píng)級(jí)?

  馬?。哼@取決于給企業(yè)做CMM測試的人。如果他們對CMM的態(tài)度是友善的,那么我們可以做下去;但有些做測試的人并不友善,那我們就會(huì)比較辛苦。

  盧山:既然您說證書化毀了CMM,那么在敏捷開發(fā)不斷發(fā)展的過程當(dāng)中,要如何避免它也被證書化呢?

  馬?。哼@種可能性的確存在,而且一旦證書化,敏捷開發(fā)也一定會(huì)像CMM那樣被損害。但是我相信,作為一種開放式的開發(fā)方法,敏捷開發(fā)永遠(yuǎn)不會(huì)被某一種標(biāo)準(zhǔn)禁錮住,別人也不需要根據(jù)某個(gè)公司的標(biāo)準(zhǔn)來做事情。

  西方模式在中國

  敏捷開發(fā)與中國軟件產(chǎn)業(yè)舊有環(huán)境的碰撞,遠(yuǎn)遠(yuǎn)不止CMM認(rèn)證這么簡單,這樣一種在西方也算先進(jìn)的理念,在中國能否適用?敏捷開發(fā)又能否解決中國企業(yè)面臨的種種問題?

  盧山:您所說的“變化”是世界范圍內(nèi)的軟件開發(fā)問題。在中國,軟件開發(fā)難度高、研制周期長,周期性難保證。敏捷開發(fā)能否適用于中國的市場環(huán)境?

  馬丁:實(shí)際上,對于發(fā)展變化非常快的國家,比如中國,敏捷開發(fā)方法的好處是顯而易見的。正如我之前所說,迭代式的開發(fā)過程使軟件一直處于可使用狀態(tài),因此客戶的需求變化引起的變化,可以在開發(fā)過程中不斷滿足??蛻魧浖_發(fā)過程的參與也可以大大提高軟件的成功率。

  盧山:您說過,中國軟件產(chǎn)業(yè)能否發(fā)展起來,關(guān)鍵就是要以足夠快的速度走過西方軟件產(chǎn)業(yè)發(fā)展走過的道路。您覺得要怎樣做到這一點(diǎn),少走彎路?

  馬?。何鞣杰浖_發(fā)歷史上最大的錯(cuò)誤,就是在軟件開發(fā)過程中將編程與設(shè)計(jì)分割開來,先做設(shè)計(jì)再編程。一直到今天,這樣的錯(cuò)誤還在延續(xù)。但是在中國,有很好的機(jī)會(huì)不去犯同樣的錯(cuò)誤。

  盧山:也就是說使用敏捷開發(fā)方式開發(fā)軟件,就可以保證不再犯錯(cuò)?

  馬丁:沒有肯定不會(huì)犯錯(cuò)誤的東西,我們要做的,只是不要再犯以前犯過的錯(cuò)誤,要犯就犯新的錯(cuò)誤。

尚志市| 吉首市| 宁河县| 枣阳市| 铁岭市| 南部县| 夏河县| 临漳县| 基隆市| 潼关县| 凯里市| 平果县| 巢湖市| 滦平县| 海南省| 清原| 遂宁市| 道孚县| 若尔盖县| 盐津县| 宝山区| 阳原县| 花莲县| 五莲县| 潮州市| 隆德县| 射阳县| 明光市| 武定县| 潜山县| 盐城市| 鄂尔多斯市| 石家庄市| 手机| 边坝县| 泾源县| 宕昌县| 浦江县| 理塘县| 海阳市| 上高县|