摘 要:計(jì)算機(jī)軟件項(xiàng)目管理中的需求分析是提高軟件質(zhì)量的基礎(chǔ)也是決定一個(gè)軟件項(xiàng)目成敗的關(guān)鍵。本文介紹了在需求分析研究中探索出的一些有效措施。
關(guān)鍵詞:需求分析;用戶方干系人;項(xiàng)目經(jīng)理;需求分析員
眾觀國(guó)內(nèi)計(jì)算機(jī)軟件業(yè)的發(fā)展,除遠(yuǎn)不如歐美等西方發(fā)達(dá)國(guó)家外,與人均GDP不及我國(guó)的印度相比也相距甚遠(yuǎn),軟件業(yè)的劣勢(shì)正嚴(yán)重制約著我國(guó)IT業(yè)的發(fā)展。我國(guó)軟件業(yè)的劣勢(shì)表現(xiàn)在自主開發(fā)的成熟軟件不多,而開發(fā)的大量軟件工程項(xiàng)目(如ERP等)存在缺陷或完全開發(fā)失敗。目前,國(guó)家正在加大對(duì)軟件工程的研究和對(duì)軟件工程人才的培養(yǎng)。根據(jù)資料顯示,屬于需求分析造成軟件設(shè)計(jì)的錯(cuò)誤和缺陷約占軟件失敗的6400,而屬于程序代碼的錯(cuò)誤僅占軟件失敗的360a,數(shù)據(jù)表明需求分析是提高軟件質(zhì)量的基礎(chǔ)也是決定一個(gè)軟件項(xiàng)目成敗的關(guān)鍵。通過對(duì)軟件項(xiàng)目管理知識(shí)的系統(tǒng)學(xué)習(xí)并結(jié)合近年來自己參與部分軟件項(xiàng)目實(shí)施的經(jīng)驗(yàn),介紹在需求分析研究中探索出的一些有效措施。
1盡快熟悉項(xiàng)目用戶方干系人全貌
項(xiàng)目用戶方干系人,指所有可能受到項(xiàng)目結(jié)果重大影響的人,即項(xiàng)目的風(fēng)險(xiǎn)承擔(dān)者,他可能是項(xiàng)目的受益者,也可能是項(xiàng)目的受害者。因此,應(yīng)當(dāng)從項(xiàng)目的啟動(dòng)開始,需求分析員及其項(xiàng)目成員就要分清項(xiàng)目用戶方干系人包含哪些人和組織,通過溝通協(xié)調(diào)對(duì)他們施加影響,驅(qū)動(dòng)他們對(duì)項(xiàng)目的支持,調(diào)查并明確他們的需求和愿望,減小其對(duì)項(xiàng)目的阻力,以確保項(xiàng)目獲得成功。
有些項(xiàng)目在做需求調(diào)查時(shí),由于受進(jìn)度要求等客觀因素影響,需求分析員與建設(shè)單位的技術(shù)部門交流較多,向業(yè)務(wù)管理部門和實(shí)際使用者調(diào)查不夠深入,造成軟件試用后不得不再對(duì)需求做較大調(diào)整,“從頭再來”的部分比例很高,大大超過進(jìn)度要求時(shí)間。因此,熟悉項(xiàng)目用戶方干系人全貌是進(jìn)行需求調(diào)查的第一步,也是需求調(diào)查的基礎(chǔ)。在定制開發(fā)項(xiàng)目的項(xiàng)目用戶方干系人中,最重要的是建設(shè)單位中的人事組織、業(yè)務(wù)關(guān)系。最好是能夠用組織結(jié)構(gòu)圖畫出相關(guān)單位的組織結(jié)構(gòu);還應(yīng)當(dāng)在相關(guān)單位組織結(jié)構(gòu)圖基礎(chǔ)上畫出全體項(xiàng)目用戶方干系人結(jié)構(gòu)圖,以便更好更全面地進(jìn)行需求調(diào)研分析;用責(zé)任矩陣確定各部分的調(diào)研對(duì)象;建立調(diào)研對(duì)象通訊錄以保證調(diào)研及分析期間及時(shí)的溝通。
2采取正確的需求獲取方法
軟件開發(fā)項(xiàng)目的目的就是要實(shí)現(xiàn)項(xiàng)目用戶方的需求,項(xiàng)目用戶方的需求包含明確的和隱含的,也可以分為NEED, WANT, WISH等不同的層次。如果對(duì)項(xiàng)目所有用戶方干系人沒有進(jìn)行足夠的溝通和影響,使其盡可能地參與項(xiàng)目,則會(huì)出現(xiàn)客戶方相關(guān)責(zé)任人不明確或?qū)Ψ秶托枨筘?zé)任心不強(qiáng),提出的需求具有隨意性,項(xiàng)目前期對(duì)需求的確認(rèn)不夠積極,或者是多個(gè)用戶代表各說各話、昨是今非,項(xiàng)目后期需求變化隨意等現(xiàn)象,這就會(huì)造成項(xiàng)目范圍的蔓延,進(jìn)度的拖延,成本的擴(kuò)大,甚至項(xiàng)目的完全失敗。
各種用戶對(duì)系統(tǒng)具有不同的要求,如一個(gè)沒有經(jīng)驗(yàn)的用戶關(guān)心系統(tǒng)是否簡(jiǎn)單易用,對(duì)于高級(jí)用戶則關(guān)心產(chǎn)品的易用性和高效性。因而需要對(duì)用戶進(jìn)行分類,每一個(gè)用戶類將有自己的一系列功能和非功能要求。在項(xiàng)目中,要盡早為產(chǎn)品確定并描述不同的用戶類,這樣就能從每一個(gè)重要的用戶類代表中獲取不同的需求。
項(xiàng)目需求具有雙面性(用戶與開發(fā)商)和多面性(項(xiàng)目中各干系人),因此,項(xiàng)目經(jīng)理和系統(tǒng)集成者應(yīng)了解用戶干系人需求,用戶干系人也應(yīng)了解技術(shù)方面的需求,兩者缺一不可。正確的需求獲取需要了解需求的來源、用戶的分類、用戶的代表性、用戶需求誰說了算數(shù)等因素。開發(fā)人員和項(xiàng)目經(jīng)理要有足夠的耐心聆聽用戶的講述,要足夠詳細(xì)地了解每一個(gè)細(xì)節(jié)。項(xiàng)目管理者要善于將需求分類、歸類,善于將需