軟件項目面臨的一個普遍困難就是需求的不確定與頻繁變更,有效管理軟件需求要解決的一個基本問題是確定變更的粒度大小以及對項目的影響程度。本文使用功能點標準度量需求的規(guī)模,使得采用量化方式管理軟件需求成為可能,從而對功能點在軟件項目管理方面的應(yīng)用進行擴充。
關(guān)鍵詞: 需求管理 需求變更 功能點 項目管理 軟件度量
1. 背景
相對于傳統(tǒng)行業(yè)的項目而言,在軟件項目中經(jīng)常會發(fā)生工期拖延、費用超支、質(zhì)量低下、用戶不滿意等負面情形[1],其原因可能包括客戶要求不合理、過程管理不規(guī)范、質(zhì)量意識淡漠等多種因素,但不能否認的是軟件本身的特點是問題產(chǎn)生的根源。
相對于其他行業(yè)而言,例如土建、制造等傳統(tǒng)行業(yè),軟件更為抽象和不易衡量,同時軟件還具有容易變更的特點。再加上軟件不容易量化的特點使得軟件項目的計劃與跟蹤粒度過粗、不能及時發(fā)現(xiàn)項目中存在的問題,從而導(dǎo)致軟件項目的管理往往流于形式化,不能起到應(yīng)有的作用。
軟件項目管理主要從四個方面關(guān)注項目的進展狀況[2],它們依次是項目的范圍、時間、成本和質(zhì)量,如圖一所示。其中項目范圍作為主要的變量,對其他三個指標產(chǎn)生明顯的影響。而軟件項目范圍的不確定性則會直接導(dǎo)致項目工期、項目成本和項目質(zhì)量的不確定性。
圖一:項目管理三角形
軟件項目范圍的不確定性通常表現(xiàn)為如下兩個方面:
1. 項目前期需求不明確。前期需求不明確導(dǎo)致項目范圍不確定,而基于范圍基礎(chǔ)之上的工期、成本與質(zhì)量目標顯然也帶有很大的不確定性。正是因為需求不明確,許多項目傾向于采用固定價合同計價模式。當后期發(fā)生追加需求時,甲方可以避免追加合同金額的情形(甲方申請由追加需求產(chǎn)生的額外費用是比較困難的,因為他往往缺乏有效的方法說服自己的上司追加費用與額外需求之間明確的對應(yīng)關(guān)系)??上攵潭▋r合同模式對項目的乙方會產(chǎn)生什么樣的影響。乙方只好做些力所能及的被動適應(yīng)性工作,例如無可奈何的加班、質(zhì)量方面的下降、工期方面的順延等等。
2. 需求變更時無法做出可信的量化影響分析。 因為需求規(guī)模的單位比較模糊,例如一個需求、需求模塊等籠統(tǒng)提法,導(dǎo)致變更的需求規(guī)模描述不容易被接受。尤其是對于客戶而言,基于變更的需求所推導(dǎo)出的對應(yīng)的工期變更、成本變更和質(zhì)量變更也缺乏說服力。所以當需求變更后,項目計劃的修改往往是不夠準確的。
在軟件項目的需求管理中引入功能點分析方法可以有針對性地解決上述的問題[3]。在軟件項目中引入功能點分析方法有助于:
約束需求的詳細程度
對需求變更的影響程度綜合分析
區(qū)分需求變更及其對應(yīng)的種類
2. 功能點方法概述
一個軟件的大小可以通過交付給用戶的功能點數(shù)來度量,就如一間房子的大小通過提供給用戶的建筑面積或使用面積來度量一樣。根據(jù)ISO的標準表述,功能點分析方法的目的是量化表述用戶功能性需求的軟件規(guī)模(A size of the software derived by quantifying the Functional User Requirement)
目前被納入ISO標準的功能點分析方法總共有四種,分別是
IFPUG 功能點標準
Mark II 功能點標準
Nesma 功能點標準
COSMIC FFP 功能點標準
IFPUG(International Function Point User Group)功能點標準是目前軟件行業(yè)采用最廣泛的功能點分析方法 。功能點分析方法是從用戶的角度將所有的用戶業(yè)務(wù)功能需求區(qū)分為駐留數(shù)據(jù)的功能需求和處理數(shù)據(jù)的事務(wù)功能需求[3],如圖二所示。
項目經(jīng)理勝任力免費測評PMQ上線啦!快來測測你排多少名吧~
http://opto-elec.com.cn/pmqhd/index.html