軟件開發(fā)管理工具應(yīng)用狀況
從某一層面來講,上面的這張圖表并不能完全說明問題,這是因為軟件開發(fā)管理工具的范圍太大了,比如說ERWin和Power Designer的核心在于數(shù)據(jù)庫設(shè)計,雖然Power Designer也可以作系統(tǒng)架構(gòu)設(shè)計與分析,但是由于歷史的原因使得大家往往僅僅會在數(shù)據(jù)庫設(shè)計的時候才會考慮到它。而Together、Rational Rose/XDE、Rational Software Architect都屬于系統(tǒng)架構(gòu)設(shè)計工具,同時可以關(guān)聯(lián)到需求與代碼實現(xiàn)的輔助工具。而Visio只能稱之為圖形繪制工具,而絕對不能和上面這三個工具相提并論的,適用Visio做流程規(guī)劃和分析都是可以的,但是,它不能做設(shè)計,至少到目前最新的版本為止,它的設(shè)計功能都是十分微弱的,這一點連微軟顧問服務(wù)部的人都承認(rèn)Visio與Rose不是同一個檔次上的工具。
這張圖在一定程度上表明了下面幾個情況:
- 對于數(shù)據(jù)庫建模工具,現(xiàn)在Power Designer的市場分額遠(yuǎn)大于ERWin的,而且在平時的開發(fā)過程中我們可以看到Power Designer的市場宣傳活動也要比ERWin積極很多,我們很少見到關(guān)于ERWin的產(chǎn)品宣傳與推廣。加上Power Designer是一些華人參與開發(fā)的,所以,更使得中國人對其有著較深的感情而傾向于使用它。
- 對于設(shè)計建模工具,Rational Rose/XDE仍然占據(jù)著較大的市場分額,其后續(xù)產(chǎn)品Rational Software Architect也分割了10.1%的市場分額,居于第二位。這里可以看到IBM在開發(fā)工具方面投入的宣傳力度的確產(chǎn)生了實際的效果,這些在與Borland的Together可憐的1.8%的對比中可以看出。加上Borland近年來不斷傳出的負(fù)面效應(yīng),尤其是2006年將開發(fā)工具部分出售未果最后將之獨立成立公司的情況傷害了大批Borlander的心,這種情況到了2007年Together可能連這1.8%的分額都很難堅持住,相信在國際市場上也會有同樣的負(fù)面效應(yīng)出現(xiàn)。
圖表 :開發(fā)者團(tuán)隊配置管理工具的種類分布狀況
上表中,微軟的Visual Source Safe占據(jù)了半數(shù)多的比例(52.2%),配置管理工具上的劃分也可以看到微軟產(chǎn)品簡單易用性的深入人心。誠然,微軟VSS的功能是無法與其他配置管理工具相提并論的。但是,在現(xiàn)階段,中國國內(nèi)開發(fā)團(tuán)隊在配置管理層面上使用的深度與團(tuán)隊開發(fā)規(guī)范化程度較弱的情況下,大家對配置管理工具的要求也是相對較低的。這可以從國內(nèi)很少有大規(guī)模的軟件項目的投入,甚至很多年都很難聽說到這方面的任何消息也是有著很密切的關(guān)系的。
對于居第二位占22.8%的ClearCase,它是一個功能強(qiáng)大、十分全面的配置管理工具,它甚至可以用于協(xié)調(diào)幾百上千人以上的開發(fā)團(tuán)隊,甚至用于萬人以上的團(tuán)隊配合協(xié)作也是可能的?梢哉f從Visual Source Safe 6來看,VSS6最多實現(xiàn)了ClearCase百分之一的功能。但是,ClearCase由于功能過于強(qiáng)大,使得其配置和管理上相當(dāng)復(fù)雜,基本上沒有經(jīng)過Rational公司培訓(xùn)過的人是不可能通過自學(xué)掌握ClearCase的配置和管理的。當(dāng)然,一旦配置好了,ClearCase的使用還是十分簡單的,開發(fā)人員基本上不需要學(xué)習(xí)就可以直接上手。
Borland的StarTeam也是一款優(yōu)秀的配置管理工具,但是,由于Borland將開發(fā)工具獨立出去的行為,將可能使得其開發(fā)工具的市場分額逐漸降低。而StarTeam作為一個非主流配置管理工具而言,加上公司推廣力度的減弱,前景更是讓人擔(dān)憂。
對于其它這14.1%的分額而言,其中應(yīng)該大部分都是CVS或者WinCVS的用戶,CVS/WinCVS可以看作是與Rational ClearCase以及Visual Source Safe在國內(nèi)并列的三大配置管理主流工具了,這一點從下面源代碼管理工具上可以獲得數(shù)據(jù)來源的支持。
圖表 :開發(fā)者團(tuán)隊使用源代碼管理方案的種類分布狀況
這張圖和前面那張圖應(yīng)當(dāng)屬于從屬關(guān)系,因為源代碼管理其實是配置管理的一個子項功能,也是配置管理的核心關(guān)注點之一,畢竟軟件開發(fā)最后都要落實到代碼上,所有軟件項目的結(jié)束都是以源代碼形成的產(chǎn)品或者源代碼自身的交付作為終結(jié)點的。
從這張圖上CVS占有31.6%的用戶份額可以證明前面“開發(fā)者團(tuán)隊配置管理工具的種類分布狀況調(diào)查”中其它部分的結(jié)論。
但是這張圖中缺失的部分是ClearCase等配置管理工具所占有的市場分額,因此需要進(jìn)行同比變化的分析才能得到較為準(zhǔn)確的結(jié)論。
Visual Source Safe所占有的38.3%的市場分額說明很多公司對Visual Source Safe的安全性還是存在著較大的疑慮,因此并沒有像作為配置管理工具那樣將源代碼液放置到Visual Source Safe中進(jìn)行統(tǒng)一的管理。而所有的配置管理工具都擁有項目資源管理的功能,因此代碼并不是項目的全部,所以才會有這樣的比例變化。
從個人管理自己的代碼占有10.1%的比例上可以看出下面兩點:
- 國內(nèi)軟件行業(yè)開發(fā)者有很多仍然處于原始的開發(fā)狀態(tài)下,他們屬于個人開發(fā),因此不使用其他的配置管理工具。而這些較為熟練的個人開發(fā)者大都有自己的一套代碼和文檔管理策略,這主要是因為配置管理工具的使用將占用較多的硬盤空間,而對于個人開發(fā)者而言,硬盤空間一般都并不是空閑較多的。他們雖然沒有采用任何工具來支持這方面的工作,但是個人的代碼管理策略還是同樣存在的,所以這種現(xiàn)狀仍然是不可避免的。
- 對于企業(yè)而言,沒有采用代碼管理工具來實現(xiàn),只能說明這些企業(yè)在管理上的混亂與無序,這也是中國國內(nèi)大批中小企業(yè)的軟件開發(fā)現(xiàn)狀決定的。這種企業(yè)大部分是依靠關(guān)系生存的,通過關(guān)系拿到一些項目,然后通過招聘剛畢業(yè)或者未畢業(yè)的大學(xué)生作為廉價勞動力來給他們完成這些項目。這種現(xiàn)象在國內(nèi)已經(jīng)持續(xù)了十多年,相信在目前的情況下,這種情況還會有十多年的存在空間,所以,這種現(xiàn)象仍然是不可避免的。
圖表 :開發(fā)者團(tuán)隊進(jìn)行每日構(gòu)建的工具分布狀況
每日構(gòu)建其實是XP的一項最佳實踐,從前面采用XP的42.5%的比例來看,填寫軟件開發(fā)工具問卷的有效問卷只有總問卷數(shù)的24.1%,通過這三個比例關(guān)系可以看出,國內(nèi)實際上做每日構(gòu)建的總比例仍然是十分小的。
而每日構(gòu)建只有在較好的采用迭代開發(fā)的情況下才能做到,因為每日構(gòu)建是迭代化思想在產(chǎn)品發(fā)布、測試與構(gòu)建上結(jié)合的產(chǎn)物。而從前面迭代化開發(fā)的比例(完全采用迭代為6.4%,以及在“開發(fā)者公司或項目組對迭代開發(fā)方式的應(yīng)用狀況”中的分析)來看,這種采用每日構(gòu)建的起始時間一般也都會在項目的中后期才可能推行,這和極限編程中提到的項目初始就能夠進(jìn)行每日構(gòu)建的差別是十分大的,也可以從這里看到中國軟件業(yè)的規(guī)范化道路還是十分漫長的,仍然有很多技術(shù)和方法需要我們?nèi)W(xué)習(xí)去積累去實踐。
圖表 :開發(fā)者團(tuán)隊對集成頻度的要求分布狀況
軟件團(tuán)隊的集成頻度可以從一個很好的側(cè)面看到軟件開發(fā)團(tuán)隊中團(tuán)隊內(nèi)部的交流與溝通的頻率以及相關(guān)技術(shù)的應(yīng)用頻度。
在實際的軟件開發(fā)中有很多是由集成的頻度可能是相對隨意的,這種隨意是與項目組團(tuán)隊內(nèi)的開發(fā)進(jìn)度與用例/用戶故事劃分有關(guān)系的,有可能更多的集成是在3天、4天、6天或者沒有較多規(guī)律的情況下進(jìn)行的。而在回答這個問題的時候,很多人都會因為這樣而去選擇每天或者每周,因為這兩者是相對較為接近的。
而每月的集成則是傳統(tǒng)的開發(fā)方式下,或者重型軟件過程模型(諸如RUP)下的常規(guī)方式,這里從占有20.1%的每月構(gòu)建可以看到這一點。而這個每小時構(gòu)建的2.1%與前面的完全采用迭代化開發(fā)的6.4%的比例是何其的相似,但是從這里我們可以看到中國軟件業(yè)規(guī)范化的希望。而從52.6%的每周構(gòu)建和25.2%的每天構(gòu)建中,我們看到的更多的是擔(dān)憂和國內(nèi)軟件開發(fā)狀態(tài)的混亂。
圖表 :開發(fā)者團(tuán)隊對變更管理和缺陷跟蹤使用工具的種類分布狀況
變更管理和缺陷跟蹤工具的使用一直是國內(nèi)軟件企業(yè)和開發(fā)團(tuán)隊的弱點,這方面大部分企業(yè)都是通過自己的內(nèi)部調(diào)整手段來進(jìn)行實現(xiàn)的,部分企業(yè)和團(tuán)隊將它與需求管理合并起來進(jìn)行統(tǒng)一的管理,這是因為需求管理主要是針對用戶需求變更的管理,而變更管理與缺陷跟蹤在一定程度上是和需求管理的表現(xiàn)上是相似的。
比如用戶使用系統(tǒng)中遇到的問題提出來,這時候需求調(diào)研人員要考慮這是需求變更還是系統(tǒng)缺陷,然后進(jìn)行分類標(biāo)記,但是一般都是統(tǒng)一登記并進(jìn)入后續(xù)流程的。在上面對圖表數(shù)據(jù)中占有四分之一份額的其他選項與需求管理中其他的25.3%的比例非常接近,這一點和需求管理中是相似的:“國內(nèi)有很多公司和團(tuán)隊在使用自己開發(fā)的需求管理工具。這是由于需求管理有著明確的起始和終結(jié)點,過程相對穩(wěn)定,有著自己獨立完整的工程活動過程,開發(fā)難度也較小,所以,很多公司都會根據(jù)自己的特點進(jìn)行同類工具的開發(fā)”。
Rational公司在變更管理和缺陷跟蹤工具應(yīng)用中仍然占有最大的用戶份額和認(rèn)可程度,這個原因前面已經(jīng)陳述過多次了,而Borland StarTeam所占有的20.5%的比例也說明Borlander在國內(nèi)的數(shù)量比例還是很大的,但是,如果Borland繼續(xù)下去,這個份額比例估計只能是逐年下降的。
其他的諸如Bugzilla的6.6%、Telelogic Synergy的5.6%和Hansky Butterfly的2.5%都說明在這方面的用戶認(rèn)同度是相對較為寬泛的,大家接觸的也相對較多,開源工具與商用工具在沒有較大規(guī)模市場宣傳影響的背景上可以做到平分“疆土”的程度。