軟件研發(fā)團(tuán)隊(duì)越來越多使用某種開發(fā)模式(如敏捷、瀑布或其他的)并倚重工具是必然的趨勢。就算是相信溝通重于文檔的敏捷團(tuán)隊(duì)也必須使用某種軟件作為其知識庫和溝通的平臺。多年咨詢的經(jīng)驗(yàn)告訴我們,現(xiàn)今軟件研發(fā)公司使用工具的方式可概略分為三大類:
1. 就用Word和Excel做最簡單的管理。這種方式極易造成數(shù)據(jù)失真或文檔流失,管理混亂的情況經(jīng)常發(fā)生。
2. 使用多種研發(fā)管理工具,有的管需求,有的管項(xiàng)目和計(jì)劃,有的管代碼,有的管測試和發(fā)布。這個(gè)方式的問題是,工具之間數(shù)據(jù)不能相通。管理人員看不到全局,也沒法有效使用數(shù)據(jù)作為其市場策略的依據(jù)。
3. 使用一個(gè)研發(fā)管理平臺。如此,數(shù)據(jù)不能相通的問題多少被解決了。但團(tuán)隊(duì)的工作方式和需求的屬性隨著團(tuán)隊(duì)的成熟一直演變,因此工作流和需求字段也需要跟著變。大多數(shù)的工具是不能輕易解決這類問題的。所以,多數(shù)情況在用了一兩年后就放棄了。
既然選擇工具是早晚的事,而團(tuán)隊(duì)操作方法的演進(jìn)又是必然的,那在選擇工具時(shí)就必須具有前瞻性。也就是說,我們需要考慮到可擴(kuò)展性。我認(rèn)為一個(gè)軟件研發(fā)平臺的可擴(kuò)展性至少包括以下五個(gè)方面:
1. 需求字段(屬性)的可擴(kuò)展 – 當(dāng)需求屬性增加或減少,在軟件里我們要相對應(yīng)地添加或減少字段。這一點(diǎn)基本上是不可避免的。
2. 工作流的可擴(kuò)展 - 工作流的修改就在彈指之間,直接在圖形界面上操作,不需要改寫腳本,圖形工作流保存后即可使用。
3. 研發(fā)方法的可擴(kuò)展 – 我們曾看到在同一個(gè)公司有的團(tuán)隊(duì)是過了CMMI認(rèn)證并且遵循其操作的,但偏偏有其他團(tuán)隊(duì)卻是使用敏捷開發(fā)方法。甚至有某些團(tuán)隊(duì)是以達(dá)到CMMI的標(biāo)準(zhǔn)為目標(biāo),而其操作的方式卻是敏捷。故工具應(yīng)能同時(shí)被操作不同方法的團(tuán)隊(duì)使用。
4. 系統(tǒng)使用人數(shù)的可擴(kuò)展 – 一個(gè)能被幾十人使用的系統(tǒng)未必就能被幾百人使用。這通常是由于軟件系統(tǒng)的架構(gòu)、數(shù)據(jù)庫以及部署方式造成的限制。
5. 團(tuán)隊(duì)地理位置的可擴(kuò)展 – 同一團(tuán)隊(duì)的成員可能分布在中國、美國和歐洲。他們平常工作時(shí)使用本地的數(shù)據(jù)庫,每日一次或多次的數(shù)據(jù)集成使得他們可以共享資源,協(xié)同開發(fā)。
單單只能管理軟件研發(fā)全生命周期中某一階段(如需求、代碼、測試或發(fā)布)的工具也已經(jīng)過去了。現(xiàn)在在中國,不論使用哪一種研發(fā)方法,要的都是管理全部過程的整套工具。在這一點(diǎn)上中國的軟件研發(fā)團(tuán)隊(duì)充分地表現(xiàn)出了后發(fā)優(yōu)勢。歐美的團(tuán)隊(duì)四五十歲的IT人員早年就使用某些功能獨(dú)一的工具,他們已經(jīng)不易改變多年的習(xí)性,公司也不太愿意花費(fèi)巨資遷移數(shù)據(jù)。而我們的團(tuán)隊(duì)成員平均年紀(jì)不到三十。他們簡裝快行,在使用了合適的方法和高效的整套工具后,有望在未來的幾年內(nèi)工作效率提升幾成,前景不可限量。
“智者”能預(yù)見問題,避開問題或找到應(yīng)對之道。希望我這小小的一點(diǎn)分享能讓你成為研發(fā)工具選型的智者,少走一點(diǎn)彎路。讓我們一起為高科技中國的未來貢獻(xiàn)一點(diǎn)力量!