• <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-9-17 09:23 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 33次 | 進入軟件測試論壇討論

    領測軟件測試網
    關鍵字:軟件開發教父馬丁-福勒

    圖為:軟件開發教父馬丁-福勒做有關軟件開發的主題演講(駱磊 攝)
    點擊此處查看全部科技圖片

      新浪科技訊 2005年6月2日,來自信息產業部、北京市科委、中國軟件行業協會的領導,北大、北郵軟件學院的院長們齊聚一堂,和世界五大軟件開發教父之一的matin(馬丁-福勒)先生一起,就目前西方軟件開發領域的新趨勢,以及其在中國的應用展開了熱烈的討論。

      圖為:軟件開發教父馬丁-福勒做有關軟件開發的主題演講(駱磊 攝)

    以下為其演講全文:

      Martin Fowler:

      可能Sidney先生把我說得太好了,我有點不敢當了。如果大家感到失望的話,請原諒我。我今天想把主要的精力放在探討敏捷式開發方面。

      軟件開發行業目前同時存在兩種情況,它既是一個非常成功的又是具有很多問題的行業。一方面軟件已變成我們在日常生活中不可缺少的部分。有些可能不是非常明顯,直至有問題出現的時候才發現。一個非常有名的例子就是幾年前有家航空公司的計算機系統有一天不能正常工作,結果造成了很大的混亂和巨大的經濟損失。我并不是要仔細分析問題的所在,只是想指出軟件在各個行業中扮演的角色越來越重要,互聯網的使用已極大地改變了人們的生活、工作方式。在西方,普通客戶購買東西的過程中,經常把決策的過程使用在互聯網上。所有這些軟件所帶來的影響,對于三、四十年前的人來說幾乎是不可想象的。

      盡管有成功的方面,但軟件開發過程中還是經常會遇到一些問題,很多企業在軟件方面花了大量的金錢和經歷,但并不是很清楚軟件到底能給他們帶來什么。一些調查發現世界上很多軟件項目其實都失敗了,也許這是因為在軟件開發過程中,很難定義成功與失敗這兩個不同的概念。我們在軟件界就是注重怎么預見軟件開發的不可預知性,我們想象出了各種各樣的技術、工具以及流程使得軟件開發的過程變得越來越可以控制、預測。這種方法有一個很大的問題就是無法有效評估軟件開發過程的有效性。在很多其他的產業界,可以用簡單的辦法評價過程的進程及有效性,但是對于軟件開發過程,很難用一種標準來衡量它的進度和有效性。一個結果就是很難有效判斷兩種有效的方法哪種更好,使得軟件技術、工具以及流程方面的很多討論都被這種現象所左右。軟件開發的過程中有各種問題,并不是新提出的概念。在六十年代末期的時候北約一個軟件開發室提出了軟件危機的概念,因此他們提出了非常有紀律性的方法即軟件工程學,試圖從電子工程學、技術工程學提煉出一些東西來用于軟件工程學,他們想從中提煉出一種方法,使得軟件開發的流程更有預測性。過去三、四年間這種工程學的方法一直為大家普遍使用。但軟件業的人在做軟件的過程中發現這些方法并沒有減少軟件開發過程中遇到的問題,對于這種現象有很多解釋。近年來有人發現軟件工程學里一些基本的假設是不正確的,并使用了一些新的開發方法,我們將其統稱為敏捷式開發。

      敏捷式開發有很多特色,今天我主要集中介紹兩方面的特色,我會重點介紹一下它就軟件開發文化有什么樣的影響。前不久我在我的網頁上發表了一篇文章“新方法”解釋我對敏捷式開發的看法。下面我介紹一下敏捷式開發與傳統開發相比最具特色的兩點。

      敏捷式開發采用適應性方法,而傳統的軟件工程學采用的是預測性方法。敏捷式開發是以人為主的,而傳統的工程學是以過程為主的。我下面詳細地介紹這兩方面:

      適應性和預測性的區別存在于軟件工程學對軟件開發過程的描述中。在傳統的工程學里,核心的概念就是把設計和構建這兩個過程分開進行。最開始一個階段叫設計階段,在這個階段所有跟軟件設計相關的重要決定就已做出了,而且以完整的形式描述出來。這項工作通常是由一小部分非常專業的人來做的,而且他們所花的時間和精力在整個項目中占著很小的一部分。這項工作完成以后,這些設計的結果,從建筑學的角度就被“建筑公司”拿去,按照設計的結果一步步構建。在描述清晰的設計圖紙的基礎上,你就可以據此對構建過程進行詳細的規劃,并進行成本的預測。但是現在大家對這種過程是否非常適合軟件開發行業存在著爭議。這里經常會問到一個問題,就是這個過程要花多長時間,對于這個問題有各種不同的回答。在傳統的工程學中設計過程在整個項目開發過程中只占10%左右的時間,但是很多軟件開發權威機構都認為軟件設計過程在整個開發過程中占百分之四、五十的時間,它明顯告訴我們這里有些東西是不對的。在軟件開發的過程中,我們很難想象,如何真正把設計和編程完全區分過來。軟件工程學領域,所有在這里從事工作的人員,都把設計的過程想象成用圖表、圖象的方式來描述結果的過程。很多人都有這樣的經驗,沒有經過編程而是直接想象出的設計,在進入編程階段有很多地方是錯誤的,需要改正。而且從我的觀點來看,幾乎沒辦法進行有效的設計。還有一個更重要的問題就是說,軟件本身的需求是在變化的。一個項目在開發過程中需求會出現變化,需求的變化從根本上推翻了工程學方法所建立的一個基礎。當工程學的人盡量減少或者控制系統將來發生變化的可能,他越這樣做問題就越容易出現。既然我們沒辦法避免變化的發生,那么我們就想找到一種新的方法能夠更有效地適應這種變化現象。這也就是敏捷式開發方法所要達到的效果。

      最開始的時候,軟件開發的過程,我們應該想到軟件開發和其他的工程學是完全不同的學科。首先我們想象一種疊蓋式、循序漸進的軟件開發方法。軟件的構建過程中是以小量的疊蓋過程增加,而在這個過程中軟件一直處于可使用狀態。我們ThoughtWorks在軟件開發的過程中每兩周都會得到一個可以工作的軟件。這種非常短的循環,使終端客戶可以及時、快速地看到他們花錢構建的軟件是一個什么樣的結果。使得客戶可以更有效地參與到軟件開發的過程中來。這同時也解決了軟件開發中非常重要的問題,就是開發人員和終端客戶交流的問題。這也使得軟件開發本身可以更有效地適應業務本身需求的變化。對于一個發展變化非?斓膰,比如中國這種方法的好處是顯而易見的。這個方法從理論上講并非更簡單,需要在實踐的過程中學習如何使用疊蓋式的開發。這種東西就是當你真正學會如何使用疊蓋式開發的時候,才能發現它真正能帶來的好處。如果真正在軟件開發過程中實現疊蓋式的開發,同時需要軟件行業本身,以及業務部門本身共同的努力。如果可以實現軟件開發部門和業務部門的緊密合作,本身就可以避免西方軟件業發展過去所犯下的一些錯誤。另外一方面敏捷式開發是以人為核心的方法,而不是像過去工程學是以過程為核心的方法。這種現象是過去一些人專門研究軟件開發的過程專門有一些實踐。經常發現一個現象,軟件項目開發的成功最核心的因素是這個軟件團隊里有非常優秀的人才的協作。這既意味著團隊中有非常優秀的個人,又意味著團隊中的人能有效地進行協作。這種協作方式通常情況下是跟這些人如何處理他們之間的關系有關而不是采用什么樣的過程。工程學當中他們所采用的過程是盡量減少人在這個過程中所扮演的角色。在敏捷式開發中,提出的觀點就是人在整個軟件開發當中是最重要的因素,至于在這個開發過程中使用什么樣的方法是次要的因素。這對于軟件開發文化來說意味著什么呢?首先它意味著在提高軟件開發效能中最重要的一點就是如何提高個人的能力,其中教育扮演著非常重要的角色。這也同時意味著軟件開發團隊在這個過程中是被如何對待的。很重要的一件事是如何為軟件開發人員提供一個有效的環境,讓他們為軟件開發行業做出最大的、有效的貢獻。而且還要提供這種環境使軟件開發人員與終端客戶進行有效的交流、合作。

      我在ThoughtWorks工作發現這種方式可以造就一種特別的企業文化,在西方擅長軟件開發的人員往往都是一些怪才,這些人是真正喜歡軟件、喜歡編程的。他與其他的人往往有不同的想法和對生活的追求,很多程序開發人員和客戶進行交流過程中,遇到的困難真正的核心所在就是文化上的差異。我不知道這種文化上的差異在中國是否也出現,在印度已出現了這種情況。非常重要的一點就是認識到軟件開發人員和終端客戶之間交流問題的所在。就像剛剛提到的,沒有一個真正可以衡量到底不同的軟件開發方法哪種好、哪種不好。這就是因為我們不能非常有效的,以一個非常公正的標準來衡量軟件開發哪個更有效。包括我在內,從事敏捷開發的人員,會發現在軟件開發過程中敏捷開發是非常有效的方法。西方軟件業敏捷開發還是非常少數的團隊,但其增長速度非?。

      我們希望在新的軟件開發環境里,這種新的方法可能有更快的增長。如果能在軟件開發過程中有效地避免開發客戶和開發團隊交流的問題,那么你就可以避免很多在西方軟件開發中遇到的各種問題,當然同時也會發現一些其他新的問題。

      我就簡單介紹到這里,下面跟各位領導、專家進行討論。

    延伸閱讀

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

    TAG: 全文 軟件開發 教父 主題


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(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>