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