方軍虎
[摘 要] 軟件項(xiàng)目開發(fā)的過程中,軟件項(xiàng)目管理的成功與否是決定一個(gè)項(xiàng)目是否能夠順利高效率完成的重要保證,但是我國大部分的軟件企業(yè)在進(jìn)行項(xiàng)目管理時(shí)都存在著各種問題,對(duì)于軟件開發(fā)項(xiàng)目管理以及流程進(jìn)行相關(guān)梳理。
[關(guān)鍵詞] 軟件項(xiàng)目管理;項(xiàng)目開發(fā);項(xiàng)目計(jì)劃
[中圖分類號(hào)] TP311 [文獻(xiàn)標(biāo)識(shí)碼] A [文章編號(hào)] 1002-8129(2017)02-0123-03
一、管理目標(biāo)
1.確保參與項(xiàng)目設(shè)計(jì)的全部人員都能夠非常全面和系統(tǒng)的就項(xiàng)目內(nèi)容以及項(xiàng)目關(guān)系人的需求進(jìn)行了解。項(xiàng)目關(guān)系人包括:所有參與項(xiàng)目的公司內(nèi)部人員以及公司外部成員(客戶、合作公司等)。
2.保證項(xiàng)目能夠按時(shí)、保質(zhì)完成,并且就項(xiàng)目的成本進(jìn)行合理控制。即必須保證項(xiàng)目管理的時(shí)間、成本和質(zhì)量這3個(gè)基本元素的平衡。
3.目標(biāo):確保項(xiàng)目的功能能夠達(dá)到客戶的要求,確保項(xiàng)目設(shè)計(jì)的系統(tǒng)性和完善性以滿足客戶需求的變化;確保項(xiàng)目的開發(fā)速度;確保項(xiàng)目不同開發(fā)流程的成功并即時(shí)交付。
二、常見問題
(一)開發(fā)時(shí)間的估算
在項(xiàng)目規(guī)劃階段,必須依據(jù)公司的實(shí)際情況如技術(shù)實(shí)力、資金以及團(tuán)隊(duì)等等,就整體項(xiàng)目完成所需要耗費(fèi)的時(shí)間進(jìn)行合理的評(píng)估,并且具體到每一個(gè)模塊開發(fā)所需要的時(shí)間。
模塊分配和開發(fā)時(shí)間估算的步驟:
1.要求項(xiàng)目負(fù)責(zé)人在軟件各模塊得到合理的劃分之后,就不同模塊所需要的使用的開發(fā)時(shí)間進(jìn)行評(píng)估和明確。
2.項(xiàng)目負(fù)責(zé)人必須就不同模塊開發(fā)的時(shí)間和項(xiàng)目參與人員進(jìn)行溝通,并且合理的安排不同模塊的參與設(shè)計(jì)人員,并且允許技術(shù)人員依據(jù)自身的情況自行選擇相應(yīng)的模塊設(shè)計(jì)任務(wù),以提升其工作積極性。
3.模塊以及相應(yīng)的設(shè)計(jì)人員區(qū)分清楚之后,設(shè)計(jì)人員必須就模塊開發(fā)所需耗費(fèi)的時(shí)間繼續(xù)評(píng)估。同時(shí)為了保證時(shí)間評(píng)估的合理性和準(zhǔn)確性,模塊設(shè)計(jì)人員必須就其負(fù)責(zé)模塊的具體開發(fā)細(xì)節(jié)進(jìn)行討論和研究。
4.項(xiàng)目負(fù)責(zé)人必須就各模塊設(shè)計(jì)人員上報(bào)的開發(fā)時(shí)間進(jìn)行最后的評(píng)估、審核;就開發(fā)時(shí)間和項(xiàng)目評(píng)估時(shí)間及逆行比較。那些差異較大的,與人員探討其中的緣由。就需要耗費(fèi)較長時(shí)間的模塊以及其他相關(guān)任務(wù)進(jìn)行合理的分解,使其成為不同的獨(dú)立子任務(wù),并且保證這些子任務(wù)可以在一個(gè)工作日到三個(gè)工作日的時(shí)間內(nèi)完成,以保證整體項(xiàng)目的開發(fā)不會(huì)受到各種不確定性因素的影響。
(二)代碼評(píng)審
為了有效的保證項(xiàng)目能夠按時(shí)、保質(zhì)的完成,則必須保證代碼評(píng)審環(huán)節(jié)的有效執(zhí)行,否則就有可能導(dǎo)致軟件在開發(fā)完成之后出現(xiàn)很多bug,進(jìn)而影響整個(gè)項(xiàng)目的交付時(shí)間。由此在整個(gè)項(xiàng)目開啟之前,就必須確立一套完善的代碼編寫以及達(dá)標(biāo)審核規(guī)范。具體的實(shí)現(xiàn)方式用兩個(gè)文檔就設(shè)計(jì)工作人員具體的代表編寫進(jìn)行規(guī)范,以約束代碼設(shè)計(jì)人員的編寫規(guī)范;其次負(fù)責(zé)代碼審核的工作人員必須依據(jù)具體的規(guī)范就所有的編碼進(jìn)行審核,并且保證所有代碼的規(guī)范性。
(三)需求變更管理
需求變更是軟件項(xiàng)目設(shè)計(jì)過程中經(jīng)常會(huì)出現(xiàn)的不確定性因素之一,由此保證所有需求變更項(xiàng)目內(nèi)容的完成,對(duì)于整體項(xiàng)目的成功也起到了決定性的作用。
需求變更管理的目標(biāo):
1.項(xiàng)目負(fù)責(zé)人以及相關(guān)人員必須及時(shí)的了解項(xiàng)目的需求并更內(nèi)容。
2.變更處于有效的管理中。
3.盡量降低變更帶來的風(fēng)險(xiǎn)。
(四)風(fēng)險(xiǎn)管理
風(fēng)險(xiǎn)是軟件項(xiàng)目在設(shè)計(jì)的過程中不可避免的不確定性因素之一,具有絕對(duì)的客觀性。由此,不同風(fēng)險(xiǎn)的發(fā)生都會(huì)給軟件開發(fā)項(xiàng)目帶來一定的影響,并且影響軟件項(xiàng)目的交付時(shí)間、開發(fā)成本以及開發(fā)質(zhì)量等等。通常情況下軟件開發(fā)過程中可能遇到的風(fēng)險(xiǎn)以及具體的應(yīng)對(duì)方式如下所述:
1.目標(biāo)以及需求不明確
為了保證項(xiàng)目開發(fā)的效率,項(xiàng)目開發(fā)組必須在項(xiàng)目正式開始設(shè)計(jì)之前,采用合理、有效的手段和方法與相關(guān)項(xiàng)目的業(yè)務(wù)組成員以及負(fù)責(zé)人就項(xiàng)目的需求進(jìn)行全面的樹立和確立,并且依據(jù)項(xiàng)目開發(fā)組的實(shí)際情況,就所有的項(xiàng)目需求進(jìn)行優(yōu)先級(jí)排列,并取得業(yè)務(wù)部門的書面確認(rèn)。不僅如此還必須在項(xiàng)目開發(fā)的過程中及時(shí)的和客戶進(jìn)行溝通,以保證客戶的潛在需求能夠得到充分挖掘,以保證軟件開發(fā)完成之后能夠使客戶滿意。
2.項(xiàng)目目標(biāo)擴(kuò)大以及需求變更
在多數(shù)情況下,項(xiàng)目需求變更可能都是由于客戶自身的想法改變或者提出更多需求的情況下發(fā)生的。顯然,對(duì)于項(xiàng)目組而言并不可能完全滿足客戶于任何時(shí)候提出的要求,否則必然會(huì)增加項(xiàng)目的開發(fā)成本。由此,項(xiàng)目負(fù)責(zé)人以及相關(guān)業(yè)務(wù)負(fù)責(zé)人,則必須明確的向客戶表明我方的態(tài)度。當(dāng)然,在具體提出拒絕之前,項(xiàng)目開發(fā)組也必須就為什么拒絕提出合理的解釋,如果是可以在不增加成本和影響項(xiàng)目開發(fā)時(shí)間的情況下,可以盡可能的滿足客戶提出的新需求,否則,則必須及時(shí)向客戶表明我們的態(tài)度,堅(jiān)決拒絕。
3.代碼質(zhì)量風(fēng)險(xiǎn)
質(zhì)量風(fēng)險(xiǎn)就是項(xiàng)目在開發(fā)過程中有可能出現(xiàn)的代碼錯(cuò)誤所帶來的風(fēng)險(xiǎn)。由此在項(xiàng)目規(guī)劃的過程中,就必須充分考慮到這一風(fēng)險(xiǎn)的存在,并且保留一定的時(shí)間就這一部分風(fēng)險(xiǎn)進(jìn)行規(guī)避。尤其是對(duì)于時(shí)間要求相對(duì)緊張的項(xiàng)目而言,可能存在的代碼風(fēng)險(xiǎn)可能會(huì)非常大。由此,為了規(guī)避這一風(fēng)險(xiǎn),就必然需要讓所有的設(shè)計(jì)人員都能夠熟練的掌握項(xiàng)目的開發(fā)框架,并且能夠依據(jù)系統(tǒng)設(shè)計(jì)文檔進(jìn)行設(shè)計(jì)。
4.人員技能和資源的不足
項(xiàng)目開發(fā)人員能力欠缺導(dǎo)致出現(xiàn)的項(xiàng)目質(zhì)量問題也是經(jīng)常遇到的風(fēng)險(xiǎn)之一。比如一個(gè)技能較熟練的代碼開發(fā)人員完成一個(gè)具體模塊的開發(fā)可能僅僅需要3個(gè)工作日,但一個(gè)新手可能就需要7-10天。因此,為了規(guī)避這一類風(fēng)險(xiǎn),項(xiàng)目開發(fā)負(fù)責(zé)人在項(xiàng)目正式開始之前,就必須正對(duì)項(xiàng)目組所有工作人員的技能進(jìn)行分析,并且就所有的項(xiàng)目模塊的難以程度進(jìn)行分析,并以此為依據(jù)合理的進(jìn)行開發(fā)人員的工作安排。同時(shí),針對(duì)攻克難度加大的模塊,還必須設(shè)立具體的解決方案,保證在規(guī)定的時(shí)間內(nèi)就這些難題進(jìn)行解決。同時(shí)需要特別強(qiáng)調(diào)的是,該類風(fēng)險(xiǎn)必須在項(xiàng)目設(shè)計(jì)正式開始之前就進(jìn)行分析、識(shí)別并且做出具體的應(yīng)對(duì)方案,如此才能夠保證后期開發(fā)工作的順利。
5.缺乏良好的團(tuán)隊(duì)協(xié)作
軟件項(xiàng)目的開發(fā)必須也團(tuán)隊(duì)開發(fā)成員的精誠合作為前提,否則就很難保證項(xiàng)目各個(gè)模塊的有效集成,最后給整個(gè)項(xiàng)目的開發(fā)完成帶來極大的壓力。由此,在項(xiàng)目進(jìn)行的過程中,就必須保證項(xiàng)目組成員之間建立起良好的溝通和協(xié)作意識(shí),建立起團(tuán)隊(duì)利益高于個(gè)人利益的意識(shí),如此才能夠讓整個(gè)團(tuán)隊(duì)具有絕對(duì)的向心力以及協(xié)作精神,并最終保證項(xiàng)目的保質(zhì)和按時(shí)交付。
6.項(xiàng)目會(huì)議
項(xiàng)目會(huì)議是保證軟件開發(fā)工作能夠有效進(jìn)行的前提性因素,保證項(xiàng)目會(huì)議的成功即為項(xiàng)目能夠獲成功的保障,否則就可能給項(xiàng)目的開發(fā)帶來各種風(fēng)險(xiǎn)。
由此,為了規(guī)避此類風(fēng)險(xiǎn),在會(huì)議進(jìn)行的過程中,就必須保證會(huì)議氛圍以及會(huì)議的效率。由此,對(duì)于項(xiàng)目負(fù)責(zé)人而言,就必須很好的控制整個(gè)會(huì)議的進(jìn)程,并且注重引導(dǎo)以幫助所有的參會(huì)人員都能夠明白整個(gè)項(xiàng)目目標(biāo)以及各自的工作責(zé)任等等。比如多提一些開放式的問題。
會(huì)議記錄很重要,把一些結(jié)論和有價(jià)值的內(nèi)容記錄下來,這些是本次會(huì)議的重要成果之一。會(huì)議記錄可以完整的就整個(gè)會(huì)議的內(nèi)容進(jìn)行記錄,并且能夠讓項(xiàng)目負(fù)責(zé)人以及項(xiàng)目組所有的開發(fā)人員在會(huì)議結(jié)束后查閱,以進(jìn)一步保證會(huì)議內(nèi)容的傳到和理解。
會(huì)議要有結(jié)論。我們常在會(huì)議上聽到有人說:“大家討論了這么半天,結(jié)論呢?”沒有結(jié)論的會(huì)議是沒有意義的。
會(huì)議后的執(zhí)行情況的反饋很重要。及時(shí)有效的反饋一方面可以幫助項(xiàng)目負(fù)責(zé)人就整個(gè)會(huì)議的效果進(jìn)行評(píng)估;另一方面可以提升項(xiàng)目開發(fā)人員的參與積極性,以進(jìn)一步保證會(huì)議的作用和效率。
[參考文獻(xiàn)]
[1]軟件工程監(jiān)理的實(shí)施策略.信息技術(shù)與信息化,2004,(5).
[2]全文期刊論文.統(tǒng)一軟件過程與地理信息系統(tǒng)的應(yīng)用開發(fā).遙感技術(shù)與應(yīng)用,2003,18(6)
[責(zé)任編輯:曾 菡]