環(huán)境對過程改進(jìn)的支持。
成立過程改進(jìn)小組,對這個企業(yè)的開發(fā)人員進(jìn)行過程方法論的培訓(xùn)。
利用過程改進(jìn)小組對整個開發(fā)過程進(jìn)行監(jiān)控,使項(xiàng)目經(jīng)理能把重心放在控制開發(fā)進(jìn)度、降低開發(fā)風(fēng)險等重要事件上。
在開發(fā)階段采用RUP方法論進(jìn)行指導(dǎo)??梢詫UP的文檔進(jìn)行剪裁,選用適合自身項(xiàng)目的文檔應(yīng)用到開發(fā)過程中。并且使用迭代的開發(fā)方法替代原先的瀑布式開發(fā)。
保留原由需求文檔的編寫方法。
利用業(yè)務(wù)知識豐富的需求人員與客戶溝通,務(wù)求需求的正確性和一致性。
客戶需求量大,變化快,必須完善需求變更系統(tǒng)。要設(shè)定需求基線,同時引入迭代的開發(fā)方法。這樣可以在最短的時間內(nèi)完成最重要的需求開發(fā)。
規(guī)范設(shè)計文檔的編寫方法,可以利用RUP中的模版進(jìn)行規(guī)范化。培訓(xùn)開發(fā)人員要有先編寫設(shè)計文檔后再編碼的概念,編寫的設(shè)計文檔必須由項(xiàng)目經(jīng)理確認(rèn)。
對測試人員進(jìn)行測試方法論的培訓(xùn),使其能利用諸如等價劃分法、邊界值分析法等對系統(tǒng)進(jìn)行測試。并且能很清楚的知道測試各個階段的工作內(nèi)容。
編寫測試計劃,而且必須在需求分析進(jìn)行的同時編寫,在需求完成后測試計劃就該完成,隨著開發(fā)的進(jìn)行可以有所改動。
測試案例必須編寫,并且由項(xiàng)目經(jīng)理進(jìn)行評估審查。測試案例可以在需求階段或著開發(fā)階段編寫。
規(guī)范測試報告的編寫格式,測試完成后每個測試員必須編寫規(guī)范的測試報告,以利于開發(fā)人員修改BUG。
引進(jìn)自動化的測試工具對性能、壓力等測試務(wù)求作到自動化測試。
繼續(xù)使用CVS,Bugzilla等支持工具,將版本控制、需求變更、BUG追蹤自動化。
選取一個先導(dǎo)項(xiàng)目進(jìn)行實(shí)驗(yàn),成功后逐步推行到整個企業(yè)的軟件開發(fā)過程。
2.2.3.過程改進(jìn)計劃
成立過程改進(jìn)小組即軟件工程過程組(SEPG),派專人負(fù)責(zé)整個過程改進(jìn)。
根據(jù)背景及業(yè)務(wù)分析、項(xiàng)目分析、內(nèi)部因素、產(chǎn)品特點(diǎn)進(jìn)行現(xiàn)有軟件過程的評估。
根據(jù)評估給出詳細(xì)的軟件過程改進(jìn)建議。
根據(jù)軟件過程改進(jìn)建議轉(zhuǎn)化為行動。整個行動由過程改進(jìn)小組SEPG負(fù)責(zé)監(jiān)控、跟蹤。
實(shí)施軟件過程改進(jìn),并同時密切監(jiān)控改進(jìn)過程。有問題立刻解決。
對實(shí)施的過程改進(jìn)進(jìn)行評估。
對成功實(shí)施的軟件過程制度化。
2.3.實(shí)施和評估過程改進(jìn)
2.3.1.實(shí)施過程改進(jìn)
為實(shí)施軟件過程改進(jìn)分配職責(zé)
實(shí)施負(fù)責(zé)人:得到最高管理層的支持和信任,策劃整個過程改進(jìn)活動。
實(shí)施改進(jìn)組:這里就從公司內(nèi)部選取具備軟件過程理論的開發(fā)人員組成SEPG小組。并請專門的過程專家對其進(jìn)行培訓(xùn)。
軟件過程改進(jìn)組:負(fù)責(zé)先導(dǎo)項(xiàng)目的開發(fā)、實(shí)施,作為整個公司軟件過程改進(jìn)的先驅(qū)小組。
制訂行動計劃,確定過程改進(jìn)后應(yīng)該達(dá)到的預(yù)期目標(biāo)。
啟動軟件過程改進(jìn)。
實(shí)現(xiàn)先導(dǎo)項(xiàng)目的過程改進(jìn)。
進(jìn)行先導(dǎo)項(xiàng)目的過程改進(jìn)的評估,如果達(dá)到預(yù)期的目標(biāo)、取得收益,那么將持續(xù)地進(jìn)行過程改進(jìn)直到推廣到整個公司的項(xiàng)目。如果未達(dá)到預(yù)期的目標(biāo),就先終止過程改進(jìn)。進(jìn)行問題的尋找并解決出現(xiàn)的問題。
將最終改進(jìn)后的新過程制度化,過程結(jié)果文檔化。
2.3.2.軟件過程評估
過程的評估并不是過程的結(jié)束,而是整個軟件過程的開始。通過正確的評估,可以對比出過程改進(jìn)的前后整個開發(fā)過程有什么質(zhì)的飛躍、可以度量收益、確定是否達(dá)到預(yù)期效果。這樣的評估對整個軟件過程的改進(jìn)是起著指導(dǎo)作用的。評估報告可以讓上級領(lǐng)導(dǎo)隨時掌握軟件過程改進(jìn)的進(jìn)度并且掌握過程改進(jìn)所帶給企業(yè)的收益和效果。
3.總結(jié)
綜上所述,結(jié)合了自身企業(yè)的一些優(yōu)缺點(diǎn)大致闡述了軟件過程改進(jìn)的一個實(shí)踐步驟和方法。由于在實(shí)際中并沒有做到實(shí)施階段,因此在最后的實(shí)施和評估過程改進(jìn)方面寫的不夠全面。希望通過這篇小文章能對自己學(xué)到的一些軟件過程及度量知識有個總結(jié)和運(yùn)用,為以后真正有機(jī)會實(shí)施過程改進(jìn)打下基礎(chǔ)。
最后感謝這段時間上海交通大學(xué) 沈備軍教授為我們帶來的《軟件過程與度量》的精彩課程。使我們在方法論上有了新的提高、新的進(jìn)步。