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

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

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

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

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

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

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

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

3.2.3開發(fā)計劃

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

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

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

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

3.2.4開發(fā)過程

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

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

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

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

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

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

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

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