您的位置:軟件測(cè)試 > 軟件項(xiàng)目管理 > 開發(fā)管理 >
對(duì)軟件研發(fā)項(xiàng)目管理的深入探討
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/8/21 10:24:16 ] 推薦標(biāo)簽:

1.項(xiàng)目的范圍:在需求分析中,首先必須明確項(xiàng)目的范圍,去掉那些看似屬于該項(xiàng)目其實(shí)不該在項(xiàng)目中的需求特性。特別是在一些MIS項(xiàng)目中,客戶往往把一些屬于他們的日常工作但不屬于該項(xiàng)目的需求提交給項(xiàng)目組,這時(shí)必須分清項(xiàng)目的范圍,不要在項(xiàng)目中加入太多不應(yīng)該做的東西,否則往往會(huì)導(dǎo)致項(xiàng)目范圍無(wú)限擴(kuò)大,終只能是使項(xiàng)目失敗。

2.需求的優(yōu)先級(jí):需求的優(yōu)先級(jí)是非常重要的特性,只有在準(zhǔn)確把握的需求優(yōu)先級(jí)的基礎(chǔ)上我們才可能規(guī)劃外部里程碑(產(chǎn)品版本)和內(nèi)部里程碑(開發(fā)的階段性,后面會(huì)講到)。通常是用戶關(guān)心,使用頻繁的功能應(yīng)該屬于高優(yōu)先級(jí),而那些不怎么重要或很少用到的功能應(yīng)該屬于低優(yōu)先級(jí)。我們必須在產(chǎn)品的開始版本和項(xiàng)目的開始把重點(diǎn)放在高優(yōu)先級(jí)的需求上,而對(duì)于低優(yōu)先級(jí)的功能可以在項(xiàng)目后期根據(jù)需要進(jìn)行裁減或納入下一個(gè)版本規(guī)劃。項(xiàng)目經(jīng)理圈子

3.產(chǎn)品的易用性:產(chǎn)品的易用性反映在原型中,是原型法的一個(gè)非常重要的作用。很多產(chǎn)品的失敗其一個(gè)重要原因是易用性比較差,雖然它在功能上滿足了用戶需求,甚至可以說(shuō)功能很強(qiáng)大。通過(guò)原型法,能讓用戶看到并模擬使用終的產(chǎn)品界面,能在需求階段通過(guò)修正軟件界面來(lái)適應(yīng)用戶的偏好,從而在很大程度上提高了產(chǎn)品的易用性,使項(xiàng)目更容易成功。blog.mypm.net

4.其他需求特性:如性能要求、健壯性等。這些特性是產(chǎn)品的非功能性需求,也是項(xiàng)目成功的關(guān)鍵因素,特別是在一些大型的涉及重要領(lǐng)域的管理信息系統(tǒng)中。

需求分析是整個(gè)項(xiàng)目活動(dòng)中的非常關(guān)鍵的部分,它的好壞往往決定了項(xiàng)目的成敗。根據(jù)經(jīng)驗(yàn),需求分析所需的時(shí)間往往占整個(gè)項(xiàng)目時(shí)間的12%[1]。在需求分析中,需要防止的一個(gè)錯(cuò)誤做法是太依靠一些所謂的分析方法,而使整個(gè)需求分析過(guò)程非常復(fù)雜,過(guò)多的圖表往往使人眼花繚亂,而不能準(zhǔn)確抓住問(wèn)題的本質(zhì)。一些分析人員往往對(duì)自己熟悉的簡(jiǎn)單的業(yè)務(wù)花大力氣,而對(duì)不熟悉的則一筆帶過(guò),也是本末倒置的錯(cuò)誤行為。在分析過(guò)程中,我們必須始終把握需求分析的目的是把模糊的流程搞清晰,把復(fù)雜的業(yè)務(wù)盡量簡(jiǎn)化,而不是相反。項(xiàng)目管理培訓(xùn)

需求的管理也是非常重要的方面。對(duì)需求分析完后的形成的規(guī)格說(shuō)明需要進(jìn)行專門的評(píng)審,并且需要客戶和終用戶的參與,在達(dá)成一致后形成初的需求基線。以后對(duì)需求的更改都必須在基線的基礎(chǔ)上進(jìn)行,并需要項(xiàng)目組各成員的一致確認(rèn),對(duì)需求進(jìn)行嚴(yán)格規(guī)劃評(píng)審的目的也在于在項(xiàng)目的后期能盡量減少對(duì)需求的更改,提高開發(fā)的效率。項(xiàng)目管理者聯(lián)盟

需求分析完成后,項(xiàng)目組需要對(duì)項(xiàng)目的初步計(jì)劃進(jìn)行重新審定,一般都需要變更項(xiàng)目時(shí)間表和資源需求。需求分析的完成也意味著項(xiàng)目其他部分可以齊頭并進(jìn),如概要設(shè)計(jì)、測(cè)試計(jì)劃、用戶說(shuō)明書,這也在某個(gè)方面證明了需求分析的重要性-它是下面所有活動(dòng)的基礎(chǔ)和準(zhǔn)繩。

3.2.3開發(fā)計(jì)劃

軟件開發(fā)中的計(jì)劃性是非常重要的,一個(gè)沒(méi)有良好計(jì)劃的開發(fā)項(xiàng)目能夠成功的機(jī)會(huì)非常小,除非有天才的程序員再加上好運(yùn)氣。開發(fā)計(jì)劃的主要內(nèi)容包括:項(xiàng)目進(jìn)度安排、人力資源安排,風(fēng)險(xiǎn)管理策略等。

項(xiàng)目的進(jìn)度安排和人力資源安排可能是開發(fā)計(jì)劃中重要的部分,也是難以估計(jì)的部分。一般國(guó)內(nèi)的中小軟件公司對(duì)項(xiàng)目工作量和開發(fā)人員能力的量化程度不高,所以導(dǎo)致進(jìn)度和資源安排不確切,有時(shí)候甚至是相差很遠(yuǎn)。目前一個(gè)實(shí)際的辦法是根據(jù)以往項(xiàng)目的積累,但必須要求是同一領(lǐng)域的類似項(xiàng)目,這樣才有較強(qiáng)的可比性。由于這些計(jì)劃安排是預(yù)估粗略的,所以還必須在以后的項(xiàng)目各階段完成后進(jìn)行合理的變更,反應(yīng)項(xiàng)目的實(shí)際需求。微軟的辦法是把進(jìn)度估計(jì)的權(quán)限交給開發(fā)人員,由開發(fā)人員根據(jù)自己的經(jīng)驗(yàn)進(jìn)行估計(jì),由于一般開發(fā)人員往往會(huì)高估自己的能力,估計(jì)的進(jìn)度也會(huì)相應(yīng)偏短,后再做適當(dāng)?shù)难娱L(zhǎng)[2]。這種辦法有它合理的地方,在中國(guó)還需進(jìn)行實(shí)踐摸索。

對(duì)于進(jìn)度的估計(jì),我們有個(gè)經(jīng)驗(yàn)公式,即您初預(yù)估的時(shí)間再乘以2.5,可能是后的完成時(shí)間。因?yàn)樵S多人在估計(jì)進(jìn)度的時(shí)候,往往忽略了很多非開發(fā)時(shí)間,如與客戶溝通的時(shí)間、項(xiàng)目組溝通時(shí)間、公司培訓(xùn)時(shí)間、假期等,所以我們?cè)诠烙?jì)進(jìn)度的時(shí)候,一定要全方位周全考慮,在盡可能的情況下寧愿把進(jìn)度估計(jì)的長(zhǎng)一點(diǎn),免得在項(xiàng)目后期導(dǎo)致非常被動(dòng)的局面。后面我們將具體講到我們采取的階段性的開發(fā)方法,這種方法的運(yùn)用反映在進(jìn)度估計(jì)時(shí)必須在各階段間預(yù)留緩沖時(shí)間,以解決那些我們事先沒(méi)有預(yù)料到的活動(dòng)。如果進(jìn)度表和要求的出貨時(shí)間有沖突,寧愿砍掉一些不重要的功能,也不要盲目增加人手,這種做法可能會(huì)導(dǎo)致產(chǎn)品質(zhì)量下降,終得不償失,詳細(xì)說(shuō)明請(qǐng)參考[4]。

風(fēng)險(xiǎn)管理是項(xiàng)目管理中非常重要的部分,并且要貫穿項(xiàng)目的始終。一些軟件企業(yè)往往不是很重視風(fēng)險(xiǎn)管理,導(dǎo)致在項(xiàng)目的后期出現(xiàn)了很多預(yù)料之外的事情,使項(xiàng)目進(jìn)度一拖再拖,往往質(zhì)量也達(dá)不到預(yù)期要求。因此我們要特別重視風(fēng)險(xiǎn)的管理,具體方法留待后面專門詳述。

3.2.4開發(fā)過(guò)程

在項(xiàng)目的開發(fā)過(guò)程中,我們采用了階段式的開發(fā)過(guò)程,這也是微軟公司所推薦的開發(fā)過(guò)程。在開發(fā)過(guò)程的初期,首要的活動(dòng)是概要設(shè)計(jì)。概要設(shè)計(jì)的目標(biāo)是簡(jiǎn)單、適用、能夠覆蓋所有的需求并能支持后面的階段式開發(fā)。微軟的應(yīng)用方案解決模型是基于服務(wù)的三層(多層)架構(gòu),包括用戶層,業(yè)務(wù)層和數(shù)據(jù)層,各層之間采用標(biāo)準(zhǔn)的接口進(jìn)行通訊,至于該方法的具體使用,請(qǐng)參看相關(guān)書籍,在此不在贅述了。

階段開發(fā)過(guò)程不是傳統(tǒng)的根據(jù)模塊劃分來(lái)依次完成各模塊,后再進(jìn)行項(xiàng)目的整合,而是在每個(gè)階段完成后,項(xiàng)目都可以推出產(chǎn)品,只不過(guò)該產(chǎn)品的功能比終產(chǎn)品的功能弱一些。

階段性完成項(xiàng)目比傳統(tǒng)的開發(fā)方法明顯的優(yōu)點(diǎn)是不必到項(xiàng)目的末期才開始整合產(chǎn)品,使產(chǎn)品模塊之間協(xié)作產(chǎn)生的問(wèn)題及早產(chǎn)生,也及早修正,從而項(xiàng)目的風(fēng)險(xiǎn)也大大減小。傳統(tǒng)的開發(fā)總是在項(xiàng)目的后期才開始整合各模塊,使產(chǎn)生的問(wèn)題改正起來(lái)極為困難,成本也大大增加;前面累計(jì)的所有問(wèn)題全部都拖到了后面來(lái)解決,也使后面剩下的工作量大大增加。項(xiàng)目往往看起來(lái)已完成了90%——大部分的功能模塊都已完成,但剩下的10%總是完不成,項(xiàng)目進(jìn)度一拖再拖,很可能還要再花90%的時(shí)間來(lái)完成剩下的10%。當(dāng)然采用階段性開發(fā)方法也有相應(yīng)的代價(jià),大的代價(jià)可能是反復(fù)的整合、測(cè)試已經(jīng)完成的模塊,但采用相應(yīng)的一些自動(dòng)化工具可以減小這個(gè)代價(jià)。

一般在開始的階段進(jìn)行的是系統(tǒng)架構(gòu)和重要的功能,后面的階段是相對(duì)不怎么重要的功能。這樣的分配有利于終用戶在早期能看到系統(tǒng)的大致模樣,便于他們及早的對(duì)產(chǎn)品提出意見(jiàn),并對(duì)相應(yīng)的錯(cuò)誤進(jìn)行修改;也有利于項(xiàng)目組在項(xiàng)目后期時(shí)間很緊的情況下,去掉一些不重要的功能,把它們納入下一個(gè)版本處理,確保產(chǎn)品的推出時(shí)間。迭代的順利進(jìn)行依賴于良好的架構(gòu)設(shè)計(jì),前面階段的設(shè)計(jì)應(yīng)該給后面要加入的功能預(yù)留出各種接口,并能使后面的工作在前面的基礎(chǔ)上繼續(xù)進(jìn)行下去。

這種在開發(fā)階段的迭代方式不同于整個(gè)項(xiàng)目的完全迭代開發(fā),后者是項(xiàng)目的需求、概要設(shè)計(jì)、開發(fā)等全部是迭代進(jìn)行,一次迭代要進(jìn)行所有的項(xiàng)目活動(dòng)。至于誰(shuí)優(yōu)誰(shuí)劣可能在不同的情況下有不同的說(shuō)法,需要根據(jù)項(xiàng)目和自身的情況合理采用。

還有是迭代的次數(shù)也要根據(jù)項(xiàng)目的具體情況而定。不能太多,導(dǎo)致重復(fù)的工作量過(guò)大;也不能太少,使得該方法退化到傳統(tǒng)方法。我們的項(xiàng)目(項(xiàng)目小組在10人左右,開發(fā)時(shí)間在5個(gè)月左右)一般分了四個(gè)階段:架構(gòu)完成、主要功能完成、其他功能完成、整合發(fā)行。實(shí)踐證明,這樣的實(shí)施比傳統(tǒng)方法確實(shí)在很大程度上減小了項(xiàng)目失敗的風(fēng)險(xiǎn),再?zèng)]有產(chǎn)生那種“似乎永遠(yuǎn)也做不完的感覺(jué)”。項(xiàng)目管理者聯(lián)盟文章

這里舉一個(gè)具體例子來(lái)更形象的說(shuō)明該方法的運(yùn)用。一個(gè)一般的MIS程序,第一階段可以構(gòu)建數(shù)據(jù)庫(kù)結(jié)構(gòu)和基于特定領(lǐng)域的核心平臺(tái)服務(wù)(包括一些基本服務(wù)類),并進(jìn)行初步整合;第二階段可并行同時(shí)開發(fā)系統(tǒng)各大模塊的基本功能,并進(jìn)行第二次整合;第三階段可開發(fā)其他增強(qiáng)功能,也需要相應(yīng)的功能整合;第四階段進(jìn)行整個(gè)系統(tǒng)的后整合,并可進(jìn)行相應(yīng)的性能改進(jìn),使產(chǎn)品進(jìn)入可發(fā)行狀態(tài)。

上一頁(yè)12345下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd