時(shí)間:2023-03-07 14:58:19
序論:好文章的創(chuàng)作是一個(gè)不斷探索和完善的過程,我們?yōu)槟扑]十篇軟件開發(fā)項(xiàng)目總結(jié)范例,希望它們能助您一臂之力,提升您的閱讀品質(zhì),帶來更深刻的閱讀感受。
軟件公司開發(fā)項(xiàng)目的是軟件開發(fā)公司的實(shí)際經(jīng)營(yíng)活動(dòng),項(xiàng)目的實(shí)際成果直接影響企業(yè)的持續(xù)健康發(fā)展。在實(shí)際的軟件開發(fā)項(xiàng)目進(jìn)行的過程中,成本是影響項(xiàng)目經(jīng)濟(jì)效益的重要因素。與此同時(shí),軟件開發(fā)行業(yè)間的市場(chǎng)競(jìng)爭(zhēng)日益激烈。這也就使得軟件開發(fā)企業(yè)需要迫切的進(jìn)行開發(fā)項(xiàng)目的成本核算??茖W(xué)合理的成本核算,有效的成本控制策略,能夠有效的降低軟件開發(fā)項(xiàng)目的成本,從而保障軟件開發(fā)企業(yè)的經(jīng)營(yíng)成本。在對(duì)軟件開發(fā)項(xiàng)目的成本核算時(shí),需要合理的對(duì)軟件開發(fā)的全過程成本進(jìn)行核算,準(zhǔn)確的對(duì)項(xiàng)目的開展?fàn)顩r進(jìn)行評(píng)估,確保項(xiàng)目的進(jìn)度和收益,從而增加軟件開發(fā)企業(yè)的競(jìng)爭(zhēng)力,增加軟件開發(fā)公司的市場(chǎng)份額,促進(jìn)軟件開發(fā)公司的持續(xù)健康發(fā)展。
一、軟件開發(fā)項(xiàng)目成本核算內(nèi)容
現(xiàn)階段,軟件開發(fā)項(xiàng)目的成本核算內(nèi)容主要分為直接成本和間接成本。軟件開發(fā)項(xiàng)目的直接成本主要包括項(xiàng)目在實(shí)際的開發(fā)過程中的人工費(fèi)用和材料費(fèi)用、各類直接消費(fèi)。軟件開發(fā)項(xiàng)目的間接成本是各項(xiàng)非直接費(fèi)用的綜合,主要有管理費(fèi)用、員工福利、各類保險(xiǎn)等。在進(jìn)行軟件開發(fā)項(xiàng)目成本核算時(shí),需要對(duì)軟件開發(fā)項(xiàng)目的全過程進(jìn)行成本核算。其中在進(jìn)行項(xiàng)目立項(xiàng)和招投標(biāo)階段,需要對(duì)項(xiàng)目的實(shí)際情況:材料、工時(shí)、工作量、交貨期的相關(guān)情況進(jìn)行實(shí)際分析,此外,和需要有效的對(duì)相關(guān)合同款項(xiàng)進(jìn)行審核,避免在軟件開發(fā)項(xiàng)目中,相關(guān)合同條款不清晰,給軟件開發(fā)企業(yè)帶來成本增加。在項(xiàng)目的執(zhí)行過程中,先量化項(xiàng)目,項(xiàng)目進(jìn)度與動(dòng)態(tài)成本控制,成本偏差與進(jìn)度偏差,項(xiàng)目預(yù)算與項(xiàng)目實(shí)際執(zhí)行每月比較,并關(guān)注項(xiàng)目的關(guān)鍵點(diǎn)和瓶頸,并合理的進(jìn)行風(fēng)險(xiǎn)評(píng)估。最后進(jìn)行項(xiàng)目的審核,完成項(xiàng)目收尾。
二、軟件開發(fā)項(xiàng)目全過程成本核算
(一)項(xiàng)目立項(xiàng)和投標(biāo)階段
相關(guān)成本核算人員需要實(shí)際的清晰軟件開發(fā)的具體情況,并合理的配合相關(guān)預(yù)算人員合理的進(jìn)行成本預(yù)算,從而促進(jìn)軟件開發(fā)項(xiàng)目的成本核算。在實(shí)際的項(xiàng)目立項(xiàng)和投標(biāo)階段,成本核算人員需要對(duì)軟件開發(fā)項(xiàng)目的材料、工時(shí)、控制點(diǎn)(工作量)、交貨期等內(nèi)容進(jìn)行科學(xué)有效的分析,從而便于成本核算的真實(shí)性和有效性。此外,還需要進(jìn)行嚴(yán)格的合同審核工作。在進(jìn)行合同審核時(shí),不但需要對(duì)公司自身的先關(guān)條款進(jìn)行審核,還需要對(duì)對(duì)方的條款進(jìn)行有效的審核。并對(duì)合同的相關(guān)權(quán)利和義務(wù)、責(zé)任進(jìn)行有效的分析和明了,避免責(zé)任不清的情況發(fā)生。同時(shí),還需要對(duì)合同中的文字、字面表達(dá)、相關(guān)條款是否完備。還需要注意合同的簽訂手續(xù)是否完備,并結(jié)合《合同法》的相關(guān)內(nèi)容,對(duì)合同的風(fēng)險(xiǎn)防范措施進(jìn)行優(yōu)化,從而避免合同糾紛的發(fā)生,避免軟件開發(fā)企業(yè)的不必要成本。
(二)項(xiàng)目的風(fēng)險(xiǎn)控制
項(xiàng)目的風(fēng)險(xiǎn)控制是確保軟件開發(fā)項(xiàng)目進(jìn)行的重要工作,是避免不合理之處發(fā)生的重要工作。首先,在實(shí)際的風(fēng)險(xiǎn)控制中,需要注意公司的外匯風(fēng)險(xiǎn)控制,合理的對(duì)國(guó)際市場(chǎng)外匯走勢(shì)進(jìn)行分析,合理的進(jìn)行事前、事中、事后控制,避免經(jīng)營(yíng)外匯風(fēng)險(xiǎn)的發(fā)生。其次,有效的對(duì)技術(shù)風(fēng)險(xiǎn)進(jìn)行規(guī)避和控制,制定有效的人才留住措施,避免人才的流失,科學(xué)合理的對(duì)相關(guān)技術(shù)人員進(jìn)行培訓(xùn),合理的對(duì)新的領(lǐng)域進(jìn)行邁進(jìn),客觀公正的對(duì)新技術(shù)和新開發(fā)方案進(jìn)行評(píng)價(jià),從而有效的控制技術(shù)風(fēng)險(xiǎn)的發(fā)生。再者,安全風(fēng)險(xiǎn)是影響軟件開發(fā)公司的重要因素,一旦開發(fā)方案泄漏,避免會(huì)造成整個(gè)項(xiàng)目處于停滯階段,影響項(xiàng)目的交貨期,并造成大量的成本流失。因此,需要采取科學(xué)有效的保密措施,并合理的進(jìn)行知識(shí)產(chǎn)權(quán)保護(hù),規(guī)避安全風(fēng)險(xiǎn)的發(fā)生,從而有效的降低不合理的成本支出。
軟件開發(fā)企業(yè)需要建立有效的風(fēng)險(xiǎn)控制措施,并規(guī)范風(fēng)險(xiǎn)控制管理過程中,合理的進(jìn)行風(fēng)險(xiǎn)識(shí)別、風(fēng)險(xiǎn)分析、風(fēng)險(xiǎn)計(jì)劃,風(fēng)險(xiǎn)控制等等,從而有效的實(shí)現(xiàn)風(fēng)險(xiǎn)控制,避免軟件開發(fā)企業(yè)不合理的成本的發(fā)生。
(三)項(xiàng)目執(zhí)行階段
在項(xiàng)目的執(zhí)行過程中,需要合理的對(duì)項(xiàng)目的料工費(fèi)進(jìn)行分析與核算。對(duì)直接人工成本和間接人工成本進(jìn)行核算,并有效的結(jié)合材料費(fèi)。直接人工成本主要是將參與項(xiàng)目執(zhí)行人員的工時(shí)進(jìn)行整合,并結(jié)合項(xiàng)目人員的工資情況,將參與項(xiàng)目人員的總的人工成本進(jìn)行累加,從而得到項(xiàng)目的直接成本。而間接人工成本的構(gòu)成較為復(fù)雜,也就使得間接成本核算工作較為困難。在進(jìn)行間接成本核算時(shí),需要將參與項(xiàng)目開發(fā)員工的福利、各類保險(xiǎn)、培訓(xùn)費(fèi)用等納入到成本核算中。材料費(fèi)用是項(xiàng)目研發(fā)過程中的實(shí)際消耗的材料費(fèi)用,是直接成本。對(duì)于其他間接成本也需要有效的進(jìn)行記錄與核算,從而有效的完成軟件開發(fā)項(xiàng)目的成本核算。
項(xiàng)目進(jìn)度與動(dòng)態(tài)成本控制,在實(shí)際的軟件開發(fā)項(xiàng)目執(zhí)行過程中,項(xiàng)目的進(jìn)度與動(dòng)態(tài)成本控制是成本核算中的重要組成部分?,F(xiàn)階段,軟件開發(fā)行業(yè)間的競(jìng)爭(zhēng)日益激勵(lì),這也就使得軟件開發(fā)企業(yè)需要合理的控制項(xiàng)目進(jìn)度,避免出現(xiàn)交貨期到不能實(shí)現(xiàn)項(xiàng)目提交的情況,在保證項(xiàng)目質(zhì)量的基礎(chǔ)上,有效的縮短工期,從而提升企業(yè)的競(jìng)爭(zhēng)力。在有效的控制項(xiàng)目進(jìn)度的基礎(chǔ)上,有效的展開動(dòng)態(tài)成本控制,從而降低項(xiàng)目執(zhí)行階段的成本,實(shí)現(xiàn)企業(yè)的持續(xù)健康發(fā)展。
成本偏差與進(jìn)度偏差,項(xiàng)目預(yù)算與項(xiàng)目實(shí)際執(zhí)行每月比較,合理的對(duì)成本偏差與進(jìn)度偏差的分析。在進(jìn)行項(xiàng)目預(yù)算與項(xiàng)目實(shí)際執(zhí)行進(jìn)比較,其主要比較內(nèi)容包括:預(yù)算完工與實(shí)際完工,預(yù)算利潤(rùn)與實(shí)際利潤(rùn),預(yù)算材料與實(shí)際材料,預(yù)算工時(shí)與實(shí)際工時(shí)。
關(guān)注項(xiàng)目的關(guān)鍵點(diǎn)和瓶頸,控制不好的差異,針對(duì)項(xiàng)目的關(guān)鍵點(diǎn)進(jìn)行有效的分析,針對(duì)項(xiàng)目中的關(guān)鍵點(diǎn),進(jìn)行科學(xué)的成本核算,有效的控制項(xiàng)目中不好的差異,從而有效的提高軟件開發(fā)項(xiàng)目的成本核算的效果。
(四)項(xiàng)目收尾階段
在實(shí)際的軟件開發(fā)項(xiàng)目收尾階段,需要合理的對(duì)整個(gè)項(xiàng)目的成本進(jìn)行系統(tǒng)的整合,并最終與初始的預(yù)算進(jìn)行比較。并針對(duì)項(xiàng)目中不合理的成本支出進(jìn)行有效的分析,并做好相關(guān)的預(yù)案避免下次項(xiàng)目再次出現(xiàn)。還需要對(duì)項(xiàng)目的工期,施工進(jìn)度、暫停等內(nèi)容進(jìn)行總結(jié),并有效的總結(jié)項(xiàng)目全過程的成本構(gòu)成,合理分析期間的成本核算的不足之處,有效的促進(jìn)整個(gè)項(xiàng)目的順利完成,實(shí)現(xiàn)軟件開發(fā)企業(yè)的持續(xù)健康發(fā)展。
三、結(jié)束語(yǔ)
進(jìn)入21世紀(jì)后,伴隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,各種智能終端設(shè)備逐漸興起,也使得人們對(duì)于軟件的需求達(dá)到了一個(gè)前所未有的高度,推動(dòng)了我國(guó)軟件產(chǎn)業(yè)的發(fā)展。而在軟件開發(fā)過程中,需要切實(shí)做好項(xiàng)目管理工作,提升管理水平,才能夠促進(jìn)我國(guó)軟件產(chǎn)業(yè)的進(jìn)一步發(fā)展壯大。
一、軟件開發(fā)與項(xiàng)目管理
簡(jiǎn)單來講,軟件開發(fā)就是依照客戶的需求,構(gòu)建軟件系統(tǒng)或者系統(tǒng)中的軟件部分,其是一項(xiàng)包括了需求捕捉、需求分析、設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試的系統(tǒng)工程,需要借助某種本程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)。軟件開發(fā)的主要流程包括:需求分析、總體設(shè)計(jì)、細(xì)部設(shè)計(jì)、編碼、單元測(cè)試、綜合測(cè)試、運(yùn)行以及維護(hù)。項(xiàng)目管理則是指在一定的約束條件下,為了實(shí)現(xiàn)某個(gè)特定的目標(biāo),依照項(xiàng)目自身的內(nèi)在邏輯規(guī)律所進(jìn)行的系統(tǒng)管理活動(dòng)。相對(duì)于軟件開發(fā)而言,項(xiàng)目管理需要遵循幾個(gè)基本的原則,一是依照分階段的生命周期計(jì)劃,進(jìn)行嚴(yán)格管理;二是做好相應(yīng)的階段性評(píng)審;三是重視產(chǎn)品控制;四是應(yīng)用現(xiàn)代程序設(shè)計(jì)技術(shù);五是確保開發(fā)人員的專業(yè)素質(zhì)較高,同時(shí)對(duì)人數(shù)進(jìn)行控制;六是必須能夠?qū)Y(jié)構(gòu)進(jìn)行清晰地審查;七是必須承認(rèn)軟件工程實(shí)踐持續(xù)改進(jìn)的必要性[1]。
二、基于軟件開發(fā)的項(xiàng)目管理實(shí)踐
以智能手機(jī)系統(tǒng)為平臺(tái),針對(duì)手機(jī)軟件開發(fā)的項(xiàng)目管理實(shí)踐進(jìn)行簡(jiǎn)要分析和討論。
2.1需求分析
需求分析是軟件開發(fā)的基礎(chǔ)與前提,能夠獲取和記錄系統(tǒng)需求,確??蛻襞c項(xiàng)目團(tuán)隊(duì)在系統(tǒng)需求變更上的一致性,避免軟件開發(fā)過程中不必要的彎路。需求分析法包括了用戶問卷調(diào)查、研討會(huì)以及原型展示等,需要安排專人做好相應(yīng)的記錄工作,并及時(shí)對(duì)其進(jìn)行總結(jié)和歸納,做好應(yīng)對(duì)策略。在該項(xiàng)目中,軟件需要滿足的需求包括:適用于主流手機(jī)操作平臺(tái),充分考慮不同硬件配置以及操作系統(tǒng)版本的兼容性;可以跨平臺(tái)運(yùn)行,同時(shí)不需要占用過多的系統(tǒng)資源;確保數(shù)據(jù)連接的速率以及操作的流暢性等。
2.2設(shè)計(jì)編碼
系統(tǒng)設(shè)計(jì)包括了總體設(shè)計(jì)和細(xì)部設(shè)計(jì)兩個(gè)不同的階段,其中,總體設(shè)計(jì)應(yīng)該大致規(guī)劃出軟件的功能模塊,做好相應(yīng)的功能分區(qū),并對(duì)其進(jìn)行初步的設(shè)計(jì)分析,細(xì)部設(shè)計(jì)則需要給出每一個(gè)功能模塊的控制流程、算法以及數(shù)據(jù)結(jié)構(gòu)等,確保每一個(gè)模塊都有不同的層次。對(duì)于一些難度較大、涉及面較廣的模塊,可以交給一些經(jīng)驗(yàn)豐富、心細(xì)縝密的技術(shù)人員完成,并做好模塊的測(cè)試與修改,保證其穩(wěn)定可靠,盡可能降低風(fēng)險(xiǎn)與成本[2]。
設(shè)計(jì)完成后,需要進(jìn)行編碼工作,采用代碼版本管理工具SVN,以確保各個(gè)子系統(tǒng)的功能都能夠得到最大限度的發(fā)揮,實(shí)現(xiàn)系統(tǒng)之間的功能互補(bǔ),從而降低軟件開發(fā)的風(fēng)險(xiǎn)和難度,提高軟件過程的跟蹤率。
2.3測(cè)試運(yùn)行
軟件測(cè)試并非單純的某個(gè)環(huán)節(jié),而是貫穿于整個(gè)軟件開發(fā)項(xiàng)目中,制定出詳細(xì)全面的測(cè)試計(jì)劃,并對(duì)測(cè)試用例進(jìn)行用心編寫。軟件中的每一個(gè)子模塊都應(yīng)該由編程人員之外的技術(shù)人員進(jìn)行反復(fù)測(cè)試,同時(shí)對(duì)測(cè)試過程中出現(xiàn)的問題進(jìn)行記錄,提出相應(yīng)的修改意見,由相應(yīng)的編程人員進(jìn)行修改。在對(duì)測(cè)試用例進(jìn)行編寫時(shí),需要對(duì)測(cè)試目標(biāo)、測(cè)試環(huán)境、測(cè)試步驟、預(yù)期結(jié)果等進(jìn)行記錄,形成具有代表性的數(shù)據(jù)信息。在測(cè)試完成后,需要首先在小范圍內(nèi),對(duì)軟件的子模塊進(jìn)行試運(yùn)行,確認(rèn)無(wú)誤后再對(duì)軟件整體進(jìn)行試運(yùn)行,結(jié)合運(yùn)行反饋結(jié)果,評(píng)估軟件的可靠性,采取相應(yīng)的完善措施。試運(yùn)行成功后,需要編寫相應(yīng)的用戶手冊(cè),制作視頻說明,幫助用戶了解和使用軟件,同時(shí)標(biāo)注聯(lián)系方式,方便用戶進(jìn)行反饋。
2.4后期管理
在系統(tǒng)安裝試用一段時(shí)間,具備相應(yīng)的驗(yàn)收條件后,需要進(jìn)行驗(yàn)收準(zhǔn)備工作,對(duì)之前的工作進(jìn)行總結(jié),列出工作成果和相應(yīng)的文檔,審查相關(guān)技術(shù)文檔中的內(nèi)容和信息。應(yīng)該對(duì)系統(tǒng)當(dāng)前的完成狀況進(jìn)行明確,對(duì)于尚未完成的部分,應(yīng)該采取有效策略去完成,或者設(shè)置相應(yīng)的回避措施,確??蛻粼隍?yàn)收時(shí)不會(huì)提出這些未實(shí)現(xiàn)的需求。在交付使用后,需要做好軟件維護(hù)工作,結(jié)合需求變化或者硬件環(huán)境變化對(duì)程序進(jìn)行修改,確保其具備良好的實(shí)用性和適用性[3]。
三、結(jié)語(yǔ)
綜上所述,軟件開發(fā)項(xiàng)目管理與一般的項(xiàng)目管理存在著很大的差別,需要相關(guān)技術(shù)人員結(jié)合軟件開發(fā)的具體流程,做好全過程管理,保證管理效果,在完成預(yù)定功能目標(biāo)的基礎(chǔ)上,提升軟件的可靠性與安全性,確保軟件的有效應(yīng)用。
參 考 文 獻(xiàn)
0引言
風(fēng)險(xiǎn)無(wú)處不在,它在任何軟件開發(fā)項(xiàng)目中都有可能發(fā)生。風(fēng)險(xiǎn)有幾種形式:自然災(zāi)害、安全漏洞、人力資源缺失、第三方供應(yīng)商問題、金融危機(jī)、不穩(wěn)定的商業(yè)環(huán)境和項(xiàng)目失敗。因此,在進(jìn)行軟件開發(fā)前,工程師應(yīng)該制定一個(gè)風(fēng)險(xiǎn)管理計(jì)劃。該計(jì)劃涉及風(fēng)險(xiǎn)評(píng)估和風(fēng)險(xiǎn)控制,工程師應(yīng)列出軟件開發(fā)過程中可能發(fā)生的問題,并列出這些問題的解決方案。這樣,即使軟件開發(fā)過程中遇到問題,風(fēng)險(xiǎn)管理可以幫助把有害影響最小化,從而避免軟件開發(fā)項(xiàng)目的失敗。然而,并不是每個(gè)人都關(guān)注風(fēng)險(xiǎn)管理,人們也很容易忽視風(fēng)險(xiǎn)管理的影響。實(shí)際上,風(fēng)險(xiǎn)管理對(duì)于軟件開發(fā)項(xiàng)目非常重要,因?yàn)轱L(fēng)險(xiǎn)是影響項(xiàng)目成功的重要因素。因此,本文試圖通過對(duì)文獻(xiàn)的分析,找出一些有效的風(fēng)險(xiǎn)管理方法,讓開發(fā)人員了解風(fēng)險(xiǎn)管理的意義。
1文獻(xiàn)綜述
風(fēng)險(xiǎn)管理是項(xiàng)目成敗的關(guān)鍵因素,也是項(xiàng)目管理的本質(zhì)。因?yàn)轱L(fēng)險(xiǎn)管理可以幫助開發(fā)人員發(fā)現(xiàn)項(xiàng)目的威脅,并將其最小化(Alhawarietal.,2012)。此外,成功的風(fēng)險(xiǎn)管理可以幫助項(xiàng)目經(jīng)理按時(shí)交付項(xiàng)目(Grantetal.,2006)。有效的風(fēng)險(xiǎn)管理需要找到風(fēng)險(xiǎn),而不是否認(rèn)風(fēng)險(xiǎn)、隱藏風(fēng)險(xiǎn)(GrayandLarson,2008)。風(fēng)險(xiǎn)管理有五個(gè)主要階段,即風(fēng)險(xiǎn)規(guī)劃、風(fēng)險(xiǎn)識(shí)別、風(fēng)險(xiǎn)評(píng)估、風(fēng)險(xiǎn)響應(yīng)、風(fēng)險(xiǎn)監(jiān)控與溝通(Lester,2014)。項(xiàng)目團(tuán)隊(duì)?wèi)?yīng)該關(guān)注風(fēng)險(xiǎn)響應(yīng)、監(jiān)控和溝通。響應(yīng)意味著控制,它指的是制定一個(gè)風(fēng)險(xiǎn)管理計(jì)劃,將風(fēng)險(xiǎn)識(shí)別并按級(jí)別排序。監(jiān)控包括標(biāo)記一個(gè)已知的可能發(fā)生的風(fēng)險(xiǎn),并改變?cè)擄L(fēng)險(xiǎn)的可能性。溝通包括讓項(xiàng)目團(tuán)隊(duì)中的所有人都知道風(fēng)險(xiǎn)管理的結(jié)果。風(fēng)險(xiǎn)響應(yīng)、監(jiān)控和溝通對(duì)于風(fēng)險(xiǎn)管理過程是必要的。項(xiàng)目團(tuán)隊(duì)聚在一起討論并制定最新的風(fēng)險(xiǎn)管理計(jì)劃,能提高按時(shí)完成項(xiàng)目的機(jī)會(huì)。Otniel、Nicolae、Claudiu(2012)提出通過對(duì)軟件開發(fā)項(xiàng)目的分析,發(fā)現(xiàn)項(xiàng)目管理的本質(zhì)是風(fēng)險(xiǎn)管理,而風(fēng)險(xiǎn)管理的方法有多種,最有價(jià)值的方法是評(píng)估方法和管理方法。評(píng)估方法將風(fēng)險(xiǎn)管理視為事后評(píng)估過程,該方法旨在找出導(dǎo)致項(xiàng)目失敗的原因。
2分析
2.1風(fēng)險(xiǎn)管理的意義
風(fēng)險(xiǎn)管理是項(xiàng)目管理過程的關(guān)鍵因素之一。有些風(fēng)險(xiǎn)是不可避免的,但風(fēng)險(xiǎn)管理可以解決問題。風(fēng)險(xiǎn)管理的主要功能是,如果在項(xiàng)目開發(fā)過程中發(fā)生較大的風(fēng)險(xiǎn),風(fēng)險(xiǎn)管理將有助于控制風(fēng)險(xiǎn),減少對(duì)項(xiàng)目的負(fù)面影響,以避免項(xiàng)目失敗。它還可以幫助項(xiàng)目團(tuán)隊(duì)按時(shí)完成項(xiàng)目。然而,有些人認(rèn)為在軟件開發(fā)項(xiàng)目的過程中進(jìn)行風(fēng)險(xiǎn)管理是浪費(fèi)時(shí)間和不必要的。我不同意他們的觀點(diǎn),因?yàn)轱L(fēng)險(xiǎn)是影響軟件開發(fā)項(xiàng)目成功的一個(gè)重要因素,有效的風(fēng)險(xiǎn)管理可以處理風(fēng)險(xiǎn),而不是讓項(xiàng)目一定成功。
2.2軟件開發(fā)項(xiàng)目中風(fēng)險(xiǎn)管理的基本步驟
軟件開發(fā)項(xiàng)目中風(fēng)險(xiǎn)管理有五個(gè)主要步驟。首先,開發(fā)團(tuán)隊(duì)?wèi)?yīng)該制定風(fēng)險(xiǎn)計(jì)劃,在風(fēng)險(xiǎn)管理過程中準(zhǔn)備好所有的事情,例如定義項(xiàng)目經(jīng)理和項(xiàng)目團(tuán)隊(duì)成員的角色和職責(zé)。下一步是識(shí)別和分類風(fēng)險(xiǎn),然后在軟件開發(fā)項(xiàng)目中標(biāo)記這些風(fēng)險(xiǎn)。在此之后是風(fēng)險(xiǎn)評(píng)估,它與風(fēng)險(xiǎn)分析類似,項(xiàng)目團(tuán)隊(duì)成員應(yīng)該深入了解風(fēng)險(xiǎn)。風(fēng)險(xiǎn)響應(yīng)是這5個(gè)步驟中最重要的,在這5個(gè)步驟中,軟件開發(fā)的項(xiàng)目團(tuán)隊(duì)成員應(yīng)該找到應(yīng)對(duì)風(fēng)險(xiǎn)的解決方案。最后是風(fēng)險(xiǎn)監(jiān)控和溝通步驟,這一步意味著對(duì)風(fēng)險(xiǎn)進(jìn)行溝通和報(bào)告,讓所有開發(fā)項(xiàng)目團(tuán)隊(duì)成員了解關(guān)于風(fēng)險(xiǎn)管理過程的最新信息。
3風(fēng)險(xiǎn)管理的兩種有效方法
軟件項(xiàng)目管理是指工作人員在軟件開發(fā)的全過程中通過引入科學(xué)的管理達(dá)到降低成本、保證產(chǎn)品質(zhì)量和提高設(shè)計(jì)生產(chǎn)進(jìn)度的目的。在實(shí)施軟件項(xiàng)目管理的過程中,相關(guān)工作人員首先需要清除項(xiàng)目的根本任務(wù),保證軟件開發(fā)在分析、設(shè)計(jì)、編碼到測(cè)試的全過程中可以在管理者的控制下順利進(jìn)行。軟件項(xiàng)目管理具有其自身的特點(diǎn),目前常用的項(xiàng)目管理方法多是從原有的例子中總結(jié)經(jīng)驗(yàn),這就要求項(xiàng)目管理者不斷總結(jié)實(shí)際項(xiàng)目中的方式方法,掌握軟件項(xiàng)目管理的理論模型和科學(xué)方法,保證軟件開發(fā)項(xiàng)目的順利進(jìn)行。
1軟件項(xiàng)目管理的質(zhì)量控制
1.1軟件質(zhì)量概述
對(duì)軟件質(zhì)量的定義與傳統(tǒng)意義上的質(zhì)量概念相同,但同時(shí)為了提高項(xiàng)目管理中的實(shí)用意義,通常會(huì)根據(jù)軟件開發(fā)的特性進(jìn)行調(diào)整。簡(jiǎn)單來說,軟件質(zhì)量可以定義為“無(wú)缺陷”的達(dá)到軟件開發(fā)前期的預(yù)想功能,但軟件開發(fā)企業(yè)通常將客戶需求作為軟件開發(fā)的基礎(chǔ)要求,因此軟件開發(fā)企業(yè)對(duì)質(zhì)量的定義需要進(jìn)一步擴(kuò)展,需要根據(jù)客戶的需求來制定本軟件開發(fā)項(xiàng)目的質(zhì)量。軟件在開發(fā)的過程中必須要滿足用戶的需求,作為一項(xiàng)復(fù)雜的系統(tǒng)性工程,為了滿足軟件開發(fā)過程中各項(xiàng)定義和性能需求,就需要建立符合文檔化的開發(fā)標(biāo)準(zhǔn),并相應(yīng)的設(shè)計(jì)出符合本項(xiàng)目的質(zhì)量特性及組合,當(dāng)產(chǎn)品在驗(yàn)收的過程中都能滿足這些質(zhì)量特性時(shí),就證明該軟件產(chǎn)量質(zhì)量較高。
1.2軟件項(xiàng)目管理的質(zhì)量保證概述
保證軟件項(xiàng)目管理質(zhì)量是實(shí)現(xiàn)軟件開發(fā)順利實(shí)施的前提,目前,加強(qiáng)軟件項(xiàng)目管理主要可以從兩個(gè)方面進(jìn)行把控:①軟件開發(fā)項(xiàng)目立足于客戶驅(qū)動(dòng),需要注意復(fù)審和校核方法的一致性,在這過程中需要通過制定一種客觀的標(biāo)準(zhǔn)來校驗(yàn)軟件開發(fā)過程及其工作成果的質(zhì)量,通常情況下軟件質(zhì)量標(biāo)準(zhǔn)由質(zhì)量保證小組完成。②軟件項(xiàng)目的質(zhì)量保證需要樹立管理者驅(qū)動(dòng)的觀點(diǎn),在這過程中清楚的認(rèn)識(shí)到通過何種措施可以提高產(chǎn)品質(zhì)量,并需要建立何種管理和控制機(jī)制才能確保這些措施的順利執(zhí)行,它必需要包括項(xiàng)目所需要的質(zhì)量特性、可實(shí)現(xiàn)的質(zhì)量要求以及可顯示的已達(dá)到的質(zhì)量要求。
1.3軟件項(xiàng)目管理的質(zhì)量保證研究
軟件的質(zhì)量保證,是貫穿在軟件開發(fā)全過程中且具有獨(dú)立特性的第三方審查活動(dòng),在軟件項(xiàng)目管理的過程中起到重要的作用。由于質(zhì)量保證措施在軟件開發(fā)行業(yè)引入時(shí)間較短,因此很多軟件企業(yè)并沒有建立與軟件項(xiàng)目相配套的管理人員和工作方法,完整的軟件質(zhì)量保證體系還并未在軟件開發(fā)行業(yè)中建立起來。軟件質(zhì)量保證通過引入第三方的角度來監(jiān)控軟件開發(fā)的執(zhí)行情況,檢測(cè)軟件開發(fā)項(xiàng)目是否遵循既定的開發(fā)計(jì)劃,管理層可以通過對(duì)反映產(chǎn)品和過程質(zhì)量的信息和數(shù)據(jù)審查,及時(shí)調(diào)整軟件開發(fā)的方案和進(jìn)程,保證軟件可以滿足評(píng)審和測(cè)試需要,最后實(shí)現(xiàn)企業(yè)可以開發(fā)出具有高質(zhì)量的軟件產(chǎn)品。
2軟件項(xiàng)目管理控制方法的基本原則
2.1注重項(xiàng)目開發(fā)過程中的層次性
軟件開發(fā)根據(jù)項(xiàng)目的不同具有很大的差異性,根據(jù)軟件設(shè)計(jì)的層次階段不同可將軟件項(xiàng)目計(jì)劃分為高級(jí)計(jì)劃、階段計(jì)劃和低級(jí)計(jì)劃。在軟件項(xiàng)目的前期需要對(duì)項(xiàng)目進(jìn)行階段的劃分,這種計(jì)劃稱為早期計(jì)劃,這時(shí)需要對(duì)人、財(cái)、物三個(gè)要素進(jìn)行劃分。在進(jìn)行不同階段交替的過程中,需要對(duì)下一階段進(jìn)行提前的規(guī)劃部署,通常稱作階段計(jì)劃。在階段計(jì)劃中需要明確各項(xiàng)目的負(fù)責(zé)人、起始時(shí)間節(jié)點(diǎn)、設(shè)備資源以及各個(gè)子任務(wù)之間的依賴關(guān)系等。低級(jí)計(jì)劃是指軟件開發(fā)人員的個(gè)人計(jì)劃,這部分通常由開發(fā)人員根據(jù)自身的實(shí)際工作情況進(jìn)行制定。在實(shí)際的軟件開發(fā)過程中通??梢苑譃?個(gè)級(jí)別,而較小的軟件項(xiàng)目也會(huì)分為2個(gè)級(jí)別,因此在進(jìn)行軟件項(xiàng)目管理的過程中需要注意開發(fā)過程中的層次性。
2.2注重運(yùn)用過程化的思想指導(dǎo)開發(fā)
能力成熟模型是目前軟件開發(fā)項(xiàng)目中廣泛使用的方法,其核心思想就是將軟件開發(fā)看做為一個(gè)過程,因此在軟件項(xiàng)目中運(yùn)用過程化的思想指導(dǎo)開發(fā),可以保證軟件開發(fā)更加科學(xué)化、標(biāo)準(zhǔn)化,企業(yè)能夠更好地實(shí)現(xiàn)商業(yè)目標(biāo)。能力成熟模型定義了包括初始級(jí)、可重復(fù)級(jí)、已定義級(jí)、已定量管理級(jí)、優(yōu)化級(jí)在內(nèi)的五個(gè)等級(jí),當(dāng)軟件開發(fā)進(jìn)入到可重復(fù)級(jí)時(shí),這時(shí)就可以認(rèn)為該軟件項(xiàng)目具備了基本的控制能力。當(dāng)一個(gè)項(xiàng)目成功后,即可認(rèn)為下一個(gè)項(xiàng)目也可以成功。通常情況下,在項(xiàng)目實(shí)施的過程中需要根據(jù)項(xiàng)目的實(shí)際運(yùn)行情況對(duì)項(xiàng)目計(jì)劃進(jìn)行修改,對(duì)重新策劃的內(nèi)容都包含在可重復(fù)級(jí)中。目前,大部分的軟件開發(fā)公司都難以達(dá)到能力成熟模型可重復(fù)級(jí),但也要樹立過程化的思想來保證軟件開發(fā)的順利完成。
2.3注重歷史數(shù)據(jù)的運(yùn)用和積累
軟件開發(fā)通常情況下是對(duì)未知項(xiàng)目的創(chuàng)新,因此很多項(xiàng)目在研發(fā)初期對(duì)需求不能清晰理清,但高質(zhì)量的項(xiàng)目運(yùn)作必須建立在對(duì)需求的準(zhǔn)確把握上,因此在進(jìn)行軟件項(xiàng)目管理時(shí)首先就需要把模糊的需求盡量準(zhǔn)確化。為了提高軟件項(xiàng)目管理計(jì)劃的準(zhǔn)確性,就要充分利用以往類似項(xiàng)目的歷史數(shù)據(jù),不僅成功的數(shù)據(jù)具有參照價(jià)值,失敗數(shù)據(jù)也同樣具有借鑒價(jià)值,可以根據(jù)這些歷史數(shù)據(jù)彌補(bǔ)開發(fā)前期需求的模糊。通過對(duì)這復(fù)用資源的積累,可以將以往的成功經(jīng)驗(yàn)高效傳承。
3結(jié)束語(yǔ)
隨著社會(huì)經(jīng)濟(jì)的不斷發(fā)展,信息技術(shù)行業(yè)取得了前所未有的成就,但隨著信息技術(shù)的發(fā)展不斷進(jìn)入深水區(qū),社會(huì)各界對(duì)于信息技術(shù)的發(fā)展也提出了更高的需求。隨著軟件開發(fā)不斷趨向復(fù)雜,技術(shù)人員在開發(fā)的過程中面臨著軟件開發(fā)績(jī)效差的問題,為了有效提高軟件開發(fā)的實(shí)際效率,項(xiàng)目管理被人們更多的應(yīng)用到軟件開發(fā)的過程中。
參考文獻(xiàn)
[1]鄧子云.制訂項(xiàng)目計(jì)劃的方法與策略.企業(yè)技術(shù)開發(fā),2004(1):24~26.
[2]白思俊.現(xiàn)代項(xiàng)目管理(上、中、下).北京:機(jī)械工業(yè)出版社,2002:23~37.
近期,我在負(fù)責(zé)的一個(gè)小型軟件開發(fā)過程中忽視了小型軟件項(xiàng)目的特點(diǎn),結(jié)果是麻煩事情特別多,差點(diǎn)兒項(xiàng)目要以失敗告終。但從另一個(gè)角度來看,項(xiàng)目的大與小并沒有本質(zhì)的區(qū)別,很多方法是共通的,但必須要切合實(shí)際來靈活運(yùn)用。本文結(jié)合我在這個(gè)小型軟件開發(fā)項(xiàng)目中得到的經(jīng)驗(yàn)和教訓(xùn),首先分析小型軟件開發(fā)項(xiàng)目中常見的問題,然后提出相應(yīng)的解決辦法。
一.小型軟件開發(fā)項(xiàng)目中常犯的錯(cuò)誤
小型軟件開發(fā)項(xiàng)目一般具有項(xiàng)目需求相對(duì)較少、人員較少、開發(fā)周期較短的特點(diǎn)。因此,小型軟件開發(fā)看起來都比較簡(jiǎn)單,比較容易成功,因而人們往往忽視了小型軟件開發(fā)的管理,其實(shí)這是一種誤解。例如,由于人員較少就分工不明確或由于開發(fā)周期較短就忽視項(xiàng)目計(jì)劃和進(jìn)度表的控制,結(jié)果是經(jīng)常會(huì)出現(xiàn)開發(fā)流程混亂,重編碼輕設(shè)計(jì),甚至到編碼完成后再回頭編寫各種文檔資料等現(xiàn)象。從我這次的開發(fā)經(jīng)驗(yàn)看來,在小型軟件開發(fā)管理中最容易犯以下的錯(cuò)誤:
(1)沒有重視項(xiàng)目計(jì)劃,做一天和尚撞一天鐘
往往由于項(xiàng)目較小,便很草率地制定一個(gè)開發(fā)日程表,也沒有認(rèn)真地估計(jì)項(xiàng)目難度,結(jié)果是實(shí)際完成時(shí)間與估計(jì)完成時(shí)間往往有較大差別。還有人是這樣說計(jì)劃的:"計(jì)劃、計(jì)劃,紙上畫畫,墻上掛掛,計(jì)劃不如變化"。因此,由于觀念的不正確使到計(jì)劃管理經(jīng)常成為空話,特別是在小型軟件開發(fā)中影響計(jì)劃的因素太多時(shí)或加上想省事怕麻煩,結(jié)果計(jì)劃管理就形同虛設(shè)了。
但是,軟件進(jìn)行項(xiàng)目管理的目的就是綜合各種因素,制定合理的計(jì)劃,并通過計(jì)劃的實(shí)施,使其規(guī)范化,從而提高人員效率,降低項(xiàng)目成本。因此,軟件開發(fā)無(wú)論項(xiàng)目大小,其實(shí)都需要計(jì)劃過程。只是對(duì)于小型軟件項(xiàng)目來說,計(jì)劃階段可能切換的很快。例如,有時(shí)候項(xiàng)目負(fù)責(zé)人只是腦海里想一遍就把計(jì)劃確定了。但項(xiàng)目負(fù)責(zé)人必須心里要清楚:有時(shí)候想省事兒,可能反而會(huì)更加費(fèi)事兒。俗語(yǔ)有云:一年之計(jì)在于春、一日之計(jì)在于晨。其意義不是說越早做越好,而是闡述一個(gè)目標(biāo)的實(shí)現(xiàn)需要盡早做規(guī)劃。
(2)沒有完整的開發(fā)文檔,無(wú)意之中增大項(xiàng)目風(fēng)險(xiǎn)
一個(gè)完整的軟件開發(fā)項(xiàng)目應(yīng)包括有相當(dāng)多的相關(guān)文檔:例如項(xiàng)目開發(fā)計(jì)劃、軟件需求說明書、概要設(shè)計(jì)說明書、詳細(xì)設(shè)計(jì)說明書、開發(fā)進(jìn)度月報(bào)、測(cè)試計(jì)劃和開發(fā)總結(jié)報(bào)告等。而在實(shí)際中,許多小型軟件項(xiàng)目只有簡(jiǎn)單的流水帳式的開發(fā)日志。最常見的借口往往是以文檔滯后來解釋文檔的不健全,這似乎沒有什么不妥,而且好象還理直氣壯的。但如果將軟件項(xiàng)目叫做"工程"的話,再將其與建筑工程相比較,那我們也就可以說:大樓有了,圖紙滯后,這是很可笑的。還有許多開發(fā)人員認(rèn)為軟件設(shè)計(jì)已經(jīng)在其腦子里完成了,在其意識(shí)里工作就只是一堆需要敲出來的程序,既然能直接敲得出來,自然沒必要再做寫文檔的重復(fù)工作。
這樣做的結(jié)果使到設(shè)計(jì)思路和實(shí)現(xiàn)細(xì)節(jié)在項(xiàng)目團(tuán)隊(duì)內(nèi)的交流很困難,開發(fā)過程會(huì)由于需要大量嘗試性、重復(fù)性工作而變得緩慢,而且會(huì)出現(xiàn)許多意想不到的大大小小的問題,狼煙四起之時(shí)最重要的工作就變成了"救火"。所以,在小型軟件項(xiàng)目里會(huì)"救火"的技術(shù)人員會(huì)成為大家推崇和依賴的英雄。但這種"救火"式的行為最終結(jié)果卻是項(xiàng)目延期成了普遍現(xiàn)象,產(chǎn)品質(zhì)量也得不到保證。另外,如果這個(gè)英雄半途離開,那沒有任何文檔支持的中間結(jié)果對(duì)其它人來說基本上就是"一堆垃圾"而已,項(xiàng)目被迫中斷就成了家常便飯。
(3)人員沒有技術(shù)分層,職責(zé)不清分工不明
許多小型軟件開發(fā)項(xiàng)目一直采用個(gè)人主義式的開發(fā)方式,決定了規(guī)范化開發(fā)方式的不被認(rèn)可。對(duì)規(guī)范化管理的淡漠,抑制了團(tuán)隊(duì)工作效率的提高,甚至扼殺了其生命。所以,小型軟件項(xiàng)目往往要求主要的項(xiàng)目人員從各個(gè)方面都得是非常出色的,不僅要全面地掌握系統(tǒng)架構(gòu)知識(shí)、具有業(yè)務(wù)分析和系統(tǒng)設(shè)計(jì)能力,而且還得是多種流行開發(fā)工具的專家、數(shù)據(jù)庫(kù)的專家、網(wǎng)絡(luò)配置的專家等,但這樣的全才和通才往往是可遇不可求的。
因此,小型軟件項(xiàng)目更需要做技術(shù)分層,例如系統(tǒng)分析員、需求分析師、程序員、測(cè)試員等。在項(xiàng)目開發(fā)中相應(yīng)的角色必須要有相應(yīng)的專業(yè)人員來?yè)?dān)當(dāng),當(dāng)然可依據(jù)項(xiàng)目規(guī)模大小和現(xiàn)有人員來合理配置。這里強(qiáng)調(diào)技術(shù)結(jié)構(gòu)分層和技術(shù)人員劃分,更多的是技術(shù)責(zé)任的明細(xì),而非具體個(gè)人的技術(shù)定位,將技術(shù)任務(wù)和相應(yīng)的責(zé)任劃分到具體的崗位、將崗位落實(shí)到具體的人,這與具體技術(shù)人員身兼數(shù)職是不矛盾的。
而我們經(jīng)??吹降氖窃谠S多小型軟件開發(fā)過程中,人員職責(zé)不清、分工不明的現(xiàn)象非常嚴(yán)重。有的甚至從調(diào)研到分析、設(shè)計(jì),到開發(fā)、調(diào)試,再到測(cè)試一氣呵成。先不說工作量有多大,僅從項(xiàng)目的風(fēng)險(xiǎn)來說就是非??膳碌?,更不用說最大限度發(fā)揮開發(fā)人員的長(zhǎng)處了。
二.小型軟件實(shí)行項(xiàng)目管理的方法和步驟
為什么小型軟件開發(fā)項(xiàng)目卻會(huì)面臨更多的失敗風(fēng)險(xiǎn)呢?在我所負(fù)責(zé)的項(xiàng)目面臨下馬前的每一個(gè)夜晚,我的腦袋里一直在思考這個(gè)問題。也許是多日思考的沉淀,也許是思緒在不停的四處游蕩后的突發(fā)靈感。使我明白到原來決定小型軟件項(xiàng)目成敗的核心因素,是有沒有堅(jiān)持進(jìn)行實(shí)行項(xiàng)目管理。現(xiàn)總結(jié)為以下幾個(gè)要點(diǎn):
(1)樹立小型軟件開發(fā)也需要項(xiàng)目管理的理念
但凡專業(yè)的軟件開發(fā)人員都學(xué)過《軟件工程》這門課,縱觀這些指導(dǎo)性的理論以及建議。我們應(yīng)該要樹立即使是小型軟件開發(fā)也應(yīng)該在一定程度不要違背開發(fā)理論,必須要遵從于工程化軟件理論的原則和方法,落實(shí)規(guī)范化的管理。否則,失敗的風(fēng)險(xiǎn)將伴隨著整個(gè)開發(fā)過程,而且越到后期失敗的可能性會(huì)越大。
對(duì)小型軟件項(xiàng)目而言,最急需的不是設(shè)計(jì)方法,也非分析方法,當(dāng)然也不是開發(fā)方法,而是管理方法。因此,無(wú)論項(xiàng)目大小都必須要遵循一定的項(xiàng)目管理步驟。
從概念上講,軟件項(xiàng)目管理是為了使軟件開發(fā)能夠按照預(yù)定的成本、進(jìn)度、質(zhì)量順利完成,而對(duì)成本、人員、進(jìn)度、質(zhì)量、風(fēng)險(xiǎn)等進(jìn)行分析和管理的活動(dòng)。實(shí)際上,軟件項(xiàng)目管理的意義不僅僅如此,進(jìn)行軟件項(xiàng)目管理還有利于將"英雄"式的開發(fā)人員的個(gè)人開發(fā)能力轉(zhuǎn)化成團(tuán)隊(duì)的開發(fā)能力,團(tuán)隊(duì)的軟件開發(fā)能力越高,就越能減小項(xiàng)目的開發(fā)風(fēng)險(xiǎn)。
(2)項(xiàng)目需求的確認(rèn)
在軟件開發(fā)中,最重要的活動(dòng)是要明確項(xiàng)目的范圍、需求和提出至少一個(gè)可用的軟件架構(gòu)方案。在明確項(xiàng)目范圍的過程中,不能認(rèn)為是小型軟件開發(fā)項(xiàng)目就馬馬虎虎的、想當(dāng)然的認(rèn)為已經(jīng)了解了客戶的真實(shí)需求。項(xiàng)目經(jīng)理應(yīng)要就項(xiàng)目的邊界、功能、限制條件等與客戶進(jìn)行協(xié)商,并應(yīng)以需求說明書和功能說明書的形式把客戶的需求記錄下來,并且和客戶達(dá)成一致的認(rèn)識(shí)和理解。在此基礎(chǔ)上,再提供至少一個(gè)合適的軟件架構(gòu)方案,并且完成原型系統(tǒng)。原型系統(tǒng)的目的不但是為了驗(yàn)證技術(shù)上的可行性,而且是為了給客戶一個(gè)感性的認(rèn)識(shí),更好地完善對(duì)需求的理解和確認(rèn)。
(3)人員角色的安排和定義
角色定義包括個(gè)人或團(tuán)隊(duì)的行為和職責(zé),包括設(shè)計(jì)人員、編程人員、測(cè)試人員、項(xiàng)目管理人員和輔助人員。比較小的項(xiàng)目往往是幾個(gè)人來完成,這幾個(gè)人基本上從頭到尾參加開發(fā)。而且由于項(xiàng)目小,項(xiàng)目負(fù)責(zé)人除了負(fù)責(zé)分析、設(shè)計(jì)和協(xié)調(diào)的工作外,也要參加編程。但在此過程中必須要合理進(jìn)行人員角色的安排和定義,將技術(shù)任務(wù)和相應(yīng)的責(zé)任劃分到具體的崗位,再將崗位責(zé)任落實(shí)到具體的人身上,避免推卸責(zé)任或由不專業(yè)的人馬虎應(yīng)付了事。例如,一個(gè)人可以同時(shí)擔(dān)當(dāng)幾個(gè)角色,一個(gè)角色也可以由幾個(gè)人來共同承擔(dān),但前提都是要有責(zé)任的、有專業(yè)技能的。
(4)建立合理的開發(fā)流程,注重過程的銜接
一句話形容就是"麻雀雖小,五臟俱全"。也就是說即使是小型軟件的開發(fā),仍然應(yīng)該遵循軟件開發(fā)的一般規(guī)律,必須的步驟和合理的開發(fā)流程還是不能省略。不但要建立合理的開發(fā)流程,而且還要注重分析與設(shè)計(jì)過程的銜接。當(dāng)然,小軟件項(xiàng)目也有它自身的一些特點(diǎn),實(shí)行起來可以相對(duì)靈活些。
例如:①要強(qiáng)調(diào)協(xié)調(diào)幾個(gè)人的工作比某一開發(fā)人員完成一段編碼更重要。因?yàn)樵趨f(xié)調(diào)上出了漏洞,就可能導(dǎo)致很大的問題。②是給每個(gè)開發(fā)人員要有明確的任務(wù)書,也就是說每個(gè)開發(fā)人員必須非常明確自己的任務(wù),而且這些任務(wù)是采用文檔來表示。③是要讓每個(gè)開發(fā)人員都清楚自己所做的工作在整個(gè)系統(tǒng)中處于什么地位,避免各人的代碼編寫完畢之后又要重復(fù)修改。
(5)重視文檔化過程
在小型軟件項(xiàng)目中有兩個(gè)特點(diǎn):①是由于人員少,意味著不同人員的程序之間交互、接口相對(duì)少一些;②是由于人員少,往往是同樣的幾個(gè)人從頭到尾負(fù)責(zé)這個(gè)項(xiàng)目。但這兩個(gè)特點(diǎn)會(huì)讓人容易犯錯(cuò)誤,就是往往是幾個(gè)人碰一下頭,討論一下最基本的任務(wù)分工便分頭去做自己的工作了,沒有一份較正式的開發(fā)文檔。當(dāng)有人對(duì)任務(wù)理解有偏差時(shí)或有誤解時(shí),就可能會(huì)造成返工。因此,小型軟件開發(fā)項(xiàng)目也不應(yīng)該忽視文檔化過程的作用。
文檔化有三方面的作用:①是有助于團(tuán)隊(duì)溝通,能給別人一個(gè)交待以及給自己一個(gè)備忘。②是有助于自我理解,一般來說如果你不能寫下它,你就可能沒有真正的理解它。③是有助于連貫一致性,它會(huì)使團(tuán)隊(duì)擁有可重復(fù)的優(yōu)勢(shì)。雖然文檔是如此重要,但在小型項(xiàng)目中有用的文檔最好也不要太冗長(zhǎng)繁雜,一般1-2頁(yè)的過程說明就足夠了。
(6)使用好制度與紀(jì)律這個(gè)工具
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1007-9599 (2011) 13-0000-01
Demands Risk Analysis of Software Development
Sun Huiqing
(Wuhan Institute of Communication Command,Wuhan430010,China)
Abstract:This software development enterprises should be a greater problem.Based on the current status of the software industry's demand risk analysis,the demand for software development projects listed in sources of risk and analysis,summarized the causes of demand risk and the impact on the success of the project,software development projects is given in the demand for risk management and control recommendations.
Keywords:Software development;Demands risk;Risk analysis
一、對(duì)需求風(fēng)險(xiǎn)的理解
產(chǎn)品開發(fā)過程中,由于產(chǎn)品需求本身的隱含性、用戶與開發(fā)者之間的溝通障礙,以及需求隨著時(shí)間、用戶的變化而變更等原因,可能使需求分析偏離實(shí)際需求而最終導(dǎo)致產(chǎn)品開發(fā)的失敗,這種可能性稱為需求風(fēng)險(xiǎn)。軟件開發(fā)項(xiàng)目風(fēng)險(xiǎn)是指在軟件生命周期中所遇到的所有的預(yù)算、進(jìn)度和控制等各方面的問題,以及由這些問題而產(chǎn)生的對(duì)軟件項(xiàng)目的影響。需求分析是軟件開發(fā)過程中最初始、最基礎(chǔ)的工作,也是最重要的工作之一,其成敗將直接并最終決定軟件開發(fā)的成敗,并且呈倍增效應(yīng)。需求分析的關(guān)鍵是使隱含的需求明確,使變更的需求可控,采用座談會(huì)、需求調(diào)查表、需求啟發(fā)、角色扮演等方法可以使需求明確化;采用面向?qū)ο蟮姆椒癠ML工具、領(lǐng)域?qū)<业娜虆⑴c、需求分級(jí)、二次開發(fā)接口等方法可以使需求變更處于可控范圍內(nèi)。實(shí)踐證明,這些都是控制需求風(fēng)險(xiǎn)的有效方法。
二、需求的獲取
(一)產(chǎn)品前景和項(xiàng)目范圍。應(yīng)該在軟件開發(fā)項(xiàng)目早期,編寫一份包括業(yè)務(wù)需求在內(nèi)的前景和范圍文檔,并將它作為添加新需求和修改現(xiàn)有需求的指導(dǎo)。
(二)需求開發(fā)所需的時(shí)間。將每個(gè)軟件開發(fā)項(xiàng)目中需求開發(fā)所耗費(fèi)的實(shí)際工作量記錄下來,這樣就可以判斷出需求開發(fā)是否充分,并可以改進(jìn)未來項(xiàng)目的工作計(jì)劃。
(三)需求規(guī)格說明的完整性和正確性。為了確保需求是客戶真正需要的,應(yīng)該以用戶任務(wù)為中心,應(yīng)用用例技術(shù)來獲取需求。
(四)創(chuàng)新產(chǎn)品的需求。對(duì)軟件開發(fā)項(xiàng)目中的第1個(gè)產(chǎn)品,不太容易把握市場(chǎng)對(duì)軟件產(chǎn)品的反映。
(五)定義非功能需求。由于我們一般都會(huì)強(qiáng)調(diào)產(chǎn)品的功能,所以很容易忽略產(chǎn)品的非功能性需求。
(六)客戶對(duì)產(chǎn)品需求意見一致。確定那些主要的客戶,并采用產(chǎn)品代言人的方法,保證有足夠的客戶代表的積極參與
(七)未加說明的需求。一般的客戶會(huì)有一些隱含的期望要求,但并未以文檔的方式說明出來。盡量識(shí)別客戶可能做出的任何假設(shè)。
(八)把已有的產(chǎn)品作為需求基線來源。把通過逆向工程發(fā)現(xiàn)的需求編成文檔,讓客戶來評(píng)審這些需求,確保其正確性和相關(guān)性。
(九)根據(jù)需要提出解決方案。軟件產(chǎn)品分析人員必須提煉出隱藏在客戶提出的解決方案背后的真正意圖。
三、需求風(fēng)險(xiǎn)的來源
很多開發(fā)項(xiàng)目在確定需求時(shí)都面臨著一些不確定性。當(dāng)在開發(fā)項(xiàng)目早期容忍了這些不確定性,并且在項(xiàng)目進(jìn)展過程當(dāng)中得不到解決,這些問題就能對(duì)項(xiàng)目的成功造成非常大的威脅。如果不控制與需求相關(guān)的風(fēng)險(xiǎn)因素,就很有可能產(chǎn)生錯(cuò)誤的軟件產(chǎn)品或者拙劣地建造預(yù)期的軟件產(chǎn)品。每一種情況對(duì)產(chǎn)品來講都可能致命的。
需求風(fēng)險(xiǎn)的來源包括:沒有足夠用戶參與、不斷增加的用戶需求、模棱兩可的市場(chǎng)需求、不必要的特性、過于精簡(jiǎn)的規(guī)格說明、被忽略的用戶分類、不準(zhǔn)確的產(chǎn)品開發(fā)計(jì)劃。
軟件開發(fā)項(xiàng)目風(fēng)險(xiǎn)中與客戶相關(guān)的風(fēng)險(xiǎn)因素有:(1)對(duì)軟件產(chǎn)品缺少清晰的認(rèn)識(shí);(2)對(duì)產(chǎn)品需求缺少認(rèn)同;(3)開發(fā)者在做需求調(diào)查中客戶參與不夠;(4)市場(chǎng)中沒有優(yōu)先需求;(5)不確定的需要導(dǎo)致出現(xiàn)新的市場(chǎng);(6)不斷變化市場(chǎng)需求;(7)缺少有效的需求變化管理過程;(8)對(duì)需求的變化缺少相關(guān)分析等。
四、需求風(fēng)險(xiǎn)的管理
(一)制定風(fēng)險(xiǎn)管理計(jì)劃。對(duì)于一個(gè)軟件開發(fā)項(xiàng)目,你可以把控制風(fēng)險(xiǎn)的計(jì)劃放在軟件項(xiàng)目管理計(jì)劃里面。但是一個(gè)大項(xiàng)目則需要有一份獨(dú)立的風(fēng)險(xiǎn)管理計(jì)劃,包括用于識(shí)別、評(píng)估、編寫、跟蹤產(chǎn)品開發(fā)風(fēng)險(xiǎn)的各種方法與途徑。這份計(jì)劃還應(yīng)包括風(fēng)險(xiǎn)管理活動(dòng)的角色和責(zé)任。通常情況下,項(xiàng)目小組為他們的關(guān)鍵活動(dòng)制定了計(jì)劃,但是在項(xiàng)目中并沒有按計(jì)劃去實(shí)施或者沒能按實(shí)際情況進(jìn)行及時(shí)的調(diào)整。一定要堅(jiān)持按照所采取的風(fēng)險(xiǎn)管理活動(dòng)計(jì)劃去執(zhí)行。項(xiàng)目的進(jìn)度安排上也應(yīng)該要給風(fēng)險(xiǎn)管理留出足夠時(shí)間來確保項(xiàng)目并未浪費(fèi)早期投資在風(fēng)險(xiǎn)計(jì)劃制定上面。工程項(xiàng)目的工作分類細(xì)目結(jié)構(gòu)中包括降低風(fēng)險(xiǎn)的活動(dòng)、狀態(tài)報(bào)告,與更新風(fēng)險(xiǎn)清單。和其它項(xiàng)目管理活動(dòng)一樣,需要建立起周期性的監(jiān)控措施。保持對(duì)十來個(gè)有最大危害的風(fēng)險(xiǎn)的高度重視,并追蹤降低風(fēng)險(xiǎn)措施的有效性。當(dāng)完成一項(xiàng)活動(dòng)后,重新評(píng)估那項(xiàng)風(fēng)險(xiǎn)的可能性和影響,更新風(fēng)險(xiǎn)清單和其它相關(guān)的計(jì)劃。當(dāng)控制住原本有很高優(yōu)先級(jí)的風(fēng)險(xiǎn)后,必然有新條目會(huì)進(jìn)入前十條。值得注意的是,不要僅僅因?yàn)橥瓿闪艘豁?xiàng)降低風(fēng)險(xiǎn)的活動(dòng)而人為增加一條風(fēng)險(xiǎn)來進(jìn)行控制。應(yīng)當(dāng)想想降低風(fēng)險(xiǎn)的方法是否真的減少了風(fēng)險(xiǎn)的危害,使它減少到了一個(gè)可以接受的水平。
(二)具體管理措施
1.首先要明確你當(dāng)前軟件開發(fā)項(xiàng)目面臨的一些與需求有關(guān)的風(fēng)險(xiǎn),不要把當(dāng)前的問題當(dāng)作風(fēng)險(xiǎn),一定要是那些還未發(fā)生的事情。將風(fēng)險(xiǎn)的因素編寫成文檔,為每項(xiàng)需求風(fēng)險(xiǎn)推薦至少一種可能的降低風(fēng)險(xiǎn)的方法。
2.召集代表開發(fā)、市場(chǎng)、客戶和管理各方面的涉眾召開風(fēng)險(xiǎn)“集體研討”會(huì)議。盡力找出更多與需求有關(guān)的風(fēng)險(xiǎn)因素。估計(jì)每項(xiàng)風(fēng)險(xiǎn)發(fā)生的可能性及其影響,兩者乘積就是風(fēng)險(xiǎn)危害值。通過按風(fēng)險(xiǎn)危害值降序排列找到最高的五項(xiàng)風(fēng)險(xiǎn)。為每項(xiàng)風(fēng)險(xiǎn)安排一個(gè)負(fù)責(zé)人負(fù)責(zé)實(shí)施降低風(fēng)險(xiǎn)的活動(dòng)。
五、結(jié)束語(yǔ)
軟件開發(fā)項(xiàng)目中的需求風(fēng)險(xiǎn)是所有風(fēng)險(xiǎn)中的一個(gè)不可忽視的組成部分,對(duì)其認(rèn)識(shí)的必要性不言而喻,應(yīng)該重視對(duì)它的分析,對(duì)需求風(fēng)險(xiǎn)的合理管理也是軟件開發(fā)項(xiàng)目項(xiàng)目管理中不可或缺的部分。
任務(wù)管理――明確任務(wù),是解決沖突的根源
明確的工作任務(wù)和職責(zé)劃分是項(xiàng)目順利實(shí)施的必要前提之一,但軟件項(xiàng)目的特殊性使得項(xiàng)目管理中至關(guān)重要的“范圍管理”(Scope Management)遇到了很大困難,某些子系統(tǒng)的開發(fā)任務(wù)在業(yè)主與合作商簽訂的項(xiàng)目合同中進(jìn)行了明確的定義,但仍然有許多任務(wù)需要雙方在實(shí)施過程中逐步明確。在合作項(xiàng)目中,這種情況產(chǎn)生的后果相對(duì)更為嚴(yán)重,因?yàn)轫?xiàng)目團(tuán)隊(duì)的工作方式是合作方式,當(dāng)因工作任務(wù)不明確而產(chǎn)生問題時(shí),極易在來自不同組織的團(tuán)隊(duì)成員間產(chǎn)生矛盾,從而引發(fā)沖突。
由于軟件開發(fā)項(xiàng)目本身的特點(diǎn),在項(xiàng)目啟動(dòng)階段就給出完整的系統(tǒng)需求是極為困難(甚至是不可能)的,在許多情況下,隨著開發(fā)進(jìn)程逐步確定需求,以滿足實(shí)際環(huán)境的不斷變化不僅是權(quán)宜之計(jì),而且更是現(xiàn)實(shí)的需要。另一方面,在大多數(shù)軟件開發(fā)項(xiàng)目中,需求的逐步細(xì)化或更改盡管是不可避免的,但也是可以管理的。一般而言,在某一時(shí)點(diǎn)上的需求都包含兩部分的內(nèi)容:已經(jīng)明確確定的部分和目前難以明確確定的部分,而“迭代式”軟件開發(fā)過程的目標(biāo)就是隨著開發(fā)過程的深入逐步減少尚未明確確定的需求,并同時(shí)增加明確確定的需求。
“迭代式”軟件開發(fā)過程的主要原理是:在軟件開發(fā)項(xiàng)目(尤其是一些大型軟件開發(fā)項(xiàng)目)中,在項(xiàng)目開始階段,需求中難以明確確定的部分占有相當(dāng)大的比例,因此在制定項(xiàng)目計(jì)劃時(shí)基本上無(wú)法準(zhǔn)確估算其工作任務(wù)的范圍、進(jìn)度以及相關(guān)的費(fèi)用,這就給項(xiàng)目實(shí)施帶來了極大的風(fēng)險(xiǎn)。在這種情況下,軟件產(chǎn)品的第一版本(而不是軟件原型)反映了需求中已經(jīng)明確的那一部分的功能,此時(shí),用戶可以使用這個(gè)第一版本的軟件并在使用過程中提出進(jìn)一步的需求,然后項(xiàng)目團(tuán)隊(duì)可以根據(jù)上述相對(duì)更加明確的需求開發(fā)第二版本。在第二版本的軟件開發(fā)過程中,用戶可繼續(xù)使用第一版本的軟件(因?yàn)樵摪姹拒浖且粋€(gè)實(shí)際的完整產(chǎn)品而非原型,因此除了功能相對(duì)較弱外,用戶基本可正常使用)。上述“迭代式”的軟件開發(fā)過程能夠在一定程度上有效降低大型軟件開發(fā)過程中的風(fēng)險(xiǎn)。
但這種“迭代式”軟件開發(fā)過程在合作型軟件開發(fā)項(xiàng)目中會(huì)遇到一些困難,其關(guān)鍵在于:在這種方式下,項(xiàng)目實(shí)施過程中許多工作任務(wù)是逐步確定的,甚至到底要推出多少個(gè)版本在項(xiàng)目啟動(dòng)階段也很難精確確定。另一方面,合作項(xiàng)目的合同卻在項(xiàng)目開始階段就需要簽署,而合同的關(guān)鍵部分――項(xiàng)目費(fèi)用在采用迭代式開發(fā)方式下很難在項(xiàng)目的開始階段就確定,當(dāng)然如果項(xiàng)目費(fèi)用的支付是按照實(shí)際費(fèi)用進(jìn)行結(jié)算的話,這個(gè)問題并不存在。但在目前國(guó)內(nèi)許多軟件項(xiàng)目中,業(yè)主方往往傾向于使用“固定價(jià)格合同”以控制費(fèi)用風(fēng)險(xiǎn),這一合同形式要求對(duì)項(xiàng)目費(fèi)用有相對(duì)明確的估算,這恰恰與“迭代式”軟件開發(fā)方式產(chǎn)生了矛盾。
解決這一矛盾的方法之一是采用與之相適應(yīng)的“迭代式合同”,即在項(xiàng)目的第一階段,有關(guān)的工作被分為兩部分:已明確確定的工作和尚未明確確定的工作,其工作任務(wù)內(nèi)容分別來自于已經(jīng)明確的需求和尚未明確的需求,其中明確確定的工作必須在第一階段完成,并給出明確的費(fèi)用估算,而尚未明確確定的工作在第一階段可以是部分完成并在今后的階段中繼續(xù)進(jìn)行;當(dāng)?shù)谝浑A段結(jié)束后,業(yè)主方支付確定的工作任務(wù)的費(fèi)用以及已完成部分的尚未確定的工作任務(wù)的費(fèi)用(這是由于費(fèi)用結(jié)算是分階段進(jìn)行的,而工作任務(wù)的執(zhí)行則是連續(xù)的,因此有可能根據(jù)實(shí)際的需要,某些尚未明確的、從而未在項(xiàng)目計(jì)劃中反映的工作內(nèi)容也已經(jīng)在項(xiàng)目實(shí)施過程中完成了),并對(duì)剩下的工作進(jìn)行重新估算,這樣反復(fù)進(jìn)行直到項(xiàng)目完成(如圖1所示)。
這種合同制定方法使得業(yè)主方與合作商共同承擔(dān)項(xiàng)目實(shí)施過程中的風(fēng)險(xiǎn),隨著項(xiàng)目實(shí)施進(jìn)程的不斷推進(jìn),產(chǎn)品需求和相關(guān)的工作任務(wù)變得越來越明確,工作任務(wù)中的“已確定”部分比例越來越高,雙方所承擔(dān)的風(fēng)險(xiǎn)也隨之降低。
利益管理――建立開放的、互相信任的項(xiàng)目團(tuán)隊(duì)文化,平衡各方利益
當(dāng)項(xiàng)目團(tuán)隊(duì)成員分別來自于業(yè)主方和合作商時(shí),利益沖突幾乎是不可避免的,尤其是對(duì)于涉及相對(duì)復(fù)雜技術(shù)的軟件開發(fā)項(xiàng)目,利益沖突往往是最難以解決的問題之一。
首先,在技術(shù)方案的制定過程中,合作商方面的團(tuán)隊(duì)成員會(huì)傾向于選擇那些對(duì)于他們自己所在公司而言費(fèi)用相對(duì)較低的方案,而這些方案卻常常不符合業(yè)主方的最大利益;另外,合作商方面提出的技術(shù)方案也經(jīng)常會(huì)包含一些購(gòu)買由其生產(chǎn)或經(jīng)銷的產(chǎn)品或工具等,這些建議的提出并不一定是惡意的,甚至確實(shí)存在充分的理由,但在業(yè)主方看來,卻有可能成為合作商試圖損害其利益的證據(jù)。
在這種情況下,一種開放性的、互相信任的團(tuán)隊(duì)文化的建設(shè)就有助于制定一個(gè)客觀而準(zhǔn)確的項(xiàng)目技術(shù)方案和實(shí)施計(jì)劃。在許多情況下,召集一個(gè)由項(xiàng)目各方人士(包括沒有利益關(guān)系的第三方人士)參加的評(píng)估小組有時(shí)是十分必要的,這種評(píng)估不僅包括技術(shù)方面的評(píng)估,更應(yīng)當(dāng)包括經(jīng)濟(jì)方面的評(píng)估。但從根本上來看,良好的團(tuán)隊(duì)文化與規(guī)范化的評(píng)估流程相比,同等重要(有時(shí)甚至更為重要)。
在項(xiàng)目啟動(dòng)之初就努力建立一種“項(xiàng)目導(dǎo)向”的思考方式對(duì)于解決各方利益沖突也能起到幫助作用,在這種思考方式下,項(xiàng)目本身的成功對(duì)于每個(gè)項(xiàng)目團(tuán)隊(duì)成員和項(xiàng)目參與各方(包括業(yè)主方和合作商)均是首要的:如果項(xiàng)目失敗,則不僅業(yè)主方受損,從長(zhǎng)遠(yuǎn)來看,合作商的利益(其市場(chǎng)地位)也會(huì)受到損害。同時(shí),對(duì)于那些來自業(yè)主方的項(xiàng)目管理人員而言,適當(dāng)?shù)摹皳Q位思考”也是需要的。例如,來自于合作商的工程師可能會(huì)建議購(gòu)買由他們公司生產(chǎn)的產(chǎn)品而不是購(gòu)買其他公司的(可能是價(jià)格相對(duì)低廉的)產(chǎn)品,初看起來這一提議自然是損害業(yè)主方利益的,但如果考慮到對(duì)相關(guān)產(chǎn)品的熟悉程度將有助于工作效率的提高從而最終節(jié)約人工成本,這種建議也是有一定合理性的。
信息管理――充分的溝通和參與是有效的激勵(lì)機(jī)制
關(guān)鍵詞:PSP;TSPi;UML;軟件開發(fā);軟件工程
中圖分類號(hào):TPG642 文獻(xiàn)標(biāo)識(shí)碼:A
1引言
1.1實(shí)踐訓(xùn)練的目的
在現(xiàn)有計(jì)算機(jī)軟件專業(yè)本科教育中,缺少一種系統(tǒng)的實(shí)驗(yàn)實(shí)踐方法,讓學(xué)生綜合運(yùn)用所學(xué)計(jì)算機(jī)理論知識(shí),以適應(yīng)實(shí)際軟件開發(fā)項(xiàng)目的需要,其結(jié)果是學(xué)生走向社會(huì),沒有成熟的開發(fā)方法和經(jīng)驗(yàn),需要大量摸索。為解決該問題,我們通過一個(gè)學(xué)生公寓宿舍管理系統(tǒng)項(xiàng)目,進(jìn)行小組軟件開發(fā)過程方法實(shí)踐訓(xùn)練,使學(xué)生掌握數(shù)據(jù)結(jié)構(gòu)、算法設(shè)計(jì)、數(shù)據(jù)庫(kù)、軟件工程、程序設(shè)計(jì)語(yǔ)言等學(xué)科的知識(shí)和軟件開發(fā)的文檔國(guó)標(biāo),從而能夠融入到軟件開發(fā)項(xiàng)目小組工作中或帶領(lǐng)軟件開發(fā)小組工作。
1.2 實(shí)踐訓(xùn)練的題目選擇
學(xué)生在大學(xué)期間都住校,對(duì)公寓宿舍的管理很清楚,對(duì)需求容易理解,容易做出需求分析,這是我們選擇開發(fā)學(xué)生公寓宿舍管理系統(tǒng)作為實(shí)踐訓(xùn)練題目的原因。當(dāng)然也可以選擇職工工資管理系統(tǒng)、學(xué)生成績(jī)管理系統(tǒng)作為訓(xùn)練題目,業(yè)務(wù)需求盡量清晰簡(jiǎn)單,而且系統(tǒng)不要太復(fù)雜。
1.3實(shí)踐訓(xùn)練所需資料
(1) 教材
人民郵電出版社的《個(gè)體軟件過程》和《小組軟件開發(fā)過程》?!秱€(gè)體軟件過程》強(qiáng)調(diào)了項(xiàng)目的成功,首先建立在個(gè)體成員基本素養(yǎng)的基礎(chǔ)上,培養(yǎng)學(xué)生按時(shí)高效地生產(chǎn)出高質(zhì)量的軟件產(chǎn)品并可對(duì)其工作質(zhì)量進(jìn)行預(yù)測(cè)的能力,提供工程師測(cè)量和改進(jìn)工作方法的框架。《小組軟件開發(fā)過程》有助于學(xué)生把課本上學(xué)習(xí)的軟件工程理論轉(zhuǎn)變成實(shí)際開發(fā)工程中可操作的過程,重點(diǎn)在于告訴學(xué)生一種小組方法,角色分工,每個(gè)人在項(xiàng)目中如何承擔(dān)自己的崗位職責(zé)和積極協(xié)助其他成員完成工作,不斷地通過軟件開發(fā)工作取得個(gè)人進(jìn)步和小組進(jìn)步。只有通過個(gè)體開發(fā)工程師素養(yǎng)的提高和小組開發(fā)過程能力的不斷增強(qiáng),才能實(shí)現(xiàn)組織級(jí)的CMM級(jí)別躍遷。
(2) 軟件工具
利用TSPi EXCEL制作項(xiàng)目計(jì)劃和追蹤項(xiàng)目進(jìn)展,統(tǒng)計(jì)工作量,提高效率。利用VISIO制作用戶需求文檔和設(shè)計(jì)。
1.4實(shí)踐訓(xùn)練評(píng)分標(biāo)準(zhǔn)
(1) 小組主要技術(shù)文檔是否齊全:30%。
(2) 小組開發(fā)過程執(zhí)行情況:50%,包含項(xiàng)目手冊(cè)完整性、過程數(shù)據(jù)收集與按時(shí)提交情況、周例會(huì)組織與效果、計(jì)劃實(shí)際完成情況。
(3) 小組開發(fā)過程項(xiàng)目總結(jié)報(bào)告:20%。
過去實(shí)驗(yàn)課,我們總是對(duì)每個(gè)學(xué)生單獨(dú)評(píng)分,現(xiàn)在以小組為單位進(jìn)行訓(xùn)練,小組每個(gè)成員的成績(jī)都要和小組項(xiàng)目總成績(jī)掛鉤,小組成績(jī)占30%,個(gè)人角色占70%。即使個(gè)人做得很好,但如果小組成績(jī)不好,也直接影響到個(gè)人成績(jī)。讓大家明白,小組項(xiàng)目的成敗與每個(gè)成員密切相關(guān),正象一個(gè)足球隊(duì)一樣,需要全體隊(duì)員的相互配合,取得小組的勝利才是最關(guān)鍵的。
2實(shí)踐訓(xùn)練重點(diǎn)內(nèi)容
2.1個(gè)體軟件過程訓(xùn)練
(1) 文檔規(guī)模估計(jì)方法
進(jìn)行規(guī)模估計(jì)是軟件開發(fā)人員最基本的素養(yǎng),掌握規(guī)模估計(jì)的方法才能對(duì)個(gè)人開發(fā)工作效率、進(jìn)度有一個(gè)估算。文檔(需求、設(shè)計(jì)、使用說明書、標(biāo)準(zhǔn)制定)規(guī)模按文檔頁(yè)計(jì)算,界面設(shè)計(jì)以界面?zhèn)€數(shù)計(jì)算,分別用分鐘/頁(yè)、分鐘/個(gè)、分鐘/行作為開發(fā)文檔、界面、程序行的效率計(jì)量單位。先積累規(guī)模實(shí)驗(yàn)數(shù)據(jù),以后以此計(jì)算個(gè)人效率。實(shí)際項(xiàng)目開發(fā)效率的估算按單個(gè)練習(xí)時(shí)效率的30%計(jì)算即可。復(fù)雜程序或以前沒有做過的效率估算要估得更低一些,循序漸進(jìn),估算越來越準(zhǔn)確,且不可操之過急、目標(biāo)太高。
(2) 個(gè)人承諾管理的方法
通過具體事例讓學(xué)生明白,軟件開發(fā)本身有許多不確定性,沒有完全相同的案例可以說明我們能按時(shí)完成開發(fā)工作。因此,將承諾建立在個(gè)人實(shí)際工作能力的量化指標(biāo)上,進(jìn)行時(shí)間任務(wù)的計(jì)劃管理是十分必要的。一般來說,只要是認(rèn)真工作,沒有被別的工作打擾,計(jì)劃一旦落后,不要指望靠加班完成,需要調(diào)整計(jì)劃,及時(shí)與對(duì)方溝通協(xié)商。
建立實(shí)際工作時(shí)間日志、程序開發(fā)時(shí)間表、缺陷管理日志等,認(rèn)真對(duì)待PSP項(xiàng)目計(jì)劃與總結(jié)表,是掌握個(gè)人開發(fā)技能狀況的重要手段,也是兌現(xiàn)承諾的可靠依據(jù)。
2.2小組角色組成與分工
根據(jù)每個(gè)學(xué)生的個(gè)人愛好、性格、專長(zhǎng),知識(shí)結(jié)構(gòu),安排個(gè)人在項(xiàng)目中扮演不同的角色,承擔(dān)不同的職責(zé),迅速掌握角色工作。
小組成員由項(xiàng)目經(jīng)理、計(jì)劃經(jīng)理、開發(fā)經(jīng)理、質(zhì)量經(jīng)理、技術(shù)支持經(jīng)理組成,計(jì)劃經(jīng)理可以由項(xiàng)目經(jīng)理兼任。項(xiàng)目組學(xué)生由4~5人組成。小組成員之間的關(guān)系參見圖1,角色職責(zé)參見表1。
圖1 項(xiàng)目組角色關(guān)系
表1 小組角色職責(zé)
2.3小組人員和諧工作的方法
以小組周例會(huì)溝通交流、目標(biāo)管理、流程化管理,激勵(lì)組員為完成目標(biāo)而工作,不斷取得進(jìn)步。因開發(fā)實(shí)習(xí)工作時(shí)間集中,我們把周會(huì)議定為2天一次會(huì)議,養(yǎng)成及時(shí)溝通,使遇到的問題及時(shí)得以解決,同時(shí)把小組合作的意識(shí)培養(yǎng)起來。強(qiáng)調(diào)軟件開發(fā)的質(zhì)量、功能范圍、進(jìn)度三要素的管理方法,把目標(biāo)管理與過程管理結(jié)合起來。
2.4多周期開發(fā)方法
學(xué)生們?cè)谲浖こ讨袑W(xué)習(xí)了一些開發(fā)過程模型,最簡(jiǎn)單的過程模型是瀑布模型,但瀑布模型要求一次把階段文檔都做好,而在實(shí)際開發(fā)中往往很難達(dá)到,且瀑布模型也沒有組織過程模型,可操作性差。TSPi多周期過程模型有組織過程模型,即使由于訓(xùn)練時(shí)間短,不能進(jìn)行多個(gè)周期開發(fā),也可以通過把任務(wù)分配在多個(gè)周期中,分清主次功能和項(xiàng)目風(fēng)險(xiǎn),把主要功能和高風(fēng)險(xiǎn)部分放在周期1中,提高項(xiàng)目的成功率。見圖2。
2.5軟件質(zhì)量標(biāo)準(zhǔn)
學(xué)生對(duì)軟件質(zhì)量的理解更多地停留在軟件是否能使用上,沒有軟件性能指標(biāo)是否達(dá)標(biāo)的概念,更沒有開發(fā)過程質(zhì)量的概念。通過提供過程質(zhì)量標(biāo)準(zhǔn),質(zhì)管經(jīng)理監(jiān)控小組在開發(fā)過程中是否達(dá)到過程質(zhì)量標(biāo)準(zhǔn),使學(xué)生掌握過程質(zhì)量的相關(guān)知識(shí),加深認(rèn)識(shí)個(gè)體質(zhì)量的重要性,不斷提高個(gè)人的開發(fā)能力。每個(gè)過程都有入口和出口標(biāo)準(zhǔn),沒有達(dá)到入口標(biāo)準(zhǔn)的不能進(jìn)行下一步,沒有通過出口標(biāo)準(zhǔn)的,該過程不能結(jié)束。
2.6項(xiàng)目總結(jié)
我們過去參與企業(yè)軟件開發(fā)活動(dòng)比較多,項(xiàng)目總結(jié)往往留于形式?;蛘唔?xiàng)目出現(xiàn)問題,非要找出責(zé)任人,總結(jié)會(huì)上項(xiàng)目組人員相互指責(zé),最后不歡而散的情況較多,不利于今后的項(xiàng)目開發(fā)工作。該實(shí)習(xí)訓(xùn)練強(qiáng)調(diào)過程總結(jié),不把問題留到最后。每個(gè)過程階段的總結(jié),重點(diǎn)強(qiáng)調(diào)要對(duì)角色不對(duì)人,肯定成績(jī),發(fā)現(xiàn)角色不足,使小組成員在開發(fā)項(xiàng)目訓(xùn)練中得到進(jìn)步,建立學(xué)習(xí)型組織。
3實(shí)踐訓(xùn)練具體步驟
實(shí)踐訓(xùn)練的具體步驟如表2所示:
表2 實(shí)踐訓(xùn)練的具體步驟
注:每個(gè)工作日8小時(shí)。
每個(gè)步驟都是一個(gè)實(shí)驗(yàn)實(shí)踐項(xiàng)目,每個(gè)項(xiàng)目都有開始和結(jié)束條件,而且要求在安排的工作日內(nèi)要完成指定的項(xiàng)目。即使完不成,通過開周例會(huì)總結(jié)分析原因,改進(jìn)工作。通過這種把開發(fā)工作劃分成一個(gè)個(gè)小項(xiàng)目,培養(yǎng)了學(xué)生如何做項(xiàng)目任務(wù)分解、如何完成任務(wù),要求有許多過程文檔,使學(xué)生真正理解軟件=算法+數(shù)據(jù)結(jié)構(gòu)+文檔。
4實(shí)踐總結(jié)
學(xué)生通過該過程訓(xùn)練,明顯感到實(shí)際開發(fā)過程和做作業(yè)有很大不同,開發(fā)訓(xùn)練內(nèi)容規(guī)范、過程可操作性強(qiáng),把課堂所學(xué)書本知識(shí)一下串了起來,同時(shí)又學(xué)習(xí)了許多新知識(shí),學(xué)生知道了如何組織實(shí)際軟件開發(fā)項(xiàng)目了。這種模式非常值得推廣。
參考文獻(xiàn)
[1] Watts S.Humphrey著. 韓丹,袁昱譯. 小組軟件開發(fā)過程[M]. 北京:人民郵電出版社,2000.
[2] Watts S.Humphrey著. 吳超英,車向東譯. 個(gè)體軟件過程[M]. 北京:人民郵電出版社,2001.
doi:10.3969/j.issn.1673 - 0194.2017.04.047
[中圖分類號(hào)]TP311.5 [文獻(xiàn)標(biāo)識(shí)碼]A [文章編號(hào)]1673-0194(2017)04-00-02
隨著信息技術(shù)的不斷發(fā)展及普及,移動(dòng)互聯(lián)網(wǎng)、云計(jì)算、大數(shù)據(jù)及物聯(lián)網(wǎng)等與現(xiàn)代制造業(yè)結(jié)合,越來越多的軟件項(xiàng)目立項(xiàng)。在軟件項(xiàng)目開發(fā)過程中,無(wú)論是用戶還是開發(fā)人員都會(huì)遇到各種各樣的問題,這些問題會(huì)導(dǎo)致開發(fā)工作停滯不前甚至失敗。軟件項(xiàng)目能否有效管理,決定著該項(xiàng)目是否成功。因此,如何做好軟件項(xiàng)目管理中的進(jìn)度控制工作就顯得尤為重要。
1 軟件開發(fā)項(xiàng)目的管理現(xiàn)狀
國(guó)內(nèi)外軟件開發(fā)行業(yè)競(jìng)爭(zhēng)越來越激烈,軟件項(xiàng)目投資持續(xù)增加,軟件產(chǎn)品開發(fā)規(guī)模和開發(fā)團(tuán)隊(duì)向大規(guī)模和專業(yè)化方向發(fā)展。因?yàn)槠鸩酵?,?guó)內(nèi)絕大多數(shù)軟件公司尚未形成適合自身特點(diǎn)的軟件開發(fā)管理模式,整個(gè)軟件行業(yè)的項(xiàng)目管理水平偏低,與國(guó)際知名軟件開發(fā)公司有一定的差距,綜合競(jìng)爭(zhēng)能力相對(duì)較低。首先,缺乏專業(yè)的項(xiàng)目管理人員,軟件項(xiàng)目負(fù)責(zé)人實(shí)施管理主要依靠技術(shù)和經(jīng)驗(yàn)積累,缺少項(xiàng)目管理專業(yè)知識(shí);其次,在項(xiàng)目開始階段缺少全局性把控,制訂的項(xiàng)目計(jì)劃趨于理想化,細(xì)節(jié)考慮不周,無(wú)法進(jìn)行有效的進(jìn)度控制管理,導(dǎo)致工作進(jìn)度滯后;再次,項(xiàng)目團(tuán)隊(duì)分工不合理,項(xiàng)目成員專業(yè)能力與項(xiàng)目要求不匹配,成員各行其是,出現(xiàn)重復(fù)甚至無(wú)效的工作,從而影響項(xiàng)目進(jìn)展;最后,項(xiàng)目負(fù)責(zé)人不重視風(fēng)險(xiǎn)管理,沒有充分意識(shí)到風(fēng)險(xiǎn)管理的重要性,面對(duì)風(fēng)險(xiǎn)時(shí)缺少應(yīng)急預(yù)案,使原本可控的風(fēng)險(xiǎn)演變成導(dǎo)致項(xiàng)目受損甚至失敗的事件。因此,必須在整個(gè)軟件開發(fā)項(xiàng)目周期內(nèi)保持對(duì)項(xiàng)目的進(jìn)度控制,當(dāng)遇到問題時(shí)給出合理的解決措施,將重復(fù)工作、錯(cuò)誤工作的概率降到最低,使項(xiàng)目目標(biāo)能夠順利實(shí)現(xiàn),使企業(yè)能夠獲得最大利潤(rùn)。
2 軟件開發(fā)過程中影響進(jìn)度管理的因素分析
項(xiàng)目管理的五大過程:?jiǎn)?dòng)、計(jì)劃、執(zhí)行、控制與收尾。軟件項(xiàng)目管理是為使軟件項(xiàng)目按時(shí)成功交付而對(duì)項(xiàng)目目標(biāo)、責(zé)任、進(jìn)度、人員以及突況應(yīng)對(duì)等進(jìn)行分析與管理。影響軟件開發(fā)項(xiàng)目進(jìn)度的因素主要有:人的因素、技術(shù)的因素、設(shè)計(jì)變更的影響、自身的管理水平及物資供應(yīng)的因素,等等。對(duì)項(xiàng)目進(jìn)行有效的進(jìn)度控制,需要事先對(duì)影響項(xiàng)目進(jìn)度因素進(jìn)行分析,及時(shí)地使用必要的手段,盡可能調(diào)整計(jì)劃進(jìn)度與實(shí)際進(jìn)度之間的偏差,從而達(dá)到掌握整個(gè)項(xiàng)目進(jìn)度的目的。
2.1 進(jìn)度計(jì)劃是否合理和得到有效執(zhí)行
項(xiàng)目在開發(fā)過程中都會(huì)制訂一個(gè)進(jìn)度計(jì)劃,項(xiàng)目進(jìn)度和目標(biāo)都比較理想化,在面對(duì)突況時(shí)沒有相應(yīng)的應(yīng)急處理預(yù)案,無(wú)法保證項(xiàng)目進(jìn)度計(jì)劃的有效執(zhí)行。主要體現(xiàn)在制訂項(xiàng)目進(jìn)度計(jì)劃時(shí)由于管理人員自身專業(yè)局限性,對(duì)項(xiàng)目目標(biāo)、項(xiàng)目責(zé)任人和研發(fā)人員和項(xiàng)目周期都有明確劃分,但對(duì)項(xiàng)目開發(fā)難度和開發(fā)人員能力考慮不足,假如因項(xiàng)目出現(xiàn)重大技術(shù)難題而引起項(xiàng)目延期,同時(shí)又沒有做相應(yīng)的應(yīng)急處理,勢(shì)必影響項(xiàng)目進(jìn)度順利實(shí)現(xiàn)。
此外,沒有詳細(xì)的開發(fā)計(jì)劃和開發(fā)目標(biāo),開發(fā)計(jì)劃簡(jiǎn)單不合理。比如:項(xiàng)目目標(biāo)不清晰,項(xiàng)目組織結(jié)構(gòu)和職責(zé)不明確,項(xiàng)目成員缺少溝通,不同功能模塊出現(xiàn)問題相時(shí)互推諉;每個(gè)開發(fā)階段任務(wù)完成情況不能量化;開發(fā)計(jì)劃沒有按照里程碑計(jì)劃進(jìn)行檢查,進(jìn)度出現(xiàn)延誤沒有相應(yīng)處罰措施和應(yīng)急措施,導(dǎo)致項(xiàng)目進(jìn)度管理無(wú)法正常進(jìn)行。
2.2 項(xiàng)目成員專業(yè)能力和穩(wěn)定性
項(xiàng)目成員專業(yè)能力和穩(wěn)定性是項(xiàng)目進(jìn)度計(jì)劃順利實(shí)施的主要因素。在項(xiàng)目過程中,項(xiàng)目成員專業(yè)能力與項(xiàng)目要求不匹配,項(xiàng)目成員離開或者新加入都會(huì)對(duì)項(xiàng)目的進(jìn)度造成不良的影響。
項(xiàng)目成員專業(yè)能力偏低,不能對(duì)自己的工作難度和周期有一個(gè)明確的認(rèn)識(shí),編寫的軟件代碼質(zhì)量較差,可靠性不高,重復(fù)工作比較嚴(yán)重,就會(huì)延長(zhǎng)研發(fā)時(shí)間,脫離原計(jì)劃制定的目標(biāo),導(dǎo)致實(shí)際項(xiàng)目進(jìn)度與原計(jì)劃規(guī)定的進(jìn)度時(shí)間點(diǎn)相差越來越遠(yuǎn)。
項(xiàng)目成員穩(wěn)定性包括人員離職或者參與其他項(xiàng)目和增加新人。原項(xiàng)目成員離開項(xiàng)目,項(xiàng)目分配的工作需要由新成員或其他項(xiàng)目成T來接手,接手人員需要對(duì)項(xiàng)目的整體和進(jìn)度進(jìn)行了解,消化吸收原項(xiàng)目成員已經(jīng)完成的工作成果,同時(shí)占用一定時(shí)間與原項(xiàng)目成員交流與溝通,并且,每個(gè)人的理解能力和專業(yè)技術(shù)能力不同,在一定的時(shí)間內(nèi)無(wú)法馬上投入工作,也會(huì)影響他們完成相同工作需要的時(shí)間,進(jìn)而影響進(jìn)度。
2.3 項(xiàng)目需求設(shè)計(jì)變更
項(xiàng)目需求設(shè)計(jì)變更對(duì)于軟件項(xiàng)目進(jìn)度會(huì)造成極其嚴(yán)重的影響。由于項(xiàng)目負(fù)責(zé)人對(duì)項(xiàng)目目標(biāo)理解不清晰,沒有充分理解用戶需求;或者為了中標(biāo)需要,對(duì)項(xiàng)目技術(shù)難度考慮不深;或者用戶對(duì)需求定義的不認(rèn)可,感覺不夠全面,提出修改意見,重新規(guī)劃,造成需求范圍變更。
項(xiàng)目負(fù)責(zé)人對(duì)于項(xiàng)目需求把控不嚴(yán),不充分考慮用戶增加變更的功能對(duì)整個(gè)系統(tǒng)框架內(nèi)容的影響,缺乏與客戶的溝通,忽略團(tuán)隊(duì)協(xié)作和團(tuán)隊(duì)成員之間的溝通,輕易修改需求,嚴(yán)重需求變更可能會(huì)導(dǎo)致整個(gè)系統(tǒng)架構(gòu)的推倒重來,一般需求變更多了也會(huì)影響整個(gè)項(xiàng)目進(jìn)度,造成項(xiàng)目延遲交付。
2.4 進(jìn)度落后時(shí)的處理措施
在實(shí)際的軟件項(xiàng)目開發(fā)中,還有許多因素會(huì)影響和制約項(xiàng)目進(jìn)度,沒有人能將所有可能發(fā)生的事情都考慮周全,在條件允許范圍內(nèi)盡可能對(duì)項(xiàng)目開發(fā)過程按最壞情況多做預(yù)案,做到未雨綢繆,達(dá)到項(xiàng)目進(jìn)度管理的預(yù)期效果。
項(xiàng)目管理人員在發(fā)現(xiàn)項(xiàng)目出現(xiàn)進(jìn)度延遲后,需要及時(shí)與項(xiàng)目負(fù)責(zé)人進(jìn)行溝通,查找問題根源并進(jìn)行補(bǔ)救控制。同時(shí),一定時(shí)間內(nèi)了解項(xiàng)目組成員工作完成情況以及需要解決的問題,根據(jù)需要分解進(jìn)度目標(biāo),做到日事日畢,嚴(yán)格按照項(xiàng)目進(jìn)度計(jì)劃時(shí)間點(diǎn)實(shí)施,盡量減少進(jìn)度延遲偏差出現(xiàn)的次數(shù)。按階段總結(jié)項(xiàng)目情況,評(píng)估本階段項(xiàng)目實(shí)現(xiàn)狀況是否與計(jì)劃要求一致,協(xié)調(diào)處理遇到的困難問題,對(duì)項(xiàng)目進(jìn)度進(jìn)行檢查和跟蹤分析,隨著項(xiàng)目開發(fā)的不斷深入,找到提高工作效率、加快項(xiàng)目進(jìn)度的方法。
3 “智慧人社”管理信息系統(tǒng)項(xiàng)目的實(shí)現(xiàn)
3.1 “智慧人社”管理信息系統(tǒng)項(xiàng)目進(jìn)度計(jì)劃的制訂
3.1.1 項(xiàng)目整體進(jìn)度計(jì)劃的制訂
項(xiàng)目啟動(dòng)初期,項(xiàng)目組成員使用里程碑計(jì)劃法,對(duì)整個(gè)項(xiàng)目的里程碑進(jìn)行了標(biāo)記,按軟件項(xiàng)目開發(fā)的生命周期將項(xiàng)目整體劃分為幾個(gè)階段:需求分析階段、系統(tǒng)開發(fā)階段、系統(tǒng)測(cè)試階段及系統(tǒng)試運(yùn)行階段等。
3.1.2 項(xiàng)目開發(fā)階段進(jìn)度計(jì)劃的制訂
在項(xiàng)目的每個(gè)階段中,其實(shí)都貫穿著許多階段性進(jìn)度計(jì)劃,“智慧人社”管理信息系統(tǒng)項(xiàng)目的每個(gè)階段計(jì)劃也是通過使用進(jìn)度管理方法來制訂的。同時(shí),在開發(fā)階段中,項(xiàng)目組將每個(gè)功能模塊的開發(fā)任務(wù)進(jìn)行了更詳細(xì)的分解,具體到每個(gè)子功能,規(guī)定了功能實(shí)現(xiàn)責(zé)任人,并標(biāo)注了計(jì)劃用時(shí)。項(xiàng)目管理人員可以直觀地了解到每個(gè)子功能的計(jì)劃用時(shí),在實(shí)施階段用于與實(shí)際使用時(shí)間進(jìn)行對(duì)比考核,就很容易得出進(jìn)度是否延遲或提前的結(jié)論。
3.1.3 “智慧人社”管理信息系統(tǒng)項(xiàng)目進(jìn)度計(jì)劃的控制
項(xiàng)目進(jìn)度控制的流程就是定期或不定期接收項(xiàng)目完成狀況的數(shù)據(jù),把現(xiàn)實(shí)進(jìn)展?fàn)顩r數(shù)據(jù)與計(jì)劃數(shù)據(jù)做比對(duì),當(dāng)實(shí)際進(jìn)度與計(jì)劃不一致時(shí),就會(huì)產(chǎn)生偏差,如影響項(xiàng)目達(dá)成就需要采取相應(yīng)的措施,對(duì)原計(jì)劃進(jìn)行調(diào)整來確保項(xiàng)目順利按時(shí)完成。這是一個(gè)不斷進(jìn)行的循環(huán)的動(dòng)態(tài)控制過程。
在“智慧人社”管理信息系統(tǒng)項(xiàng)目開始后,在整體計(jì)劃中設(shè)置了一系列的報(bào)告期和報(bào)告點(diǎn),用以收集實(shí)際進(jìn)度數(shù)據(jù)。分別是項(xiàng)目周會(huì)、項(xiàng)目月度會(huì)議、階段完成會(huì)議。
4 結(jié) 語(yǔ)
本文通過對(duì)具體軟件開發(fā)項(xiàng)目過程中的進(jìn)度管理進(jìn)行研究與實(shí)踐,綜合運(yùn)用科學(xué)的項(xiàng)目管理及“智慧人社”管理信息系統(tǒng)的軟件思想和方法提出了有效的進(jìn)度管理方法,不僅可以保證項(xiàng)目的質(zhì)量,還能在約定期限內(nèi)完成并交付成果,為今后其他軟件開發(fā)公司開發(fā)類似項(xiàng)目提供參考,從而幫助提高軟件項(xiàng)目開發(fā)和進(jìn)度控制的綜合管理能力。
主要參考文獻(xiàn)
1.1大型軟件的開發(fā)
大型軟件開發(fā)具有髙失敗率的特點(diǎn),一般在70%上下,高失敗率給我國(guó)的大型軟件開發(fā)造成了很大的打擊,很多企業(yè)對(duì)大型軟件的開發(fā)都失去了信心。一般都把大型軟件的開發(fā)與中小型軟件的開發(fā)一樣,看成了管理信息系統(tǒng),屬于技術(shù)的范疇,而忽略了項(xiàng)目管理在軟件開發(fā)的重大作用。中小型的軟件開發(fā)一般業(yè)務(wù)比較簡(jiǎn)單,處理的邏輯很少,并且也相對(duì)穩(wěn)定。在開發(fā)前能夠清晰的界定需求分析,是一種技術(shù)產(chǎn)品,但是大型軟件具有復(fù)雜的業(yè)務(wù)流程,需要進(jìn)行大量的數(shù)據(jù)處理,無(wú)法明確、清晰的界定具體的業(yè)務(wù)發(fā)展屬性,具有動(dòng)態(tài)性,與其說大型軟件是一種技術(shù)產(chǎn)品,不如說這是一種管理產(chǎn)品。
1.2項(xiàng)目管理和流程能管理
項(xiàng)目管理是一種管理科學(xué),在項(xiàng)目活動(dòng)中運(yùn)用專業(yè)的技能、工具和知識(shí),使項(xiàng)目在有限的資源限定條件下能夠達(dá)到預(yù)期的效果,在限定時(shí)間和條件下一次性的完成任務(wù)。項(xiàng)目管理中包括運(yùn)用相關(guān)的技能、方法和工具針對(duì)目標(biāo)所展開的計(jì)劃、組織、領(lǐng)導(dǎo)和控制。流程管理是意見具體的工程或管理任務(wù)中,分析所有的主流和直流之間的關(guān)系,使所有的因素都能發(fā)揮應(yīng)有的作用,相互協(xié)調(diào)與配合。流程管理是以整個(gè)工程工序?yàn)楣芾韺?duì)象,關(guān)注流程中每一步驟的效率以及和上下游之間的配合。使整個(gè)工作開發(fā)的流程具有完整性和流暢性。
2大型軟件項(xiàng)目管理流程設(shè)計(jì)與分析
2.1流程設(shè)計(jì)目標(biāo)
首先我們要對(duì)整個(gè)大型軟件的流程能夠開發(fā)進(jìn)行分析,分析應(yīng)該在大型軟件的開發(fā)中流程管理應(yīng)該達(dá)到怎樣的效果。每一流程都是由具體的活動(dòng)所組成的,在軟件開發(fā)的過程中,每一流程都有特定的指向性,有明確的起始活動(dòng)和終止活動(dòng),具有四個(gè)基本的要素,即活動(dòng)、活動(dòng)的邏輯從屬、活動(dòng)的實(shí)現(xiàn)方式以及活動(dòng)的承擔(dān)者。大型軟件的開發(fā)就是一件由各種活動(dòng)組成的工程,包括項(xiàng)目的計(jì)劃編制、系統(tǒng)的分析、概要的設(shè)計(jì)、詳細(xì)的設(shè)計(jì)、程序編碼、測(cè)試和維護(hù)等。在整個(gè)大大型軟件項(xiàng)目管理流程中,主要對(duì)以下幾個(gè)因素進(jìn)行控制。首先,要具有明確的目標(biāo)指向性,要引導(dǎo)開發(fā)的成功;其次,制定的流程必須滿足整個(gè)軟件開發(fā)的全過程;第三,必須進(jìn)行量化的設(shè)計(jì),有具體的管理目標(biāo),能夠?qū)γ恳徊襟E進(jìn)行監(jiān)控;第四,構(gòu)建分析每一步驟之間的聯(lián)系,能夠在第一時(shí)間找到項(xiàng)目運(yùn)行困難的第一因素并進(jìn)行管理;第五,在流程管理中對(duì)每一活動(dòng)的開始、終止條件進(jìn)行明確的劃分與規(guī)定,提高管理的效率最后,流程中每一活動(dòng)都是可度量與評(píng)價(jià)的,具有可操作性。
2.2流程設(shè)計(jì)
首先進(jìn)行項(xiàng)目的搜尋,對(duì)市場(chǎng)信息以及用戶的需求進(jìn)行具體的分析,對(duì)潛在的項(xiàng)目進(jìn)行篩選和分析,在此進(jìn)出上進(jìn)行項(xiàng)目的立項(xiàng),提出立項(xiàng)的建議,并估算所需要的資金和資源。然后制定與客戶的交流計(jì)劃,全面的了解客戶的背景信息以及項(xiàng)目啟動(dòng)的原因、目的和期望,根據(jù)當(dāng)前的市場(chǎng)和技術(shù)水平編制方案建議書,并準(zhǔn)備合同的藍(lán)本。然后確立合同,包括項(xiàng)目的評(píng)估與確定、技術(shù)合同、商務(wù)合同的確定、評(píng)估及簽署。執(zhí)行合同,包括應(yīng)該履行的所有義務(wù),如軟件開發(fā)、測(cè)試執(zhí)行、項(xiàng)目驗(yàn)收、系統(tǒng)的維護(hù)等。
測(cè)試執(zhí)行的目的是為了保證系統(tǒng)的開發(fā)符合合同任務(wù)書中的具體要求,測(cè)試過程可以分為集成測(cè)試和系統(tǒng)測(cè)試兩個(gè)部分,模擬運(yùn)行的環(huán)境測(cè)試系統(tǒng)的性能、用戶界面、安裝和反安裝測(cè)試等。接下來進(jìn)行項(xiàng)目的驗(yàn)收,在進(jìn)行驗(yàn)收前先進(jìn)行內(nèi)部的驗(yàn)收,準(zhǔn)備好具體的驗(yàn)收計(jì)劃、項(xiàng)目開發(fā)總結(jié)的報(bào)告、財(cái)務(wù)預(yù)算報(bào)告、產(chǎn)品清單等。然后進(jìn)行內(nèi)部驗(yàn)收的測(cè)試與評(píng)定。然后進(jìn)行具體的驗(yàn)收,同樣制定相關(guān)的計(jì)劃,并準(zhǔn)備好中間產(chǎn)品,進(jìn)行現(xiàn)場(chǎng)的調(diào)試,最終得到客戶的確認(rèn)。