根據(jù)The Standish Group International, Inc.的研究報(bào)告,40%的軟件開發(fā)項(xiàng)目在完成前被取消,33%的項(xiàng)目延期或超支。如果像這樣搞建筑項(xiàng)目,您能夠想象一下紐約城會變成什么樣子?
協(xié)同是關(guān)鍵
從開發(fā)環(huán)境到版本控制,你常常會走過又一個(gè)循環(huán):采購工具,使用培訓(xùn),圍繞著工具使用建立內(nèi)部開發(fā)過程,日常應(yīng)用等等。希望在合同到期時(shí)能夠順利完成并且沒有超支…
讓我們來問這樣一個(gè)問題:下一步是什么?
在你讓開發(fā)小組提高了一點(diǎn)點(diǎn)效率之后,在你配置了開發(fā)工具之后,你仍然需要保持競爭力,下一步改善那里能夠獲得大的生產(chǎn)力?
我們要求你看一下目前你周圍的信息組織,你一定能看到不同的開發(fā)小組,同時(shí)你也能夠發(fā)現(xiàn)其它許多技術(shù)上的協(xié)作者,如文檔、外部資源、客戶、設(shè)計(jì)人員等等。你將發(fā)現(xiàn)不同的開發(fā)小組的數(shù)量在增加,麻煩也在增加。你還能發(fā)現(xiàn)合作者分散在不同的部門或不同的地方。
當(dāng)你看到這一切時(shí),相信你會認(rèn)識到項(xiàng)目組織中存在的噪音和混亂帶來了沉重的經(jīng)濟(jì)負(fù)擔(dān)。你將意識到這是下一步提高生產(chǎn)力的突破點(diǎn),不是其它的技術(shù)工具,也不是下一個(gè)更快的編譯器。
下一個(gè)效益增長點(diǎn)將來自管理,簡化技術(shù)協(xié)作,使不同的小組以一種更快速而簡單的方式共享工作中的相關(guān)信息,從而降低“項(xiàng)目組織中的噪音”,而且使的小組不會被拖住后腿。換句話說,你的下一個(gè)效益增長點(diǎn)將來自實(shí)現(xiàn)你的信息組織中所有成員之間的協(xié)同工作。
“我只需要版本控制,或許是軟件配置管理…
何必要協(xié)同呢?”
獲得協(xié)同的動(dòng)機(jī)依賴于企業(yè)內(nèi)信息組織的個(gè)體:應(yīng)用開發(fā)組(如上圖中的Tom),應(yīng)用開發(fā)管理(如Ann)和技術(shù)協(xié)作者(如文檔、幫助平臺和客戶等等),他們參與不同的軟件活動(dòng),所以會有各自的看法。
例如,讓我們考慮一下Tom,作為軟件開發(fā)組長,他可能在應(yīng)用開發(fā)和維護(hù)領(lǐng)域有特長,因此自然會傾向于采用專門技術(shù),如版本控制等。那么Tom是否需要技術(shù)協(xié)作?
從哪兒提高生產(chǎn)力,版本控制和軟件配置管理通過加強(qiáng)日常開發(fā)環(huán)境的控制,很快得到了大家的認(rèn)可。但是它們能進(jìn)一步提高生產(chǎn)力嗎?
許多已經(jīng)使用了版本控制和軟件配置管理工具和軟件組織,很快發(fā)現(xiàn)生產(chǎn)力的提高比預(yù)期的要低,下面列出了其中一些原因:
不同的項(xiàng)目組使用不同的工具,降低了效率。但搞統(tǒng)一是不合理的,違背自然規(guī)律。
不同工具之間有“隔閡”,難于重用數(shù)據(jù),也減少了項(xiàng)目組之間的交流。
已有的版本控制工具不能支持遠(yuǎn)程用戶,或者性能明顯退化(如一個(gè)基于文件服務(wù)器的工具,當(dāng)在WAN或Internet上使用時(shí),會變得非常遲緩)。
考慮到上述因素,很明顯Tom肯定會對技術(shù)協(xié)作發(fā)生興趣:
建立在版本控制和軟件配置管理之上,提供對信息技術(shù)資源的準(zhǔn)確訪問。
通過無縫訪問不同的版本控制工具促進(jìn)代碼共享。
從任何地方訪問(LAN/WAN/Internet/WEB),改善已有的版本控制工具
從其它平臺(通過統(tǒng)一的JAVA客戶端),擴(kuò)展垮平臺的代碼共享和重用。
提供一個(gè)具有高度伸縮性的現(xiàn)代化體系結(jié)構(gòu),使得將工具擴(kuò)展到其它領(lǐng)域和功能范疇成為可能。
StarTeam滿足所有上述需求,它具有:
與PVCS和SourceSafe的互操作性,完全的地理位置獨(dú)立性,客戶/服務(wù)器體系結(jié)構(gòu),為Internet和WAN開發(fā)環(huán)境特別優(yōu)化,
能夠運(yùn)行在任何JAVA平臺上的統(tǒng)一的客戶端應(yīng)用。
更重要的是,StarTeam支持開發(fā)隊(duì)伍建立一個(gè)協(xié)同工作的穩(wěn)固基礎(chǔ)的需要。