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