崔萌萌 安強(qiáng)
摘 要:當(dāng)前世界科學(xué)技術(shù)日新月異,國內(nèi)各行各業(yè)都在追求產(chǎn)業(yè)技術(shù)信息化和生產(chǎn)管理信息化。軟件工程開發(fā)是產(chǎn)業(yè)信息化轉(zhuǎn)型的必備因素,它是一項(xiàng)系統(tǒng)而復(fù)雜的工作,除了對(duì)開發(fā)時(shí)間的需求,還需要一個(gè)團(tuán)隊(duì)互相配合、分工協(xié)作。本文旨在研究,將項(xiàng)目管理中的管理方法巧妙的運(yùn)用到軟件開發(fā)工程中,解決軟件工程開發(fā)中遇到的問題,從而而得到更有效的開發(fā)成果。
關(guān)鍵詞:項(xiàng)目管理;軟件工程;軟件開發(fā)
軟件工程開發(fā)傳統(tǒng)流程,包括需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測(cè)試、交付、驗(yàn)收、維護(hù)等。實(shí)踐證明,這一流程存在諸多問題,這些問題影響著項(xiàng)目開發(fā)的功能性、實(shí)用性、時(shí)效性、安全性和協(xié)調(diào)性,致使項(xiàng)目開發(fā)不能達(dá)到預(yù)期目標(biāo)或滿足客戶需求。從軟件工程的角度,分析軟件開發(fā)的生命周期、軟件過程模型和團(tuán)隊(duì)模型,討論軟件項(xiàng)目管理的科學(xué)性和必要性,討論如何發(fā)揮項(xiàng)目管理的作用,加強(qiáng)軟件開發(fā)的組織與管理。從項(xiàng)目管理的角度,讓軟件開發(fā)過程更加簡(jiǎn)潔、高效、目的明確,可大大提高效率。
一、軟件工程開發(fā)中常見的問題
軟件工程是一門工程性的學(xué)科,其目標(biāo)主要是成功地建造一個(gè)大型軟件系統(tǒng)。包括:付出較低開發(fā)成本;達(dá)到要求的軟件功能;取得較好的軟件性能;軟件易于移植;維護(hù)費(fèi)用較低;能按時(shí)完成開發(fā)任務(wù);軟件可靠性高等。在軟件工程開發(fā)中遇到的具體問題可以總結(jié)為如下幾點(diǎn):
(1)軟件模塊開發(fā)過于獨(dú)立,各模塊沒有統(tǒng)一的開發(fā)標(biāo)準(zhǔn),造成系統(tǒng)功能重復(fù),開發(fā)平臺(tái)不統(tǒng)一,系統(tǒng)整合難度大;
(2)系統(tǒng)開發(fā)往往針對(duì)某一特定功能,沒有形成一個(gè)完整的系統(tǒng)結(jié)構(gòu);
(3)總體設(shè)計(jì)不夠細(xì)致,各個(gè)子系統(tǒng)功能模塊風(fēng)格不統(tǒng)一;
(4)開發(fā)人員技術(shù)水平、開發(fā)能力和時(shí)間有限,開發(fā)手段相對(duì)原始,代碼的可重用性低、可讀性差;
(5)缺乏有效的軟件文檔管理。這些問題集中體現(xiàn)在軟件項(xiàng)目開發(fā)的每一模塊中,導(dǎo)致整個(gè)項(xiàng)目開發(fā)過程中,開發(fā)費(fèi)用超出原定計(jì)劃,生產(chǎn)的軟件系統(tǒng)不能滿足用戶需求,系統(tǒng)難以簡(jiǎn)易維護(hù),系統(tǒng)無法高效運(yùn)行等問題。這里既有技術(shù)層面的因素,即開發(fā)平臺(tái)不統(tǒng)一;也有軟件開發(fā)的組織與管理層面的因素,即程序員對(duì)系統(tǒng)功能的定義、規(guī)劃和設(shè)計(jì)不明確,往往是開發(fā)人員摸著石頭過河,僅僅從自己開發(fā)的這部分模塊來考慮問題,另外開發(fā)人員和測(cè)試人員不能很好的協(xié)調(diào),這些都說明了軟件項(xiàng)目管理這一角色的欠缺。
二、項(xiàng)目管理針對(duì)軟件工程開發(fā)的優(yōu)勢(shì)
項(xiàng)目管理包括時(shí)間、質(zhì)量、成本三大要素,三者相輔相成,相互制約。時(shí)間可等價(jià)于軟件項(xiàng)目開發(fā)中的開發(fā)生命周期,即在最終達(dá)到開發(fā)目標(biāo)前的各個(gè)階段的總用時(shí)。質(zhì)量可等價(jià)于最終開發(fā)軟件系統(tǒng)的功能性,可用性與達(dá)到的客戶滿意度。成本相當(dāng)于軟件項(xiàng)目開發(fā)中的費(fèi)用,包括人力、地點(diǎn)、工具、系統(tǒng)故障處理等方面的開銷。統(tǒng)籌時(shí)間、質(zhì)量、成本三要素,即統(tǒng)籌軟件項(xiàng)目開發(fā)周期、軟件使用客戶滿意度和開發(fā)費(fèi)用之間的平衡關(guān)系,不因忽略某一項(xiàng)指標(biāo)而導(dǎo)致項(xiàng)目開發(fā)目的實(shí)現(xiàn)不了或中途中斷,也不會(huì)為了實(shí)現(xiàn)較高的效率,而忽略成本的犧牲,讓所有項(xiàng)目開發(fā)過程中,所涉及到的因素都可有條不紊地進(jìn)行。
SPPT是項(xiàng)目管理另一層面上概括的四要素,分別為:戰(zhàn)略(Strategy)、人(People)、次序和安排(Process)、工具(Tool)。戰(zhàn)略對(duì)于軟件項(xiàng)目來說,主要概括為模塊開發(fā)的開發(fā)方式,配合方法等;人,毫無疑問,指的是項(xiàng)目開發(fā)中的參與者;次序則是項(xiàng)目如何劃分模塊,以及模塊開發(fā)的先后次序;工具,即使用工具,包括:輔導(dǎo)設(shè)計(jì)程序系統(tǒng)、文檔編寫系統(tǒng)、資源管理系統(tǒng)等。對(duì)這四要素的穩(wěn)定地統(tǒng)籌把握,能更好的協(xié)調(diào)好項(xiàng)目開發(fā)過程中涉及的多個(gè)方面,而又不造成某一方面的缺失,導(dǎo)致項(xiàng)目最終目的實(shí)現(xiàn)不了或效果不明顯。
三、項(xiàng)目管理思想與軟件工程開發(fā)的結(jié)合
根據(jù)上述項(xiàng)目管理要素與軟件工程開發(fā)要素的結(jié)合,平衡項(xiàng)目開發(fā)過程中的開發(fā)要素,能更加簡(jiǎn)潔高效地完成項(xiàng)目開發(fā)目標(biāo)。IT軟件企業(yè)處于“項(xiàng)目”為主導(dǎo)的環(huán)境中,每天所面對(duì)的將是成百上千不斷發(fā)生、進(jìn)行的項(xiàng)目。在這種多項(xiàng)目并發(fā)、高技術(shù)、快速變化、資源有限的環(huán)境下,為了試圖滿足不斷變化的市場(chǎng)需求及應(yīng)對(duì)各種挑戰(zhàn),必須考慮改進(jìn)“項(xiàng)目管理”。
以“項(xiàng)目”為中心有效地將所有資源結(jié)合在一起的工作方式將是軟件企業(yè),特別是項(xiàng)目經(jīng)理或企業(yè)主管必須面對(duì)的、認(rèn)真思考的課題。一個(gè)成熟的軟件項(xiàng)目,必須具有一位項(xiàng)目經(jīng)理做到:了解軟件開發(fā)項(xiàng)目完整流程;掌握如何制定完整精煉的軟件項(xiàng)目計(jì)劃書;掌握項(xiàng)目管理體系中的各個(gè)要素;學(xué)會(huì)進(jìn)行項(xiàng)目的跟蹤和總結(jié)等。除此之外,一個(gè)軟件項(xiàng)目能否最終達(dá)到成功,最關(guān)鍵的是進(jìn)度控制。對(duì)于進(jìn)度控制而言,計(jì)劃尤為重要,它影響到資源是否被合理使用,項(xiàng)目能否順利進(jìn)行,直接關(guān)系到項(xiàng)目的成敗。有兩個(gè)重要方法可以應(yīng)用到該控制中,一個(gè)是里程碑設(shè)置,以周為一個(gè)小里程碑,以月為中里程碑,以項(xiàng)目初驗(yàn)為一個(gè)大里程碑,允許在一定范圍內(nèi)存在進(jìn)度偏移度。另一個(gè)是項(xiàng)目定期匯報(bào)。提交工作項(xiàng)目周報(bào),包括項(xiàng)目名稱、項(xiàng)目負(fù)責(zé)人、項(xiàng)目開始時(shí)間、項(xiàng)目計(jì)劃初驗(yàn)時(shí)間、項(xiàng)目計(jì)劃偏移度等。最后,制定周例會(huì)制度、建立配置管理和監(jiān)督體系,也尤為重要。
四、結(jié)語
項(xiàng)目管理在軟件工程開發(fā)中的應(yīng)用廣泛,但正確地結(jié)合兩者之間的思想結(jié)構(gòu)卻少之又少。軟件項(xiàng)目開發(fā)是一個(gè)系統(tǒng)工程,在軟件工程項(xiàng)目開發(fā)中,結(jié)合項(xiàng)目管理的管理方法,對(duì)企業(yè)信息化建設(shè)和信息化轉(zhuǎn)型是必要的,也是必經(jīng)之路。
參考文獻(xiàn):
[1]左美云,周彬.實(shí)用項(xiàng)目管理與圖解.北京:清華大學(xué)出版社,2002.
[2]蘇統(tǒng)華.項(xiàng)目管理精髓[J].程序員,2002,(4):3536.
[3]張保軍.軟件項(xiàng)目管理的流程控制分析.中國金融電腦,2007,(6):5560.