軟件項(xiàng)目中,軟件需求的準(zhǔn)確性、穩(wěn)定性直接決定項(xiàng)目的成敗。這一點(diǎn),所有從業(yè)人員都堅(jiān)信。各種項(xiàng)目管理書(shū)籍與知識(shí)體系,尤其是PMP、CMMI等知識(shí)體系,都無(wú)不強(qiáng)調(diào)需求工程的重要性,而且也都給出了非常好的過(guò)程實(shí)踐。
此文,僅限于需求分析過(guò)程,其他過(guò)程暫時(shí)不涉及。
比如,CMMI模型對(duì)需求分析過(guò)程域提出明確的過(guò)程目標(biāo)與實(shí)踐指導(dǎo):
過(guò)程域:需求開(kāi)發(fā)
SG1 開(kāi)發(fā)客戶需求 收集相關(guān)人員的需求、期望、限制及接口,并轉(zhuǎn)換成客戶需求。
SP1.1 引導(dǎo)需求 引導(dǎo)相關(guān)人員提出有關(guān)產(chǎn)品生命周期各階段的需求、期望、限制及接口
SP1.2 開(kāi)發(fā)客戶需求 轉(zhuǎn)換相關(guān)人員的需求、期望、限制及接口為客戶需求。
SG2 開(kāi)發(fā)產(chǎn)品需求 細(xì)化病詳細(xì)說(shuō)明客戶需求,以開(kāi)發(fā)產(chǎn)品及產(chǎn)品組件需求。
SP2.1 建立產(chǎn)品與產(chǎn)品組件需求 以客戶需求為基礎(chǔ),建立和維護(hù)產(chǎn)品與產(chǎn)品組件的需求。
SP2.2 配置產(chǎn)品組建需求
SP2.3 標(biāo)識(shí)接口需求
SG3 分析并確認(rèn)需求
SP3.1 建立操作概念及場(chǎng)景 建立和維護(hù)操作概念及其相關(guān)場(chǎng)景。
SP3.2 建立必要的功能定義 建立和維護(hù)必要的功能定義。
SP3.3 分析需求,以確保其必要性和充分性。
SP3.4 分析需求一取得平衡 分析需求,并在相關(guān)人員的需要和限制間取得平衡。
SP3.5 用廣泛的方法確認(rèn)需求 使用多種適用的技術(shù)來(lái)確認(rèn)需求,以確保在用戶環(huán)境下,最終產(chǎn)品能如期運(yùn)行。
過(guò)程術(shù)語(yǔ):SG 特定目標(biāo); SP 特定過(guò)程
這類(lèi)知識(shí)體系,為我們過(guò)程實(shí)踐提供了非常有益的指導(dǎo),但在項(xiàng)目實(shí)踐中,怎么做才能高效高質(zhì)地遵從這些SP,達(dá)到SG規(guī)定的目標(biāo)呢?
現(xiàn)實(shí)中,各組織、各個(gè)體的做法各異,無(wú)所謂優(yōu)劣,唯有看效果。軟件需求規(guī)格說(shuō)明書(shū)(SRS)是體現(xiàn)項(xiàng)目需求最關(guān)鍵的工件之一。根據(jù)個(gè)人的實(shí)踐經(jīng)驗(yàn),我們從SRS開(kāi)始,總結(jié)了一套“循環(huán)修正法”,能夠較有效地拉動(dòng)客戶參與,提高需求的準(zhǔn)確性和穩(wěn)定性。
循環(huán)修正法:
依據(jù)目標(biāo)軟件項(xiàng)目業(yè)務(wù)關(guān)聯(lián)關(guān)系,把軟件項(xiàng)目拆分為多個(gè)子系統(tǒng)或模塊,每部分單獨(dú)或者分組形成需求描述文檔,以此作為與客戶達(dá)成共識(shí)的唯一媒介。
與客戶進(jìn)行多輪循環(huán)溝通,每次溝通結(jié)論都記錄在此文檔中,以不同顏色或標(biāo)記來(lái)標(biāo)識(shí)修正過(guò)程。比如,紅色表示疑問(wèn)部分,藍(lán)色表示已去除疑問(wèn)、達(dá)成一致后待再次確認(rèn)的部分,黑色表示已經(jīng)達(dá)成共鳴并已確認(rèn)的部分。
循環(huán)溝通多輪后,所有疑問(wèn)都達(dá)成共識(shí),即可進(jìn)入評(píng)審階段,并形成需求基線。
下面介紹循環(huán)修正法使用的前提條件、操作過(guò)程要點(diǎn)以及輸出成果的應(yīng)用與跟蹤。
如果希望順利使用“循環(huán)修正法”,必須搞清如下幾個(gè)條件:
1-項(xiàng)目已經(jīng)立項(xiàng)。
項(xiàng)目已經(jīng)完成立項(xiàng)工作,項(xiàng)目立項(xiàng)的標(biāo)志為“項(xiàng)目經(jīng)理已經(jīng)正式任命,再項(xiàng)目經(jīng)理的組織策劃下,已經(jīng)召開(kāi)項(xiàng)目啟動(dòng)會(huì)”。
2-需求階段的詳細(xì)計(jì)劃已經(jīng)形成。
項(xiàng)目策劃階段最主要的輸出成果之一是項(xiàng)目進(jìn)度計(jì)劃。項(xiàng)目初期階段,至少做到需求階段計(jì)劃非常明確且詳盡。此計(jì)劃必須與客戶達(dá)成共識(shí),是需求分析工作高效高質(zhì)的前提條件。沒(méi)有明確的計(jì)劃,就會(huì)導(dǎo)致階段工作盲目而無(wú)效率,無(wú)法充分拉動(dòng)客戶參與。
3-項(xiàng)目范圍定義說(shuō)明書(shū)已經(jīng)熟讀。
商務(wù)階段或可行性研究階段形成的項(xiàng)目范圍定義說(shuō)明書(shū)已經(jīng)提交項(xiàng)目組,需求分析人員已經(jīng)熟讀范圍定義,并且做到范圍明確。
在實(shí)施“循環(huán)修正法”過(guò)程中,需要注意如下要點(diǎn):
1-項(xiàng)目分割
依據(jù)目標(biāo)軟件項(xiàng)目的業(yè)務(wù)以及技術(shù)關(guān)聯(lián)關(guān)系,把項(xiàng)目需求分割為多個(gè)子系統(tǒng)或模塊。沒(méi)有分割的量化標(biāo)準(zhǔn),旨在便于后續(xù)需求分析的溝通工作,人們往往喜歡閱讀一定篇幅的文檔,而厭惡巨篇文檔。
當(dāng)然,如果項(xiàng)目需求量很小或者關(guān)聯(lián)度超高,則未必非要分割。
2-需求文檔初稿編寫(xiě)
在閱讀項(xiàng)目范圍定義說(shuō)明書(shū)和客戶提供的其他相關(guān)資料的基礎(chǔ)上,著手編寫(xiě)文檔初稿。文檔具體格式有很多參考資料,比如各大公司的通用樣本、本公司或本人的經(jīng)驗(yàn)范本,甚至客戶原始文本的再加工。各有各的優(yōu)點(diǎn),只要效果好即可。例如,使用客戶原始文本,可能與公司規(guī)范或個(gè)人經(jīng)驗(yàn)范本有差異,但他便于客戶溝通,也是不錯(cuò)的選擇。
無(wú)論如何,需要注意兩點(diǎn):1)圖文并茂,文本旨在準(zhǔn)確描述,圖片旨在形象而便于交流;2)標(biāo)識(shí)所有疑問(wèn)內(nèi)容,甚至加上你的疑問(wèn)問(wèn)題。
3-多輪循環(huán)溝通
需求文檔承載項(xiàng)目干系人的要求,是否準(zhǔn)確、全面,必須經(jīng)過(guò)多輪溝通。每輪溝通都要做到去偽存真、去疑存真。循環(huán)中,包括去掉疑問(wèn),更要包括上輪達(dá)成共識(shí)的問(wèn)題的再次確認(rèn)。
4-唯一共鳴媒介
務(wù)必要找到唯一共鳴的媒介,來(lái)記載共識(shí)。我覺(jué)得循環(huán)修正的目標(biāo)文檔就是最理想的選擇。切勿東記一下,西記一下;更不要你記一下,我記一下。這都會(huì)導(dǎo)致一團(tuán)糟。
會(huì)議記錄和郵件確認(rèn)都是某次任務(wù)結(jié)果的記錄,但不要把它們分別藏著,畢竟人們都是健忘的,把他們統(tǒng)統(tǒng)都放到整個(gè)唯一媒介中。
5-修正標(biāo)記應(yīng)用
循環(huán)修正的最大外在表現(xiàn)形式就是準(zhǔn)確使用修正標(biāo)記。建議,紅色表示疑問(wèn)部分,藍(lán)色表示已去除疑問(wèn)、達(dá)成一致后待再次確認(rèn)的部分,黑色表示已經(jīng)達(dá)成共鳴并已確認(rèn)的部分。紅色部分必須達(dá)成共識(shí)才能變成藍(lán)色,藍(lán)色部分只有經(jīng)過(guò)再次確認(rèn)才能變成黑色,只有所有部分都變成黑色,才能說(shuō)明我們溝通有成效。
記住今天偷的懶,明天需要你用百倍的代價(jià)來(lái)補(bǔ)償。千萬(wàn)不要為了偷懶而改變顏色。
另外,也不要忽略藍(lán)色和黑色部分重新變?yōu)榧t色的可能性,因?yàn)槿说睦斫馐且粋€(gè)漸進(jìn)的過(guò)程,這是修正過(guò)程的正常表現(xiàn)。
“循環(huán)修正法”輸出的成果必須得到正確的應(yīng)用,否則就無(wú)法發(fā)揮其效力,反倒成為白忙一場(chǎng)。最重要的輸出成果往往是軟件需求規(guī)格說(shuō)明書(shū),它的應(yīng)用與跟蹤包含如下幾個(gè)方面:
1-內(nèi)部評(píng)審
項(xiàng)目組內(nèi)部,也可能包括部分客戶,必須認(rèn)真仔細(xì)地閱讀兩遍,內(nèi)部評(píng)審一輪。既是內(nèi)部學(xué)習(xí),又是內(nèi)部修正的過(guò)程。
2-同行評(píng)審
我們稱其為PV,即PeerReview。根據(jù)項(xiàng)目規(guī)模和范圍要求,需要外部同行來(lái)共同參與評(píng)審,必須做到所有關(guān)鍵干系人共同參與。
評(píng)審必須由結(jié)論,通常有3種結(jié)論:1)完全通過(guò),2)有條件通過(guò),3)不通過(guò)。無(wú)論什么結(jié)論,都必須有明確說(shuō)服力的解釋?zhuān)瑢?duì)于有條件通過(guò)的,必須詳細(xì)定義和說(shuō)明條件。
3-評(píng)審修正跟蹤
依據(jù)評(píng)審決策,再次修正文檔,及時(shí)提交給驗(yàn)證負(fù)責(zé)人,完成最終評(píng)審歸檔。
非常感謝你與我一起走過(guò)循環(huán)修正需求分析全過(guò)程,但不要忘記最后的基線化,完成配置管理工作。希望上述內(nèi)容對(duì)于我們的項(xiàng)目經(jīng)理和需求分析人員有些借鑒意義。
本該再加些圖文和樣本,人都有惰性呀,我也如此,見(jiàn)諒?;蛘吒信d趣的話,給我留言。
【?發(fā)表評(píng)論?0條?】