軟件開(kāi)發(fā)要有軟件需求與開(kāi)發(fā)計(jì)劃,大規(guī)模軟件還要有可行性報(bào)告,項(xiàng)目開(kāi)發(fā)計(jì)劃,需求方面要有軟件需求說(shuō)明和數(shù)據(jù)要求說(shuō)明,還要有測(cè)試計(jì)劃。軟件開(kāi)發(fā)項(xiàng)目策劃包含計(jì)劃的要素、計(jì)劃編制過(guò)程、以及項(xiàng)目計(jì)劃內(nèi)容確定的一般過(guò)程。中小規(guī)模軟件要有項(xiàng)目開(kāi)發(fā)計(jì)劃,軟件需求說(shuō)明和測(cè)試計(jì)劃,軟件開(kāi)發(fā)中要寫(xiě)設(shè)計(jì)說(shuō)明,大規(guī)模的軟件還要包括概要設(shè)計(jì)說(shuō)明,詳細(xì)設(shè)計(jì)說(shuō)明和數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明。
本文從提高我國(guó)軟件企業(yè)項(xiàng)目管理的能力出發(fā),提出軟件研發(fā)項(xiàng)目的項(xiàng)目策劃管理,即:面向利益相關(guān)者的項(xiàng)目策劃、基于統(tǒng)計(jì)數(shù)據(jù)的項(xiàng)目計(jì)劃。
一、面向利益相關(guān)者的項(xiàng)目策劃
軟件項(xiàng)目策劃的目的主要在于明晰定義項(xiàng)目的價(jià)值和項(xiàng)目目標(biāo),它是軟件項(xiàng)目正式啟動(dòng)的基礎(chǔ)是明確項(xiàng)目需求的基礎(chǔ),也是控制項(xiàng)目范圍的基礎(chǔ)。據(jù)統(tǒng)計(jì),超過(guò)50%的軟件項(xiàng)目都遭受過(guò)不充分的需求管理的問(wèn)題,平均有25%的軟件項(xiàng)目需求會(huì)發(fā)生變化。對(duì)有缺陷的需求、設(shè)計(jì)、代碼進(jìn)行返工的花費(fèi)占整個(gè)項(xiàng)目費(fèi)用的40%—50%。項(xiàng)目策劃的要點(diǎn)包含以下四個(gè)方面。
1.識(shí)別和定義項(xiàng)目的利益相關(guān)者。
現(xiàn)代項(xiàng)目管理的核心理念是項(xiàng)目必須讓其利益相關(guān)者滿(mǎn)意,要理解和定義項(xiàng)目的價(jià)值,進(jìn)而在此基礎(chǔ)上定義項(xiàng)目的目標(biāo),必須從識(shí)別項(xiàng)目的利益相關(guān)者入手。然而,實(shí)踐表明,識(shí)別清楚軟件項(xiàng)目的利益相關(guān)者并不是一件容易的事。有時(shí)一個(gè)項(xiàng)目進(jìn)行了很長(zhǎng)時(shí)間,但項(xiàng)目組未必知道項(xiàng)目的真正客戶(hù)是誰(shuí),常犯的錯(cuò)誤是僅將項(xiàng)目成果的使用者作為客戶(hù)。
例如,電子政務(wù)系統(tǒng)的真正用戶(hù)是該機(jī)關(guān)的決策層,而不是具體負(fù)責(zé)這個(gè)電子政務(wù)項(xiàng)目的某個(gè)部門(mén)。如果需求僅僅來(lái)自負(fù)責(zé)這個(gè)項(xiàng)目的某個(gè)部門(mén),那么即使這個(gè)系統(tǒng)建好了,也極有可能沒(méi)有真正達(dá)到目的。但是由于各種原因,決策層人員往往沒(méi)有足夠的精力來(lái)關(guān)心這件事,這時(shí)如果項(xiàng)目組不去想方設(shè)法解決這個(gè)問(wèn)題的話(huà),那么,這個(gè)項(xiàng)目從一開(kāi)始埋下了“陷入泥潭”的陰影。此外,必須識(shí)別出具體的項(xiàng)目發(fā)起人并充分發(fā)揮其作用。實(shí)踐過(guò)程中易犯的錯(cuò)誤是誤將一個(gè)部門(mén)、一個(gè)機(jī)構(gòu)作為項(xiàng)目的發(fā)起人,這樣的結(jié)果是決策時(shí)有很多人,但真正需要項(xiàng)目發(fā)起人提供資源、予以協(xié)調(diào)時(shí)卻找不到人。
2.促成利益相關(guān)者的參與。
不僅是在策劃活動(dòng)中,在整個(gè)軟件項(xiàng)目的生命周期內(nèi)都必須強(qiáng)調(diào)項(xiàng)目利益相關(guān)者的參與,必須要與利益相關(guān)者一起啟動(dòng)項(xiàng)目。由于軟件項(xiàng)目的成果將改變?nèi)藗兊纳罨蚬ぷ鞣绞。因此,客?hù)必須在項(xiàng)目策劃階段了解項(xiàng)目成果對(duì)其生活或工作方式的影響,他們必須開(kāi)發(fā)相應(yīng)的政策、流程等以準(zhǔn)備接受項(xiàng)目成果。
目前眾多的ERP項(xiàng)目之所以失敗,重要的一個(gè)原因是人們誤認(rèn)為ERP項(xiàng)目?jī)H是一個(gè)信息系統(tǒng)項(xiàng)目,該項(xiàng)目帶來(lái)的僅僅是一個(gè)信息產(chǎn)品。其實(shí),ERP項(xiàng)目帶來(lái)的是一新的運(yùn)營(yíng)方式,如果企業(yè)在沒(méi)有做相應(yīng)調(diào)整的情況下強(qiáng)行引入ERP,將會(huì)使企業(yè)運(yùn)行的混亂速度加快而不是更好。事實(shí)表明,促使軟件項(xiàng)目成功的重要的要素莫過(guò)于利益相關(guān)者的全過(guò)程參與。
3.不可忽視項(xiàng)目的驗(yàn)收標(biāo)準(zhǔn)。
對(duì)項(xiàng)目目標(biāo)一致性重視程度不夠,是項(xiàng)目啟動(dòng)過(guò)程中普遍存在的一個(gè)問(wèn)題。很多項(xiàng)目管理者低估了達(dá)成項(xiàng)目目標(biāo)一致性的難度,在這方面投入的精力不夠,往往簡(jiǎn)單地認(rèn)為目標(biāo)已經(jīng)達(dá)成一致。很多項(xiàng)目其實(shí)是在目標(biāo)沒(méi)有定義清楚的情況下匆忙啟動(dòng)的。因此,軟件項(xiàng)目策劃的結(jié)果必須使利益相關(guān)者對(duì)項(xiàng)目目標(biāo)的理解達(dá)成一致。要做到這一點(diǎn),有效的辦法是設(shè)定項(xiàng)目的驗(yàn)收標(biāo)準(zhǔn)?梢砸皂(xiàng)目的客戶(hù)為例說(shuō)明這一點(diǎn)。
客戶(hù)的需求包含多個(gè)方面,其中既有對(duì)項(xiàng)目成果特性的要求,又有客戶(hù)在感情等方面的需求。簡(jiǎn)單說(shuō)來(lái),客戶(hù)的需求可以分為三類(lèi):第一類(lèi)是“Musts”,即如果缺少了不能實(shí)現(xiàn)項(xiàng)目基本目的的成果特性;第二類(lèi)是“Wants”,即客戶(hù)希望得到的能夠豐富項(xiàng)目成果的東西。第三類(lèi)是“Nice-to-haves”,即對(duì)客戶(hù)和項(xiàng)目而言多多益善的東西。從對(duì)客戶(hù)的重要性而言,這三類(lèi)需求是遞減的。然而,在項(xiàng)目的運(yùn)行過(guò)程中,客戶(hù)向項(xiàng)目承擔(dān)方表達(dá)的頻率卻常常是遞增的。這是導(dǎo)致項(xiàng)目管理范圍蔓延終失控而使項(xiàng)目失敗的重要原因。對(duì)于中創(chuàng)軟件來(lái)說(shuō),項(xiàng)目策劃是項(xiàng)目管理的重中之重,對(duì)于重大項(xiàng)目,公司的高層會(huì)親自?huà)鞄洝?/p>
4.培育/運(yùn)用行業(yè)專(zhuān)家。
軟件項(xiàng)目的價(jià)值是為了實(shí)現(xiàn)某些商業(yè)目的,它們一般是由行業(yè)專(zhuān)家而不是由軟件開(kāi)發(fā)人員挖掘出來(lái)的。許多軟件企業(yè)被投標(biāo)價(jià)格所困擾,其原因有來(lái)自市場(chǎng)競(jìng)爭(zhēng)方面的,更多的則是軟件企業(yè)沒(méi)有能夠挖掘項(xiàng)目的價(jià)值所致。目前,許多軟件企業(yè)的弱點(diǎn)在于缺乏行業(yè)專(zhuān)家,它們沒(méi)有意識(shí)到行業(yè)專(zhuān)家也是專(zhuān)業(yè)人員,而只是將軟件開(kāi)發(fā)人員作為專(zhuān)業(yè)人員對(duì)待。
在項(xiàng)目定義活動(dòng)中,軟件開(kāi)發(fā)人員常犯的錯(cuò)誤有三點(diǎn):需求鍍金、需求過(guò)濾和需求包辦。所謂鍍金,是指軟件開(kāi)發(fā)人員不顧客戶(hù)的實(shí)際需求,片面強(qiáng)調(diào)和夸大技術(shù)先進(jìn)性;所謂需求過(guò)濾,是指軟件開(kāi)發(fā)人員根據(jù)自己的技術(shù)偏好對(duì)客戶(hù)的需求進(jìn)行了主觀(guān)篩選;所謂需求包辦,是指客戶(hù)將需求分析委托給“專(zhuān)業(yè)的”軟件開(kāi)發(fā)人員,而他們也樂(lè)得如此。實(shí)踐證明,缺乏行業(yè)專(zhuān)家的項(xiàng)目策劃所產(chǎn)生出來(lái)的東西一般是能力過(guò)剩的、不適用的,甚至是完全不能用的。如果軟件企業(yè)沒(méi)有自己的行業(yè)專(zhuān)家,必須善于利用外部的行業(yè)專(zhuān)家。
目前,中國(guó)的軟件市場(chǎng),特別是軟件集成市場(chǎng),還在很大的“關(guān)系市場(chǎng)”的特征,項(xiàng)目在給企業(yè)帶來(lái)利潤(rùn)的同時(shí),也會(huì)給企業(yè)發(fā)展帶來(lái)極大的風(fēng)險(xiǎn),可能會(huì)影響到企業(yè)的正常發(fā)展。因此,抓好項(xiàng)目策劃極為重要。
二、基于統(tǒng)計(jì)數(shù)據(jù)的項(xiàng)目計(jì)劃
軟件項(xiàng)目計(jì)劃過(guò)程面臨的大挑戰(zhàn)是計(jì)劃的準(zhǔn)確性差。據(jù)統(tǒng)計(jì),在對(duì)軟件項(xiàng)目進(jìn)度與成本估算時(shí),開(kāi)發(fā)者的估算比現(xiàn)實(shí)要樂(lè)觀(guān),大約低20%到30%;大多數(shù)項(xiàng)目實(shí)際完成時(shí)間超過(guò)估算進(jìn)度的25%到,少數(shù)的進(jìn)度估算精確度達(dá)到了10%,能控制在5%之內(nèi)的項(xiàng)目十分罕見(jiàn)。要提高軟件項(xiàng)目計(jì)劃的準(zhǔn)確性,需要把握以下兩點(diǎn):
1.加強(qiáng)基礎(chǔ)數(shù)據(jù)的統(tǒng)計(jì)與分析
軟件項(xiàng)目都是具有獨(dú)特性的,不能照搬其他項(xiàng)目的經(jīng)驗(yàn)作為制定本項(xiàng)目計(jì)劃的依據(jù)。因此,在企業(yè)范圍內(nèi)加強(qiáng)對(duì)項(xiàng)目基礎(chǔ)數(shù)據(jù)的統(tǒng)計(jì)分析以得出規(guī)律是十分必要的。項(xiàng)目管理既是科學(xué)又是藝術(shù),由于文化的差異,西方發(fā)達(dá)強(qiáng)調(diào)的是管理中的科學(xué)性,而我國(guó)的絕大多數(shù)企業(yè)強(qiáng)調(diào)的是管理中的藝術(shù)性。由于不重視基礎(chǔ)數(shù)據(jù)的收集和統(tǒng)計(jì),軟件項(xiàng)目的計(jì)劃常常是憑經(jīng)驗(yàn)或“拍腦袋”而定的,企業(yè)并沒(méi)有足夠的統(tǒng)計(jì)數(shù)據(jù)來(lái)支持計(jì)劃的制定?茖W(xué)管理盡管是在上個(gè)世紀(jì)初,對(duì)制造業(yè)和體力工人提出的,但其中提出的“不能度量不能控制”的理念依然值得軟件企業(yè)在管理項(xiàng)目時(shí)采納。為做到在數(shù)據(jù)統(tǒng)計(jì)的基礎(chǔ)上制定項(xiàng)目計(jì)劃,中創(chuàng)軟件每天對(duì)每個(gè)員工的工作時(shí)間進(jìn)行統(tǒng)計(jì)分析。在數(shù)據(jù)的統(tǒng)計(jì)過(guò)程中,公司內(nèi)部十分強(qiáng)調(diào)科學(xué)方法與工具的使用,通過(guò)對(duì)多種統(tǒng)計(jì)分析方法(如FPA、COCOMO和類(lèi)比法等)的研究和應(yīng)用,項(xiàng)目計(jì)劃的準(zhǔn)確性得到很大提高,基本達(dá)到了“一次將事情做正確”的目標(biāo)。
2.以面向?qū)W習(xí)和改善系統(tǒng)的評(píng)價(jià)原則促進(jìn)數(shù)據(jù)統(tǒng)計(jì)
評(píng)價(jià)方式將決定人們的行為,要想改變?nèi)藗兊牧?xí)慣,僅靠講道理是難以見(jiàn)效的,
還必須輔之以相應(yīng)的評(píng)價(jià)體系。軟件企業(yè)在項(xiàng)目管理評(píng)價(jià)進(jìn)程的一個(gè)誤區(qū)是將評(píng)價(jià)的重點(diǎn)放在人的方面,而忽視了很多項(xiàng)目問(wèn)題在于管理系統(tǒng)本身這個(gè)事實(shí)。據(jù)統(tǒng)計(jì),人員的敬業(yè)精神和能力不夠只占項(xiàng)目失敗原因的10%左右,在大約90%的原因來(lái)自于項(xiàng)目管理系統(tǒng)的架構(gòu)與流程等方面。因此,中創(chuàng)軟件將項(xiàng)目績(jī)效評(píng)價(jià)的重點(diǎn)放在通過(guò)學(xué)習(xí)以改善項(xiàng)目管理系統(tǒng)方面而不是給項(xiàng)目成員下一個(gè)終的結(jié)論性判定。這種評(píng)價(jià)的方式是基于統(tǒng)計(jì)分析的,它不僅有助于改進(jìn)企業(yè)的項(xiàng)目管理系統(tǒng),更有助于員工有意識(shí)地去收集數(shù)據(jù)和對(duì)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,以便提高項(xiàng)目計(jì)劃的準(zhǔn)確度。這方面問(wèn)題的解決,非是一日之功,但如果企業(yè)肯花大力氣,當(dāng)數(shù)據(jù)積累到一定程度時(shí)可以發(fā)現(xiàn)統(tǒng)計(jì)規(guī)律,會(huì)對(duì)計(jì)劃起到極大的支持作用。
3.謹(jǐn)防里程碑陷阱。
眾所周知,里程碑是項(xiàng)目計(jì)劃與控制中的一個(gè)極為重要的概念,也正因?yàn)槿绱,人們也易于過(guò)于依賴(lài)?yán)锍瘫,反而使?xiàng)目計(jì)劃落空。里程碑陷阱表現(xiàn)在以下幾個(gè)方面:
首先,里程碑的設(shè)置僅僅由項(xiàng)目組根據(jù)項(xiàng)目本身的特點(diǎn)而定,忽視了與利益相關(guān)者的溝通并得到他們的承諾。然后,對(duì)里程碑控制不嚴(yán)。項(xiàng)目活動(dòng)彼此是有關(guān)聯(lián)的,一個(gè)里程碑的延遲會(huì)導(dǎo)致連鎖反應(yīng),甚至可能導(dǎo)致項(xiàng)目工期的失控。因?yàn)榇蟛糠掷锍瘫吘怪皇且恍╉?xiàng)目的中間結(jié)果,在項(xiàng)目過(guò)程中人們易于放松對(duì)里程碑變更的控制,易于出現(xiàn)里程碑大多按期完成而項(xiàng)目卻難以按期完成的現(xiàn)象。后,大多數(shù)軟件企業(yè)的從業(yè)人員屬于知識(shí)工作者,他們對(duì)授權(quán)的要求較強(qiáng)烈,這方面的誤區(qū)更易發(fā)生。人們?cè)谲浖?xiàng)目的里程碑被設(shè)定以后,認(rèn)為“目標(biāo)管理是只問(wèn)結(jié)果,不計(jì)過(guò)程”,從而忽視對(duì)過(guò)程的監(jiān)控而導(dǎo)致項(xiàng)目里程碑不能按期達(dá)到。