做好項目需求分析,才是項目管理的重中之重
文|洪生鵬
01
項目需求分析是系統(tǒng)分析和軟件設計階段之間的橋梁。
主要表現(xiàn)在兩方面:
需求分析以系統(tǒng)規(guī)格說明和項目規(guī)劃作為分析活動的基本出發(fā)點,并從軟件角度對它們進行檢查與調(diào)整。
需求規(guī)格說明又是軟件開發(fā)設計、以及實現(xiàn)和測試直至維護的主要基礎。良好的分析活動有助于避免或盡早剔除早期錯誤,從而提高軟件生產(chǎn)率,降低開發(fā)成本,改進軟件質(zhì)量,提高軟件系統(tǒng)的穩(wěn)定性和健全性。
可見需求分析的重要性,項目需求分析大致有四個過程
1、需求分析過程
需求過程包括需求開發(fā)和需求管理兩個部分:
需求開發(fā):開發(fā)前期的管理,與客戶的溝通過程,包括需求獲取、需求分析、編寫需求和需求驗證等。
需求管理:軟件項目開發(fā)過程中控制和維持需求約定的活動。包括變更控制、版本控制、需求跟蹤、需求狀態(tài)跟蹤等。
2、需求的層次
需求的層次包括:業(yè)務需求、用戶需求、功能需求、非功能需求等。
3、需求開發(fā)階段的重點
提取業(yè)務對象
業(yè)務對象(Business Object,BO)是對數(shù)據(jù)進行檢索和處理的組件。是簡單的真實世界的軟件抽象。業(yè)務對象通常位于中間層或者業(yè)務邏輯層。
提取業(yè)務流程
業(yè)務流程,是為達到特定的價值目標而由不同的人分別共同完成的一系列活動。活動之間不僅有嚴格的先后順序限定,而且活動的內(nèi)容、方式、責任等也都必須有明確的安排和界定,以使不同活動在不同崗位角色之間進行轉(zhuǎn)手交接成為可能?;顒优c活動之間在時間和空間上的轉(zhuǎn)移可以有較大的跨度。而狹義的業(yè)務流程,則認為它僅僅是與客戶價值的滿足相聯(lián)系的一系列活動。
性能需求
在分析的前期應該注意客戶對所開發(fā)軟件的技術(shù)性能指標,如存儲容量限制、運行時間限制、安全保密性等。
環(huán)境需求
環(huán)境需求是指軟件平臺運行時的環(huán)境的要求,如硬件方面:機型、外部設備、數(shù)據(jù)通信接口;軟件方面:系統(tǒng)軟件,包括操作系統(tǒng)、網(wǎng)絡軟件等;使用方面:操作人員需要什么樣的技術(shù)水平,應具備那些條件。
用戶界面需求
為用戶界面細致地規(guī)定到達的要求。
4、 需求分析的任務
需求分析的主要任務是借助于當前系統(tǒng)的邏輯模型導出目標系統(tǒng)的邏輯模型,其流程如下:
確定對系統(tǒng)的綜合需求(功能、性能、運行、擴充需求)
制作產(chǎn)品需求文檔 (PRD)
分析系統(tǒng)的數(shù)據(jù)需求(概念模型、數(shù)據(jù)字典、規(guī)范化)
導出目標系統(tǒng)的詳細的邏輯模型(數(shù)據(jù)流圖、數(shù)據(jù)字典、主要功能描述)
開發(fā)原形系統(tǒng)
02
如何有效進行項目管理?
項目根據(jù)項目需求確定目標,主要是項目目標的制定、分解和職責分工。目標管理要求每一個分目標都有明確的責任主體。因此,預定總體目標之后,需要重新審查現(xiàn)有團隊結(jié)構(gòu),進行目標分解,并明確目標責任者和協(xié)調(diào)關(guān)系。分目標要具體量化,便于考核;分清輕重緩急。
目標管理是系統(tǒng)性工程,如果事先沒有一個詳盡的計劃,很難將各項工作協(xié)調(diào)一致。因此,計劃是目標實施過程中不可缺少的一部分。目標管理是一項所有成員都要參與設定自已的具體目標,然后各就各位把計劃執(zhí)行的過程。并且,上級主管要進行階段性考查,根據(jù)實際情況作出一些調(diào)控,以便順利的完成目標。
這里推薦自下而上的預算方法
自下而上方法要求運用WBS(Work Breakdown Structure,工作分解結(jié)構(gòu))對項目的所有工作任務的時間和預算進行仔細考察。最初,預算是針對資源(團隊成員的工作時間、硬件的配置)進行的,項目經(jīng)理在此之上再加上適當?shù)拈g接費用(如培訓費用、管理費用、不可預見費等)以及項目要達到的利潤目標就形成了項目的總預算。自下而上的預算方法要求全面考慮所有涉及到的工作任務,更適用于項目的初期與中期,它能準備地評估項目的成本,與真實費用相差在5% ~ 10%之間。
要是項目部分有外包的情況,還需要考慮接口聯(lián)調(diào)的工作量。
筆者有次做移動客戶端跟服務端聯(lián)調(diào)接口時,本來計劃10個接口一天內(nèi)聯(lián)調(diào)完的,可是那天只聯(lián)調(diào)了一個接口。
有的公司為了接口開發(fā)成本,服務端開發(fā)人員開發(fā)的接口,沒有經(jīng)過測試人員測試就直接跟客戶端聯(lián)調(diào)了。
記得那次,服務端開發(fā)人員說接口開發(fā)好了,可以聯(lián)調(diào),他直接打包發(fā)布都平臺,也沒有自己先測試一下,結(jié)果我一調(diào),直接報500了。
他再打包發(fā)布,這樣一來就浪費了很多不必要的時間,更離譜的是,接口返回數(shù)據(jù)格式竟然不是客戶端想要的。
……
所以,做系統(tǒng)需求評估時,要注意聯(lián)調(diào)的工作量。
做好項目需求分析,才是項目管理的重中之重。,只要做好了,才能更好的做好軟件開發(fā),開發(fā)人員才不會了因為頻繁的需求改動而抓狂,有更多的時間和精力去處理更有意義的事情。
【END】
聯(lián)系客服