在實(shí)際項(xiàng)目工作過(guò)程中,中小型項(xiàng)目開發(fā)團(tuán)隊(duì)因?yàn)轫?xiàng)目規(guī)模等原因,在需求管理和測(cè)試管理上進(jìn)行了過(guò)度裁剪,導(dǎo)致項(xiàng)目的需求管理和測(cè)試管理出現(xiàn)失控。如何在中小項(xiàng)目開發(fā)團(tuán)隊(duì)中做好需求管理和測(cè)試管理,是目前大部分項(xiàng)目團(tuán)隊(duì)面臨的主要問(wèn)題之一。本文主要說(shuō)明如何使用Rational工具進(jìn)行有效的需求管理和測(cè)試管理,提高軟件的質(zhì)量和開發(fā)水平。
在本文中,中小型開發(fā)團(tuán)隊(duì)指項(xiàng)目成員數(shù)量在2-25個(gè),項(xiàng)目工作量在6-75個(gè)人月的軟件項(xiàng)目。
1. 項(xiàng)目生命周期對(duì)于中小型項(xiàng)目管理的重要性
任何有機(jī)體都有其生命周期,中小型軟件項(xiàng)目也不例外。項(xiàng)目經(jīng)理或組織可以把每一個(gè)項(xiàng)目劃分成若干個(gè)階段,以便有效地進(jìn)行管理控制,并與實(shí)施該項(xiàng)目組織的日常運(yùn)作聯(lián)系起來(lái),這些項(xiàng)目階段合在一起稱為項(xiàng)目生命周期。本文將項(xiàng)目生命周期劃分為啟動(dòng)、計(jì)劃、執(zhí)行和結(jié)束四個(gè)階段(見圖一)。其中,執(zhí)行階段一般包括需求、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試和發(fā)布活動(dòng)。這些活動(dòng)可以按照實(shí)際情況采用瀑布或迭代等其他方式進(jìn)行開發(fā)。
圖一 項(xiàng)目生命周期階段及里程碑圖
正確的認(rèn)識(shí)和理解項(xiàng)目的生命周期,對(duì)制定與實(shí)施相應(yīng)的戰(zhàn)略、策略以在滿足成本性能、時(shí)間性能和技術(shù)性能的條件下實(shí)現(xiàn)項(xiàng)目管理的目標(biāo),并形成企業(yè)核心競(jìng)爭(zhēng)優(yōu)勢(shì),都具有非常重要的意義。通過(guò)對(duì)項(xiàng)目生命周期各個(gè)階段及各個(gè)階段里程碑的明確,便于項(xiàng)目團(tuán)隊(duì)的交流溝通,使團(tuán)隊(duì)成員對(duì)項(xiàng)目有更深更細(xì)的認(rèn)識(shí)。
在中小型項(xiàng)目開發(fā)團(tuán)隊(duì)中,由于資源限制,人們常常跳過(guò)項(xiàng)目生命周期的某些階段,或是敷衍的執(zhí)行其中的某個(gè)活動(dòng)。在整個(gè)軟件生命周期中,經(jīng)常被忽視的兩大活動(dòng)是需求管理以及測(cè)試管理。國(guó)內(nèi)軟件業(yè)的痼疾之一是,人們并不清楚究竟該做什么,但卻一直忙碌不停地開發(fā)。例如,還沒有弄清楚項(xiàng)目所需要解決的問(wèn)題是什么,直接選擇項(xiàng)目的解決方案。更有甚者,直接進(jìn)行項(xiàng)目編碼活動(dòng)。這種情況往往半途而廢,或返工重來(lái),造成很大的損失。要進(jìn)行項(xiàng)目管理,要嚴(yán)格遵循項(xiàng)目活動(dòng)中的內(nèi)在規(guī)律,并按照生命周期每個(gè)階段的策劃,與預(yù)定的實(shí)施活動(dòng)進(jìn)行項(xiàng)目管理才有可能避免不必要的損失,少走彎路,使項(xiàng)目達(dá)到良好的效果。
2. 中小型項(xiàng)目開發(fā)團(tuán)隊(duì)如何做好需求管理和測(cè)試管理
需求是項(xiàng)目的根源,需求工作的優(yōu)劣對(duì)產(chǎn)品影響大。像一條河流,如果源頭被污染了,那么整條河流也被污染了。對(duì)于現(xiàn)代企業(yè)來(lái)說(shuō),能否生產(chǎn)出滿足顧客需求的軟件至關(guān)重要,在整個(gè)軟件的生命周期中,要確保各項(xiàng)工作和需求之間的一致性,應(yīng)用需求管理顯得格外重要。
要做好需求管理,主要從需求確認(rèn)、需求跟蹤和需求變更控制三個(gè)方面進(jìn)行。需求確認(rèn)主要指開發(fā)方和客戶方共同對(duì)《需求規(guī)格說(shuō)明書》進(jìn)行評(píng)審,雙方對(duì)需求達(dá)成一致共識(shí)后作出承諾。在達(dá)成共識(shí)的需求基礎(chǔ)上,通過(guò)建立與維護(hù)“需求——設(shè)計(jì)——編程——測(cè)試”之間的一致性,確保所有提交的工作成果符合用戶需求。隨著項(xiàng)目的進(jìn)展,人們(包括開發(fā)方和客戶方)對(duì)需求的了解越來(lái)越深入,原先的需求文檔可能存在這樣那樣的錯(cuò)誤或不足,因此開發(fā)方和客戶方要變更需求。通過(guò)建立變更管理流程,管理需求變更,對(duì)需求變更進(jìn)行分析和評(píng)估,控制需求變更造成的影響,以免需求變更失去控制。
在軟件生命周期中,除了需求管理外,經(jīng)常被忽視的另一個(gè)部分是測(cè)試管理。在傳統(tǒng)手工管理方式下,測(cè)試與需求間的關(guān)系很難進(jìn)行跟蹤控制。在需求發(fā)生變更時(shí),經(jīng)常出現(xiàn)測(cè)試未完全覆蓋需求,導(dǎo)致測(cè)試不全面的問(wèn)題。由于缺乏必要的系統(tǒng)平臺(tái)支撐,容易造成測(cè)試資產(chǎn)的遺漏,項(xiàng)目測(cè)試管理人員無(wú)法對(duì)測(cè)試資產(chǎn)進(jìn)行有效的跟蹤管理。隨著質(zhì)量管理發(fā)展的要求,測(cè)試的范疇已經(jīng)不再僅局限于發(fā)現(xiàn)缺陷,還包括對(duì)軟件產(chǎn)品質(zhì)量進(jìn)行評(píng)估、度量管理和缺陷預(yù)防等活動(dòng)。通過(guò)測(cè)試活動(dòng),發(fā)現(xiàn)、跟蹤和處理缺陷,對(duì)項(xiàng)目進(jìn)行風(fēng)險(xiǎn)評(píng)估。
做好測(cè)試管理,可以從以下四方面進(jìn)行:1)項(xiàng)目測(cè)試計(jì)劃管理、測(cè)試進(jìn)度管理:保證項(xiàng)目測(cè)試工作按照預(yù)期的計(jì)劃與可行的進(jìn)度開展;2)測(cè)試資產(chǎn)管理:包括測(cè)試計(jì)劃、測(cè)試用例、測(cè)試腳本、測(cè)試報(bào)告的創(chuàng)建與維護(hù)、缺陷跟蹤,保證測(cè)試資產(chǎn)之間是可跟蹤的,一致的;3)項(xiàng)目質(zhì)量評(píng)估與預(yù)防:通過(guò)測(cè)試度量數(shù)據(jù)的分析與預(yù)估,對(duì)項(xiàng)目質(zhì)量進(jìn)行風(fēng)險(xiǎn)評(píng)估;4)測(cè)試團(tuán)隊(duì)管理:如測(cè)試人員的績(jī)效考核、人員的技術(shù)發(fā)展與定位、人員激勵(lì)等。
3. 中小型項(xiàng)目開發(fā)團(tuán)隊(duì)如何開展需求管理和測(cè)試管理
需求管理屬于CMMI中的KPA之一,而測(cè)試管理則在驗(yàn)證和確認(rèn)這兩個(gè)KPA中得到體現(xiàn)。CMMI主要是針對(duì)大型軟件項(xiàng)目開發(fā)團(tuán)隊(duì)的,對(duì)中小型軟件項(xiàng)目開發(fā)團(tuán)隊(duì)則需要進(jìn)行裁減。而我國(guó)大部分軟件項(xiàng)目開發(fā)團(tuán)隊(duì)都屬于中小型項(xiàng)目團(tuán)隊(duì),在進(jìn)行需求管理和測(cè)試管理活動(dòng)時(shí),不太可能也沒有必要原原本本地對(duì)照CMMI中定義的每一項(xiàng)要求進(jìn)行實(shí)施。這牽涉到對(duì)需求管理和測(cè)試管理進(jìn)行裁剪及解釋的問(wèn)題。“裁剪”是指對(duì)范圍及程度的改變;“解釋”是指把實(shí)際軟件項(xiàng)目中的實(shí)踐工作,理解為或等同為某個(gè)關(guān)鍵實(shí)踐。
中小型項(xiàng)目開發(fā)團(tuán)隊(duì)來(lái)說(shuō),裁剪及解釋是否得當(dāng)是能否成功地應(yīng)用需求管理和測(cè)試的一個(gè)關(guān)鍵。筆者認(rèn)為,在不影響基礎(chǔ)要求的前提下,剪裁到越簡(jiǎn)單,條理越清晰,執(zhí)行效果越好。