• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件教父的心靈雞湯

    發布: 2008-2-03 16:41 | 作者: 劉磊 | 來源: 不詳 | 查看: 204次 | 進入軟件測試論壇討論

    領測軟件測試網 “中國正處在自己軟件開發歷史上的十字路口!笔澜缥宕筌浖_發大師之一,面向對象技術、軟件模式、UML架構構件語言、重構以及敏捷式軟件開發這幾方面公認的領導者之一、曾經影響了一代軟件工程師的巨著—《重構》、《UML提煉》的作者—馬丁.福勒(Martin Fowler),這樣評價目前中國軟件開發所處的位置。

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


      采訪人:《中國計算機報》

      執行總編 盧山

      受訪人:軟件開發大師

      馬丁·福勒

      采訪地點:中國計算機報社

      采訪時間:2005年6月6日

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

      在一場ERP研討會上,專家們對如何定義ERP的成功與失敗爭論不休。由于軟件開發的不可預知性,軟件的成敗難以用一種標準來衡量,在軟件教父的眼里,軟件的成敗,在開發階段就已經注定了。

      盧山:您說過,“軟件產業既是一個成功的行業,又是一個失敗的行業!蹦窃谀磥,決定軟件成敗的因素是什么?是人,是開發工具,還是方法論,或是其他?

      馬。簺Q定成敗的原因遠遠不止一個,但我認為,最重要的一個原因,就是在開發過程中,開發團隊與用戶之間的溝通不夠。

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

      馬。旱拇_,軟件開發過程中的不可預知性,是我們無法預測軟件成功與否的原因。隨著需求的變化,軟件總是處在變化當中。正是為了軟件開發的不可預知性,我們想出了各種各樣的技術、工具以及流程,希望軟件開發的過程變得越來越可以控制、預測。

      盧山:那這樣的方法是否已經被找到?

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

      只有變化才是不變的

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

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

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

      盧山:這種方法就是敏捷開發?

      馬。旱拇_,這是敏捷式開發方法所希望達到的效果。正是由于對待變化的不同態度,敏捷式開發采用適應性方法,而傳統的軟件工程學采用預測性方法。

      適應性和預測性的區別存在于軟件工程學對軟件開發過程的描述中。在傳統的工程學里,設計過程和構建過程一開始就分開進行,于是在最先開始的設計階段,所有跟軟件設計相關的重要決定就已做出了。但開發過程中不斷發生的變化,使得這樣的設計沒法發揮作用。

      而敏捷開發使用的是一種迭代式、循序漸進的軟件開發方法。軟件的構建過程是由小量的迭代過程組成的,在這個過程中軟件一直處于可使用狀態。這種短周期的循環,使終端客戶可以及時、快速地看到他們花錢構建的軟件是一個什么樣的結果,也使得客戶可以更有效地參與到軟件開發的過程中來。

      敏捷開發與CMM

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

      盧山:軟件開發所遵循的模型、方法論有不少,比如CMM,比如RUP,比如敏捷開發,您如何評價?

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

      盧山:但是現在中國有很多企業都在積極通過CMM認證,或者說準備通過CMM認證。他們如果引入敏捷開發方法,會不會影響他們的CMM評級?

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

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

      馬。哼@種可能性的確存在,而且一旦證書化,敏捷開發也一定會像CMM那樣被損害。但是我相信,作為一種開放式的開發方法,敏捷開發永遠不會被某一種標準禁錮住,別人也不需要根據某個公司的標準來做事情。

      西方模式在中國

      敏捷開發與中國軟件產業舊有環境的碰撞,遠遠不止CMM認證這么簡單,這樣一種在西方也算先進的理念,在中國能否適用?敏捷開發又能否解決中國企業面臨的種種問題?

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

      馬。簩嶋H上,對于發展變化非?斓膰,比如中國,敏捷開發方法的好處是顯而易見的。正如我之前所說,迭代式的開發過程使軟件一直處于可使用狀態,因此客戶的需求變化引起的變化,可以在開發過程中不斷滿足?蛻魧浖_發過程的參與也可以大大提高軟件的成功率。

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

      馬。何鞣杰浖_發歷史上最大的錯誤,就是在軟件開發過程中將編程與設計分割開來,先做設計再編程。一直到今天,這樣的錯誤還在延續。但是在中國,有很好的機會不去犯同樣的錯誤。

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

      馬。簺]有肯定不會犯錯誤的東西,我們要做的,只是不要再犯以前犯過的錯誤,要犯就犯新的錯誤。

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>