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

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

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

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

    中美兩國軟件開發管理的比較與啟示

    發布: 2007-5-26 22:27 | 作者: 未知 | 來源: 系統分析之窗 | 查看: 34次 | 進入軟件測試論壇討論

    領測軟件測試網

    中美兩國軟件開發管理的比較與啟示


    blueski推薦 [2005-1-13]
    出處:DrCMM珍藏
    作者:楊錦方
     

    推薦一本配置管理的好書:《CVS和Nightly Build技術》,清華大學出版社,楊錦方等編著。
    下面是該書作者楊錦方先生的序文,值得一讀。我個人也持類似的觀點,有很多基本的軟件工程的實踐,惠而不費,套用林彪先生的話,就是“急學活用、立竿見影”。對我們來說,當務之急應該是補上這些基本的實踐,而不是好高騖遠、臨空蹈虛。

    中美兩國軟件開發管理的比較與啟示

    楊錦方

        在美國學習和工作期間,我注意比較了中美兩國軟件公司在軟件開發管理和技術方面 的不同之處。下面以我在硅谷一家從事企業語音識別平臺軟件開發的公司工作的經歷為例, 介紹我的一些觀點。--

        第一,軟件工程師年齡和經驗的反差。我工作過的是一家NASDAQ上市公司,公司 只有5年時間,但是近一半的軟件工程師、軟件項目經理和軟件設計師都不算很年輕,并 有著5年以上的軟件開發經驗(不包括在校期間的經驗)。其中部分軟件設計師(software architect)更是年齡在35歲以上(有的甚至已經45歲),有著15年以上的軟件開發經驗。 在開發過程中,這些軟件設計師的經驗成為公司的寶貴財富。他們在多年開發過程中積累 的大量經驗、教訓能夠讓系統在設計階段就避免許多后來讓人走彎路的事情。權威的軟件 工程專家RogerS.Pressman在他的SoftwareEngineering:口practitioner approach一書中指 出,軟件質量保證體系最重要的是軟件項目剛剛開始的需求和設計階段。反觀國內的軟件 工程師,絕大部分是剛從學校畢業不久,而且多半的軟件工程師都定位在將來做管理者, 這樣,經驗無法積累,低水平重復的現象就在所難免了。

        第二,軟件開發管理職位設置的差異。在國內,軟件公司通常只指派一位項目經理, 由他全面負責單個項目的開發和管理工作。如果項目經理不是技術高手,手下的軟件工程 師們就會有牢騷,如“憑什么你沒我水平高,卻坐著比我高的職位,拿著比我高的薪水?” 這使得許多軟件公司雇傭技術高手擔任項目經理。他們中許多人缺乏管理方面的能力和意 識,由他們領導的軟件開發難以實現規范化和工程化。實際上,項目管理更多的是需要管 理技能而并非開發經驗,而管理水平高的人大多數并不擅長技術,更有一些管理人員原來 不是受高等計算機專業教育出身,而是半路出家。在美國,我接觸過的所有軟件公司(或 者有軟件研發部門的計算機、通信技術公司)的軟件項目小組都設有兩個管理者的職位: 軟件項目經理(proiectmanager)和軟件設計師(softwarearchitect)。軟件項目經理負責小 組人力資源、激勵、非技術方面的管理,并向上級負責。軟件設計師負責項目的規劃設計、 技術方案選擇等并為此負責。就像項目經理有一個職業發展道路,從項目經理到部門經理, 再到總經理,甚至總裁一樣,軟件設計師也有其職業發展道路,從軟件項目小組的軟件設 計師到軟件部的軟件設計師,再到公司的首席軟件設計師。我想大多數人都注意到比爾·蓋 茨的頭銜,是微軟公司chairman和chiefsoftwarearchitect,也就是微軟公司董事長兼首席 軟件設計師?梢韵胍,首席軟件設計師的地位也是很高的。在更大規模的軟件項目中, 系統工程師(systemengineer)和測試部門是單獨設置的。

        第三,開發管理應用軟件水平的差異。美國絕大多數軟件公司的軟件開發管理應用了 大量的先進軟件,而國內的軟件開發管理幾乎是純手工操作。本來,軟件公司是為所有需 要軟件應用技術和解決方案的行業提供軟件,其中也包括軟件行業自身。具有諷刺意味的 是,國內許多從事軟件開發的公司為別人提供了非常有價值的軟件,創造了很高的效益, 卻沒有意識到(或者沒有決心)自己也需要投資購買或者自行開發用于管理軟件開發過程 的軟件。許多美國公司根據自己的實際需要,開發用于輔助軟件項目管理的軟件,例如, 著名的電信設備制造商朗訊公司的大型軟件工程管理軟件(Sablime)就是自己開發的;許 多軟件工程師自己用腳本語言寫小工具,優化工作流程,提高工作效率。本書的主題CVS 系統正是從一些軟件工程師在自己工作過程中寫的一些腳本程序起源的。在美國,流行的 腳本語言,如Peri、BournShell/CShell、Python、TCL/TK等應用非常廣泛:而在國內,這 些語言應用十分有限。

        第四,軟件開發流程的差異。美國水平比較高的軟件公司軟件開發流程十分規范,技 術文檔和使用文檔非常細致,量非常大。在大項目的開發過程中,各種各樣的表格更是數 不勝數。按照一位經理的說法,是“所有的事情都有文檔記錄”。不僅如此,美國更有technical writer(技術寫作師)這個職業,許多公司聘用專門的技術寫作師完成部分技術文檔和使用 文檔,尤其是給最終用戶使用的使用指南一類的文檔,更需要專業水平才能達到實用和易 用。國內這方面的差距較大:軟件工程師視文檔為負擔:項目經理本身是軟件工程師出身, 更加沒有動力實施這些規范;公司老總可能又不懂軟件開發管理。于是低水平現狀是想躲 都躲不掉了。

        可喜的是,目前CMM認證正逐漸地在國內流行起來,有越來越多的軟件公司重視流 程。更重要的是,不把通過CMM認證作為目的,而是真正貫徹規范和經過實踐證實有效 的軟件流程。不過,對于許多規模小、實力不強的公司而言,CMM認證負擔太重,而且 不一定實用。記得有一位中型軟件公司的老總對我說,“CMM那些東西全都是文檔,不管 用!边@件事情可以得出三個結論:一是CMM這種先進管理技術真正得到認同還有一個過 程,二是CMM的實用價值在一些管理階段還不是太大,三是CMM可能的確需要進行適 當的改造以適合中國的國情。

        我接觸過國內許多軟件公司,這些公司中的絕大部分其開發管理的混亂狀況讓我非常 吃驚。我也一直聽到這樣的議論,“國內絕大部分的軟件公司都是軟件作坊,基礎不行,軟 件業怎么發展壯大?”我相信造成國內軟件業落后的原因是多方面的,但是,我們的確需 要認真思考如何補上提高軟件開發管理水平這一課。

        有人說,中國的軟件工程技術水平低下和中國人的特點有關系。我認為這是無稽之談, 是為管理水平過于低下找借口。在國外,同樣是中國人做軟件工程師,同樣是中國人做軟 件研發管理,為什么他們做得那么出色,贏得同事們的尊敬?

        我接觸到的中小型軟件公司大部分都抱著提高開發管理水平的美好愿望,也有些公司 在進行著各種努力。例如,CMM正在一些中、大型軟件企業中興起。但是,CMM流程模 型引入的代價很高,而且在水平很低的情況下過分強調CMM中的模型恐怕也沒有太大價 值。CMM的有效實施實際上是建立在強大的CASE工具基礎之上的。

        我在美國軟件公司的工作經歷告訴我,有一些非常有價值,實施起來代價相對較低的 技術,能夠幫助國內許許多多的軟件公司走出作坊時代,進入軟件開發流程化的階段。這 就是我們準備寫作出版“軟件研發管理技術叢書”的主要目的。真切地希望這套叢書能夠 為廣大軟件工程師和軟件公司帶來實實在在的變化。
     
     

     

    延伸閱讀

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


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