的事情。只有進(jìn)行深入收集和分析,才可以消除任何沖突或不一致性。
信息量越大,對(duì)準(zhǔn)確理解客戶的需求越有幫助,但同時(shí),對(duì)需求的分析也就越難。對(duì)于軟件項(xiàng)目,我認(rèn)為這可能是最困難、最關(guān)鍵、最需要交流的工作。因?yàn)檐浖皇怯布?,不是主板,顯示卡之類看得到摸得著的東西,軟件是思想,是理念,是規(guī)則,是對(duì)真實(shí)世界的抽象。軟件項(xiàng)目的交付物是有形的,可又不同于其他行業(yè),比如汽車的構(gòu)造是固定的,其組成部分是不變的。
而一個(gè)軟件系統(tǒng)的模塊劃分則可以有多種方法,多種結(jié)構(gòu)。這個(gè)特征導(dǎo)致對(duì)軟件項(xiàng)目經(jīng)理的抽象思維能力要求很高,要求要有較強(qiáng)的邏輯性。否則,就有可能表現(xiàn)為缺少全局概念,對(duì)項(xiàng)目整體的范圍和業(yè)務(wù)系統(tǒng)把握不夠,在項(xiàng)目過(guò)程中被客戶牽著鼻子走,今天客戶說(shuō)要個(gè)什么功能,就添加個(gè)什么,明天要修改個(gè)什么,就跟著修改什么,被動(dòng)至極。
將客戶信息結(jié)構(gòu)化,編寫(xiě)成需求文檔。這是需求定義的工作。公司的《產(chǎn)品需求規(guī)格說(shuō)明書(shū)》的主要內(nèi)容包括:“ 產(chǎn)品介紹;描述用戶群體的特征;定義產(chǎn)品的范圍; 闡述產(chǎn)品應(yīng)當(dāng)遵循的標(biāo)準(zhǔn)或規(guī)范;定義產(chǎn)品中的角色;定義產(chǎn)品的功能性需求;定義產(chǎn)品的非功能性需求,如用戶界面、軟硬件環(huán)境、質(zhì)量等需求;”僅有這份需求文檔還不夠,我上現(xiàn)場(chǎng)調(diào)研時(shí)帶了個(gè)美工,將我們和客戶溝通好的軟件部分用圖形界面UI畫(huà)了出來(lái)。
需求定義是需求獲取中最“痛苦”的一件事情,為了盡量避免日后的扯皮,我們力圖使每個(gè)需求都應(yīng)當(dāng)用陳述句說(shuō)明“是什么”,如果“是什么”的內(nèi)涵不夠清晰,則應(yīng)補(bǔ)充說(shuō)明“不是什么”。
如果“是什么”和“不是什么”并不是“理所當(dāng)然”的,那么應(yīng)當(dāng)解釋“為什么”,追究“是什么”和“為什么”的目的是獲得正確、清楚的需求。對(duì)需求定義的標(biāo)準(zhǔn)大致如下:
需求存在二義性嗎?需求文檔的上下文有矛盾嗎?需求完備嗎?需求是必要的嗎?需求可實(shí)現(xiàn)嗎?需求可驗(yàn)證嗎?需求的優(yōu)先級(jí)確定了嗎?等等。
以上就是我個(gè)人的總結(jié),希望在項(xiàng)目需求管理上對(duì)大家有所幫助。