推薦使用:免費(fèi)工程項(xiàng)目管理軟件(免費(fèi)下載,像Excel一樣極速上手,可靈活自定義的企業(yè)管理軟件)
讀過王玉榮的《客戶為什么總是反反復(fù)復(fù)》,有感于自己的軟件項(xiàng)目管理實(shí)踐,借此話題介紹一點(diǎn)軟件行業(yè)需求管理中的需求變更管理的實(shí)際經(jīng)驗(yàn),與各位讀者共享。
??? 在軟件項(xiàng)目的研發(fā)過程中,需求變更貫穿了軟件項(xiàng)目的整個生命周期,從軟件的項(xiàng)目立項(xiàng),研發(fā),維護(hù),用戶的經(jīng)驗(yàn)在增加,對使用軟件的感受有變化,以及整個行業(yè)的新動態(tài),都為軟件帶來不斷完善功能,優(yōu)化性能,提高用戶友好性的要求。我在自己的軟件項(xiàng)目管理職業(yè)過程中,幾乎天天面對用戶的需求變更,切身感受到,如果不能有效處理這些需求變更,項(xiàng)目計(jì)劃會一再調(diào)整,軟件交付日期一再拖延,用戶的耐性漸漸消逝,研發(fā)人員的士氣也越來越低落,最后所有的人都在等待一個結(jié)果:項(xiàng)目最好馬上結(jié)束。所幸,在不斷的學(xué)習(xí)和實(shí)踐中,我總結(jié)了幾點(diǎn)比較有效的方法,在軟件研發(fā)階段能夠較好地解決這方面的問題。
??? 1.需求分析階段采用原型方法明確用戶需求。
??? 在軟件項(xiàng)目的需求分析階段,有大量需求信息需要收集、篩選、加工,這是需求管理的開始。客戶和研發(fā)兩方面的人員對需求的理解呈現(xiàn)“大體上共識多,細(xì)節(jié)上差異多”的特點(diǎn)。即使通過反復(fù)溝通,最終在時間表限制之內(nèi)也能拿出一份“用戶需求說明書”,但是以實(shí)踐經(jīng)驗(yàn),用戶需求的描述永遠(yuǎn)是“不夠清晰”、“不夠明確”的。這主要是因?yàn)樵谶@個階段,所謂的產(chǎn)品都在大家的大腦中構(gòu)思,正如100個人讀《射雕英雄傳》,就有100個郭靖的形象一樣,每個人的想法都是大致輪廓相同,而細(xì)節(jié)差異很大。在此階段,原型開發(fā)是一個較好的輔助手段,它將存在于大家頭腦中的虛境實(shí)實(shí)在在地表達(dá)出來,一個界面,幾個控件,外觀形式固定了,功能描述明確了,這就是研發(fā)部門對用戶的需求理解。此時與用戶再次溝通,用戶基本上可以說出來:“這是我想要的”,或者“不,這不是我想要的,我要的是……”。一般情況下,原型之后的需求溝通就實(shí)際得多,雙方的理解迅速向一個折衷方案靠攏,一個可以指導(dǎo)研發(fā)過程的需求說明書正式誕生了。
??? 2.需求分析之后的研發(fā)過程采用嚴(yán)格的需求變更管理流程。
??? 一旦需求分析階段結(jié)束,此后如果用戶要求有新的需求加入交付的軟件系統(tǒng)中,需要走需求變更管理流程。這個流程必須在軟件項(xiàng)目成立之初與用戶約定好,一般的軟件企業(yè)內(nèi)部有需求變更的管理流程,可以向用戶解釋這種管理的必要性,直至與用戶就此問題達(dá)成共識為止。不必?fù)?dān)心用戶不會接受,有過多次成功研發(fā)軟件項(xiàng)目經(jīng)驗(yàn)的需求變更管理流程,有著它不容置疑的合理性,這正是軟件企業(yè)的經(jīng)驗(yàn)和價(jià)值所在,用戶最終會理解和同意的。
??? 需求變更管理流程各家企業(yè)有各家的做法,借用CMM的需求管理KPA來講,需要兩級需求變更管理委員會(以下簡稱CCB)來處理,即產(chǎn)品CCB和項(xiàng)目CCB。產(chǎn)品CCB處理涉及到產(chǎn)品一級的需求變化,主要體現(xiàn)在需要多個職能部門,多個軟件項(xiàng)目,以及與其他產(chǎn)品線的協(xié)調(diào)等問題;項(xiàng)目CCB處理本項(xiàng)目內(nèi)部的需求變更,如不同小組之間的協(xié)調(diào),接口變化等等。每一個需求都要經(jīng)過CCB的審批,決定這個需求的各種屬性描述是否合適,如時間緊迫性,采用的技術(shù)是否有風(fēng)險(xiǎn),對系統(tǒng)的重要程度,需求變更的波動分析,需求實(shí)現(xiàn)的資源狀況。在與會人員對需求屬性取得共識之后,規(guī)劃需求實(shí)現(xiàn)的版本,確定時間計(jì)劃。
??? 在此提醒大家,切忌對用戶提出的需求拍胸脯,在此之前可以捫心自問:“如果拍了胸脯,以后不能按時完成,我能不能負(fù)擔(dān)全部責(zé)任?”這樣冷靜一下就不會胡亂應(yīng)承了。有一個比較好的方式減少這樣的麻煩,就是在需求分析階段之后,與用戶不要親密接觸,而是按照軟件項(xiàng)目的周期,或者雙方在初期的約定,定時通報(bào)軟件研發(fā)的進(jìn)展。如果軟件研發(fā)采用迭代式開發(fā),就可以在每一期交付產(chǎn)品發(fā)布時做這個事