淺析計算機軟件項目管理中的需求分析
摘要:計算機軟件項目管理中的需求分析是提高軟件質(zhì)量的基礎也是決定一個(gè)軟件項目成敗的關(guān)鍵。本文介紹了在需求分析研究中探索出的一些有效措施。
關(guān)鍵詞:需求分析 用戶(hù)方干系人 項目經(jīng)理 需求分析員
眾觀(guān)國內計算機軟件業(yè)的發(fā)展,除遠不如歐美等西方發(fā)達國家外,與人均GDP不及我國的印度相比也相距甚遠,軟件業(yè)的劣勢正嚴重制約著(zhù)我國IT業(yè)的發(fā)展。我國軟件業(yè)的劣勢表現在自主開(kāi)發(fā)的成熟軟件不多,而開(kāi)發(fā)的大量軟件工程項目(如ERP等)存在缺陷或完全開(kāi)發(fā)失敗。目前,國家正在加大對軟件工程的研究和對軟件工程人才的培養。根據資料顯示,屬于需求分析造成軟件設計的錯誤和缺陷約占軟件失敗的6400,而屬于程序代碼的錯誤僅占軟件失敗的360a,數據表明需求分析是提高軟件質(zhì)量的基礎也是決定一個(gè)軟件項目成敗的關(guān)鍵。通過(guò)對軟件項目管理知識的系統學(xué)習并結合近年來(lái)自己參與部分軟件項目實(shí)施的經(jīng)驗,介紹在需求分析研究中探索出的一些有效措施。
1、盡快熟悉項目用戶(hù)方干系人全貌
項目用戶(hù)方干系人,指所有可能受到項目結果重大影響的人,即項目的風(fēng)險承擔者,他可能是項目的受益者,也可能是項目的受害者。因此,應當從項目的啟動(dòng)開(kāi)始,需求分析員及其項目成員就要分清項目用戶(hù)方干系人包含哪些人和組織,通過(guò)溝通協(xié)調對他們施加影響,驅動(dòng)他們對項目的支持,調查并明確他們的需求和愿望,減小其對項目的阻力,以確保項目獲得成功。
有些項目在做需求調查時(shí),由于受進(jìn)度要求等客觀(guān)因素影響,需求分析員與建設單位的技術(shù)部門(mén)交流較多,向業(yè)務(wù)管理部門(mén)和實(shí)際使用者調查不夠深入,造成軟件試用后不得不再對需求做較大調整,“從頭再來(lái)”的部分比例很高,大大超過(guò)進(jìn)度要求時(shí)間。因此,熟悉項目用戶(hù)方干系人全貌是進(jìn)行需求調查的第一步,也是需求調查的基礎。在定制開(kāi)發(fā)項目的項目用戶(hù)方干系人中,最重要的是建設單位中的人事組織、業(yè)務(wù)關(guān)系。最好是能夠用組織結構圖畫(huà)出相關(guān)單位的組織結構;還應當在相關(guān)單位組織結構圖基礎上畫(huà)出全體項目用戶(hù)方干系人結構圖,以便更好更全面地進(jìn)行需求調研分析;用責任矩陣確定各部分的調研對象;建立調研對象通訊錄以保證調研及分析期間及時(shí)的溝通。
2、采取正確的需求獲取方法
軟件開(kāi)發(fā)項目的目的就是要實(shí)現項目用戶(hù)方的需求,項目用戶(hù)方的需求包含明確的和隱含的,也可以分為NEED, WANT, WISH等不同的層次。如果對項目所有用戶(hù)方干系人沒(méi)有進(jìn)行足夠的溝通和影響,使其盡可能地參與項目,則會(huì )出現客戶(hù)方相關(guān)責任人不明確或對范圍和需求責任心不強,提出的需求具有隨意性,項目前期對需求的確認不夠積極,或者是多個(gè)用戶(hù)代表各說(shuō)各話(huà)、昨是今非,項目后期需求變化隨意等現象,這就會(huì )造成項目范圍的蔓延,進(jìn)度的拖延,成本的擴大,甚至項目的完全失敗。
各種用戶(hù)對系統具有不同的要求,如一個(gè)沒(méi)有經(jīng)驗的用戶(hù)關(guān)心系統是否簡(jiǎn)單易用,對于高級用戶(hù)則關(guān)心產(chǎn)品的易用性和高效性。因而需要對用戶(hù)進(jìn)行分類(lèi),每一個(gè)用戶(hù)類(lèi)將有自己的一系列功能和非功能要求。在項目中,要盡早為產(chǎn)品確定并描述不同的用戶(hù)類(lèi),這樣就能從每一個(gè)重要的用戶(hù)類(lèi)代表中獲取不同的需求。
項目需求具有雙面性(用戶(hù)與開(kāi)發(fā)商)和多面性(項目中各干系人),因此,項目經(jīng)理和系統集成者應了解用戶(hù)干系人需求,用戶(hù)干系人也應了解技術(shù)方面的需求,兩者缺一不可。正確的需求獲取需要了解需求的來(lái)源、用戶(hù)的分類(lèi)、用戶(hù)的代表性、用戶(hù)需求誰(shuí)說(shuō)了算數等因素。開(kāi)發(fā)人員和項目經(jīng)理要有足夠的耐心聆聽(tīng)用戶(hù)的講述,要足夠詳細地了解每一個(gè)細節。項目管理者要善于將需求分類(lèi)、歸類(lèi),善于將需求文檔化,并有所查詢(xún)標記。
3、可視化需求調研,引導各種客戶(hù)挖掘他們的需求
有的客戶(hù)因為自己缺乏計算機知識,無(wú)法提出完整準確、隱含的或潛在的需求。若這些需求不能滿(mǎn)足將導致用戶(hù)的不滿(mǎn)。因此需求調研分析人員應善于想用戶(hù)所想,不但要確定明確的需求,還要善于用啟發(fā)的方式與用戶(hù)探討隱含的或潛在的需求,并結合各種調研分析技術(shù)挖掘超出客戶(hù)期望的令人興奮的需求。這就要求需求調研分析員要盡快完整地熟悉相關(guān)業(yè)務(wù),從而能夠站在用戶(hù)的立場(chǎng)看待軟件需求,想用戶(hù)所想,做好業(yè)務(wù)與計算機之間的橋梁。利用可視化需求調研的方法可以很好地啟發(fā)用戶(hù)深人挖掘潛在的需求?梢暬枨笳{研就是使用圖表等工具來(lái)啟發(fā)引導用戶(hù)清楚地敘述需求,并且使需求更加全面完善。
對于高層領(lǐng)導,可以提供系統總體框架圖;對于業(yè)務(wù)管理人員,可以用業(yè)務(wù)流程圖來(lái)描述新舊系統的業(yè)務(wù)流程;對于客戶(hù)中的技術(shù)人員,可以用數據流圖、實(shí)體關(guān)系圖或UMI中的各種圖形對系統進(jìn)行各種角度的描述;而對于業(yè)務(wù)管理人員、客戶(hù)中的技術(shù)人員、以及各層次各流程中的用戶(hù),畫(huà)出用戶(hù)界面圖來(lái)進(jìn)行需求挖掘,是個(gè)比較有效的溝通方式。
這里特別說(shuō)明一下用戶(hù)界面的重要性。用戶(hù)界面的設計按理來(lái)說(shuō)是軟件設計的責任,當然客戶(hù)自己對界面有特別提出要求的除外。但是,如果把它提前到需求調研時(shí)與客戶(hù)進(jìn)行討論,則可以大大改善需求調研的效果。因為這時(shí)客戶(hù)對于將來(lái)的系統還沒(méi)有一個(gè)形象上的概念,或者有一個(gè)模糊的預想的概念需要表述、驗證、明晰化、完善化,以筆者的經(jīng)驗,畫(huà)出用戶(hù)界面草圖與客戶(hù)進(jìn)行討論,可以大大激發(fā)他們提供更為準確全面的需求。原來(lái)收集資料,描述業(yè)務(wù),說(shuō)明系統模型到了山窮水盡的時(shí)候,這種方法可以達到柳暗花明又一村的效果。
4、詳細描述各項業(yè)務(wù),以便讓所有客戶(hù)確認
盡可能全面詳細地調查并且描述原有系統和用戶(hù)希望將來(lái)系統具有的各項業(yè)務(wù)的流程,并將這些業(yè)務(wù)流程文檔化后與客戶(hù)進(jìn)行討論,對描述錯誤或不準確不精確的進(jìn)行修改,最終讓客戶(hù)進(jìn)行確認。從近年來(lái)開(kāi)發(fā)的軟件看,對業(yè)務(wù)處理過(guò)程了解的完整性和準確性非常重要。雖然對數據來(lái)說(shuō)都是SIDUT(查增刪改傳),但具體業(yè)務(wù)都是分為若干步驟,每個(gè)步驟都有其業(yè)務(wù)名稱(chēng),同一步驟可能對多個(gè)數據集進(jìn)行不同操作,需要調查了解清楚才能設計出適合用戶(hù)業(yè)務(wù)特點(diǎn)和習慣的軟件,使開(kāi)發(fā)出來(lái)的軟件更受歡迎。當然在進(jìn)行軟件概要設計時(shí),要盡量排除業(yè)務(wù)流程的制約,即把流程中的各項業(yè)務(wù)節點(diǎn)工作作為獨立的對象,充分考慮他們與其他各種業(yè)務(wù)對象的接口,在流程之間通過(guò)業(yè)務(wù)對象的相互調用實(shí)現其業(yè)務(wù)流程,這樣,在業(yè)務(wù)流程發(fā)生有限的變化時(shí),就能夠比較方便地修改系統程序而實(shí)現新的需求。
對于各項業(yè)務(wù)的調查可以通過(guò)對以下資料的收集整理分析來(lái)完成,這些資料來(lái)自各種各樣的項目用戶(hù)方干系人:遵循的標準、組織發(fā)放的工作手冊、作業(yè)流程、有關(guān)業(yè)務(wù)的上級通知、有關(guān)業(yè)務(wù)的辦事指南、辦理業(yè)務(wù)時(shí)需要填寫(xiě)的登記表、各種相關(guān)的統計報表及通過(guò)其他途徑收集的類(lèi)似系統的介紹、技術(shù)資料等等。
5、對項目用戶(hù)方干系人的愿望進(jìn)行平衡
不同的項目用戶(hù)方干系人其愿望和追求的目標往往相差甚遠,因此對項目用戶(hù)方干系人的愿望進(jìn)行平衡可能是非常重要而又相當困難的事情。例如:我曾在參與的某醫院計算機管理系統項目中,遇到醫院管理層希望能夠采集盡可能多的信息項以便對數據進(jìn)行多種多樣的統計分析,同時(shí)為了對信息進(jìn)行有效控制而增加一些審批流程;而門(mén)診、藥房等對外辦公的基層窗口則因為客流速度的壓力希望減少信息項的輸人量;甚至有些不良的基層部門(mén)由于害怕建立透明度高的信息系統會(huì )影響他們的利益而消極地應付,即所謂反需求;而客戶(hù)的客戶(hù)(就診的病人)則希望相關(guān)機構能夠簡(jiǎn)化工作流程,加快辦事速度,增加診斷情況和就診費用的透明度;甚至項目組本身因為技術(shù)、資源、進(jìn)度等原因,需要對一些功能進(jìn)行優(yōu)先級排序和取舍。雖然不是所有人的需求都是可以滿(mǎn)足的,特別是消極的反需求是不能接受的,但他們的需求都是應當考慮全面并進(jìn)行平衡的。
如果不同的用戶(hù)方干系人有不一致的需求,那么必須決策出滿(mǎn)足哪一類(lèi)用戶(hù)方干系人的需求更為重要。了解可能使用產(chǎn)品的客戶(hù)種類(lèi)的信息和他們的用法與產(chǎn)品的業(yè)務(wù)目標的關(guān)系如何,將有助于決定哪一個(gè)用戶(hù)類(lèi)所占份額更大。如果系統分析人員提出的需求與開(kāi)發(fā)者所想要開(kāi)發(fā)的系統發(fā)生沖突時(shí),通常由于系統分析人員作為客戶(hù)的代理人,市場(chǎng)需求具有更重的分量,但是,系統分析人員不能一味地遷就客戶(hù)需求。
不同的用戶(hù)方干系人可能都要求產(chǎn)品按照他們各自的喜好來(lái)設計。運用項目的業(yè)務(wù)目標來(lái)決定哪些是你最關(guān)心的客戶(hù),非核心客戶(hù)的需求可以安排在下一個(gè)版本中開(kāi)發(fā)。當開(kāi)發(fā)者想像的產(chǎn)品與客戶(hù)需求沖突時(shí),通常應該由客戶(hù)作出決策,然而,不要陷人“客戶(hù)總是對的”的陷阱中去,現實(shí)中,客戶(hù)并不總是對的。
6、強調實(shí)現項目需求的層次遞進(jìn)性
了解該系統或者該項目用戶(hù)所能夠提供的最小的工程費用。當預計經(jīng)費不能支持時(shí),應當考慮將項目分期實(shí)施。在系統上、技術(shù)上對用戶(hù)進(jìn)行引導性建議,使用戶(hù)了解集成商所要進(jìn)行的工作,了解集成商是為了幫助用戶(hù)實(shí)現他的需要、達到用戶(hù)的目的,而不僅僅是為了賺錢(qián),用戶(hù)更了解集成商,也更了解自己的系統,有利于以后的項目合作、工程實(shí)施和系統維護。
分析用戶(hù)曾用系統模式、數據結構和庫模式,看是否保持、共用、轉換,這涉及保護用戶(hù)投資的問(wèn)題。根據現在工作業(yè)務(wù)流情況確定現有的工作模式,還應兼顧將來(lái)可能會(huì )發(fā)生的變化、擴展、新規定,及與同國際接軌可能的帶來(lái)的變化?疾楣こ虒(shí)施環(huán)境是否有保證,尤其是網(wǎng)絡(luò )工程,必須在需求調查時(shí)充分了解用戶(hù)領(lǐng)域的實(shí)施環(huán)境,當不具有實(shí)施環(huán)境時(shí),要求進(jìn)行配套設計和環(huán)境改造。
7、編寫(xiě)需求文擋和進(jìn)行需求評審與其他項目小組成員協(xié)作完善系統需求
文檔資料是集成商重要的財富,貫穿于系統集成和項目開(kāi)發(fā)的整個(gè)過(guò)程,其中包括法律文檔、技術(shù)文檔、資料文擋。文擋要求完整性、一致性、可修改性、可跟蹤性。
以原來(lái)的需求為基礎的工作完成后,要修補需求錯誤需要大量的工作,研究表明:比起在需求開(kāi)發(fā)階段由客戶(hù)發(fā)現的一個(gè)錯誤,然后更正這一錯誤需要多花到倍的時(shí)間。因此,需要進(jìn)行需求評審。需求審查結束的標準為:已經(jīng)明確闡述了審查員提出的所有問(wèn)題、已經(jīng)正確修改了文檔、修訂過(guò)的文檔已經(jīng)進(jìn)行了語(yǔ)法檢查、所有 TBD問(wèn)題都已經(jīng)解決、文檔歸檔。
需求文檔完成之后,并不是把它扔給后面的設計人員就了事了。作為項目組其他成員,對需求的有效性也起到某種程度的驗證作用。雖然軟件項目的生命周期按照各種開(kāi)發(fā)模型有不同階段的劃分,但每個(gè)階段的結束不是簡(jiǎn)單地把階段工作成果塞給下一階段的成員就可以了。特別是高科技的軟件開(kāi)發(fā)項目,上一階段的工作成果往往要通過(guò)多次的溝通才能更為清晰地被下一階段成員接受,其有效性、合理性也要被下一階段的工作所檢驗,通過(guò)檢驗有時(shí)也有必要對上一階段的工作結果進(jìn)行相應的調整,需求分析也是如此。因此,無(wú)論是同一階段不同人員之間,或是不同階段人員之間都應根據需要相互協(xié)作,相互配合,共同完成軟件開(kāi)發(fā)任務(wù)。
【淺析計算機軟件項目管理中的需求分析】相關(guān)文章:
項目組合管理在企業(yè)項目管理中的應用分析論文02-20
淺析傳統文化在現代項目管理中的應用03-29
淺析杭州市會(huì )展策劃與管理專(zhuān)業(yè)人才需求調研分析12-07
關(guān)于通信工程項目信息管理系統的需求分析11-16
淺析項目施工管理的控制03-29
淺析語(yǔ)境因素分析在聽(tīng)力測試中的應用11-18
淺析戰略管理課程中項目教學(xué)法的實(shí)踐與研究11-17
淺析如何提高路橋施工項目管理12-09
淺析中國現代視覺(jué)設計需求03-29
- 相關(guān)推薦