創(chuàng)澤智能機器人集團股份有限公司 劉同
隨著國內(nèi)互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,各類軟件公司數(shù)量不斷增加,許多中小企業(yè)在開發(fā)軟件項目時,往往會出現(xiàn)管理混亂、資金超出合理預(yù)算等問題,進而導(dǎo)致更多的企業(yè)對軟件的能力及成熟度的提升愿景也變得更為強烈。所以,為了滿足企業(yè)對于軟件項目管理系統(tǒng)的個性化需求,本文介紹了軟件項目管理中的特點,即項目階段(Product Code)和過程(Conference Management),分別從各個方面對這些過程進行詳細說明。同時,詳細介紹了CMM的組織機構(gòu)和工作流程,并對其運行過程中出現(xiàn)的問題進行分析并提出改進措施以保證軟件項目順利進行。
軟件項目管理是一項復(fù)雜的系統(tǒng)工程,涉及項目管理、項目規(guī)劃及項目控制等多個方面。項目管理是對軟件項目開發(fā)的整個過程開展管理的過程。當一個項目有一個過程需要用到的工具不一樣時就需要對這個過程進行不斷調(diào)整。為了提高項目效率,必須進行一系列的管理工作來保證各個環(huán)節(jié)有序進行,其中涉及項目管理、過程管理等各個方面。本文將介紹一種基于CMM 的軟件項目管理系統(tǒng):CMM 可以對項目周期內(nèi)的各環(huán)節(jié)做詳細的描述和說明,并將每個系統(tǒng)中對應(yīng)的方法用來輔助項目管理,可以通過在工作平臺上完成項目開發(fā)、跟蹤和管理項目進度與結(jié)果等功能來實現(xiàn)項目的高效、有序地進行,使得后期的軟件項目開發(fā)更加順利。
基于CMM 的軟件項目管理系統(tǒng)是一個在項目管理過程中整合了各個功能模塊的綜合集成系統(tǒng)。它通過對項目相關(guān)指標數(shù)據(jù)的統(tǒng)計,可以讓使用者直觀了解項目管理的情況和各個環(huán)節(jié)的進度、成本等情況,也為進一步開發(fā)提供了決策依據(jù)和方向指引。另外,系統(tǒng)也包含了與之相關(guān)的功能,如信息查詢、報表統(tǒng)計等功能。其中,信息查詢是管理系統(tǒng)中最基本最常用的功能模塊。該部分內(nèi)容可以為使用者提供一些基本信息:當前進度、各崗位工作人員信息、聯(lián)系人信息。
系統(tǒng)采用的是以流程控制為主的開發(fā)模式,通過對項目周期進行劃分,實現(xiàn)不同的功能。在開發(fā)過程中,從項目策劃階段開始,各個功能模塊的操作人員將會根據(jù)設(shè)計目標,從系統(tǒng)中提取出操作說明以及所需的執(zhí)行工具等文件進行相應(yīng)工作,然后進行相關(guān)操作。整個軟件項目管理系統(tǒng)包括項目開發(fā)流程、功能模塊和用戶端界面設(shè)計,在各個功能模塊中需詳細說明其中涉及用戶業(yè)務(wù)流程及功能模塊,以協(xié)助相關(guān)工作人員完成不同階段所需完成的工作內(nèi)容。
CMM 項目管理法的核心在于對項目周期內(nèi)人員的管理和項目周期內(nèi)各種資料的收集整理和統(tǒng)計。因此,它包括對項目信息的獲取及處理數(shù)據(jù)統(tǒng)計和報表生成等;另外還包含了對項目進度的管理、項目執(zhí)行、跟蹤、數(shù)據(jù)處理等功能;由于項目管理模式下,各小組人員需相互協(xié)作完成某項工作,因此需要有一個工作平臺來配合完成整個工作流程,所以在任務(wù)分配中會專門為每一步任務(wù)設(shè)置一個功能模塊來完成相關(guān)功能,即當完成某項任務(wù)后項目管理模塊將返回到該任務(wù)執(zhí)行模塊繼續(xù)執(zhí)行。
該功能使項目執(zhí)行實現(xiàn)了可視化操作;提高了項目進度與質(zhì)量;可根據(jù)用戶個性化操作并提供相應(yīng)功能以方便用戶進行操作;實現(xiàn)了對項目執(zhí)行階段時間、精力、人力等資源消耗和浪費等問題的有效管理。例如,對項目過程做跟蹤和記錄;及時發(fā)現(xiàn)可能出現(xiàn)的問題和隱患等。使得用戶對軟件項目有著更高效、更準確地掌握整個項目周期內(nèi)各個環(huán)節(jié)的狀態(tài),保證項目順利進行及得到全面有效地控制。
軟件項目管理系統(tǒng)作為一項完整的程序,在整個過程中軟件項目經(jīng)理是關(guān)鍵人物,軟件項目經(jīng)理需要對項目進行組織協(xié)調(diào)和決策管理,從而保證項目順利運行于一個良好的工作狀態(tài)。整個軟件項目過程可以分為前期準備階段、目標設(shè)定階段、方案評審階段和開發(fā)測試階段,每個階段的主要任務(wù)是確定項目的優(yōu)先級,各任務(wù)目標設(shè)定、方法評審及開發(fā)測試都按照該流程進行,以保證每個階段工作順利進行。
在軟件項目管理流程中,軟件項目經(jīng)理需提前確定關(guān)鍵工作和優(yōu)先級,根據(jù)計劃將工作分解到每個人,制定出每個人的工作任務(wù)。對于明確的任務(wù),可以通過會議通知,或者利用QQ 群、微信群等工具及時與大家溝通,分享工作內(nèi)容、進展情況及經(jīng)驗,與同事及時進行溝通,同時利用釘釘文檔或手機App、短信等方式進行工作通知,與業(yè)務(wù)部門領(lǐng)導(dǎo)進行溝通協(xié)調(diào),根據(jù)工作安排合理分配資源計劃,保證項目能夠順利開展。
在這一階段,軟件項目經(jīng)理需要通過一系列評價和比較,選擇出能最好地解決問題的方法來確定最終的目標。這些方法包括:(1)項目總體目標,這一目標要求各項目必須完成其所需的功能;(2)用戶反饋目標,在目標設(shè)定階段軟件項目經(jīng)理通過收集用戶對項目整體需求,并結(jié)合客戶需求、項目目標、計劃、開發(fā)任務(wù)等情況進行系統(tǒng)目標分析,根據(jù)項目特性確定對應(yīng)任務(wù)和目標實現(xiàn)時間、實現(xiàn)過程和用戶滿意度進行調(diào)整,以確保最終達成目標。
由于目標的設(shè)定, 軟件項目任務(wù)將從總體上為下一步工作做準備。同時由于項目組成員可能存在分歧,為了保證項目進度,軟件項目團隊需要對項目執(zhí)行方案進行詳細評審(Project Base)。評審以書面或口頭的形式進行,形式可以是用戶報告和會議記錄等。通常還包括風(fēng)險管理方面的考慮。對于項目過程中的風(fēng)險(即項目風(fēng)險的范圍)有必要與團隊進行討論并提出自己的解決方案。因此風(fēng)險分析為團隊提供了一種在風(fēng)險之間確定最佳方案以確保項目成功的方法,同時也讓團隊成員了解該項目可能存在的風(fēng)險,可以為項目制定緊急措施。在這個階段,軟件項目經(jīng)理對決策做出相應(yīng)記錄并制定相應(yīng)措施以防止或降低風(fēng)險。
開發(fā)測試階段的主要任務(wù)是,以滿足程序的穩(wěn)定運行為目標,測試團隊對軟件項目系統(tǒng)進行一系列的性能測試和可靠性測試,以評估技術(shù)方案是否能達到預(yù)期的效果,并為后續(xù)開發(fā)和迭代打下基礎(chǔ)。具體步驟為:設(shè)置測試優(yōu)先級。首先根據(jù)目標劃分出測試優(yōu)先級,確定測試項目、測試步驟等;其次,根據(jù)不同測試等級采用不同類型的測試方法,測試工程師需在測試前根據(jù)軟件項目經(jīng)理設(shè)定好測試目標以及所需要測試的功能等,如需要測試任務(wù)則需要從測試任務(wù)中選擇與測試計劃相符的開發(fā)人員對所有開發(fā)環(huán)境進行測試。測試完成后,編寫測試報告并給出測試報告。測試團隊完成測試報告后由領(lǐng)導(dǎo)進行決策。這個過程一般需要10 ~15 天左右,在此期間需要記錄測試過程中出現(xiàn)過的各種問題,以作為軟件項目經(jīng)理分析研究確定出更好解決問題的依據(jù)及解決方案。這個過程中要在規(guī)定范圍內(nèi)進行協(xié)調(diào)和配合,確保完成本階段的具體任務(wù)要求和相關(guān)標準程序。
目前國內(nèi)對于軟件項目管理軟件的研究主要集中在開發(fā)過程管理、質(zhì)量管理和用戶體驗等方面,并沒有在軟件項目管理系統(tǒng)實現(xiàn)過程中涉及項目管理人員的權(quán)限和功能劃分等問題,使得系統(tǒng)運行過程中的各部分管理人員并不清楚,同時也使得項目管理系統(tǒng)無法正常運行,影響項目的質(zhì)量和進度。此外, CMM 系統(tǒng)也不是一套簡單高效的管理工具。隨著軟件領(lǐng)域技術(shù)更新?lián)Q代力度不斷加大,用戶使用軟件的頻次和時間越來越多,然而在實際操作過程中存在一些問題:有的軟件項目在立項之初就已經(jīng)開始進入系統(tǒng)開發(fā);有的在前期沒有進行充分籌備;再加上后續(xù)用戶對系統(tǒng)的使用也不夠熟悉;使用后會發(fā)現(xiàn)出現(xiàn)問題等現(xiàn)象導(dǎo)致無法正常使用或者不能正常工作的情況。對于此類問題,本文提出通過對現(xiàn)有軟件項目管理系統(tǒng)中常見問題做出詳細說明。
軟件項目經(jīng)理缺乏系統(tǒng)性的培訓(xùn)。由于缺乏對于現(xiàn)代化項目管理的知識和方法,所以在實際操作中,沒有足夠的軟件項目管理基礎(chǔ),只能依靠自己現(xiàn)有的知識和技巧,管理工作的隨意性、盲目性。在軟件公司里,多數(shù)情況下,項目管理人員普遍缺乏懂經(jīng)營、善施工的復(fù)合型管理人才,所以很多招收任命的軟件項目經(jīng)理往往會對項目管理方面的理論知識較為匱乏。
軟件項目經(jīng)理對計劃與階段性計劃的實施不甚清楚,有的軟件項目經(jīng)理覺得計劃具有很強的長期性,而且項目中存在太多的不確定因素,因此在制訂整體計劃時會比較隨便,而且因為工作繁忙等原因,常常會延遲,造成計劃與控制管理脫節(jié),難以進行有效的進度控制。由于軟件項目經(jīng)理工作的規(guī)范化程度較低,在不同的工程項目中,往往是基于經(jīng)驗進行管理,這會在很大程度上加劇跨項目管理的難度。
部分軟件項目經(jīng)理并沒有注意到軟件項目經(jīng)理的遲疑,他們對項目的整體控制和管理,以及對具體的技術(shù)工作的投入,導(dǎo)致項目團隊的成員們忙得不可開交,計劃不周,任務(wù)分配不均,資源浪費。在軟件公司里,項目經(jīng)理大多是技術(shù)骨干,雖然技術(shù)知識較為深厚,但無論是管理、必備的技能、管理必備的素質(zhì)都有待補充和改進,項目管理經(jīng)驗也有待豐富。
軟件項目經(jīng)理沒有對潛在的危險進行全面的分析,而應(yīng)對風(fēng)險的戰(zhàn)略考慮也相對簡單。一般情況下,軟件項目經(jīng)理在制定項目的時候,都難以制定特殊化的風(fēng)險管理方案。部分軟件項目經(jīng)理并不知道風(fēng)險管理的重要性,針對不按照管理計劃實行的技術(shù)人員,沒有較好的管理手段,多數(shù)情況下,只是草草地列出了一些既有風(fēng)險,提出了簡易的應(yīng)對措施,這對于后期的風(fēng)險防范也并不能起到良好的指導(dǎo)作用。
在區(qū)域識別階段,部分項目管理小組并不熟悉客戶的整個團隊架構(gòu)、有關(guān)人員及其關(guān)系、工作職責等,以至于無法達到全面的技術(shù)要求或者由于軟件項目經(jīng)理的工作職責模糊,對客戶的參與度不高,對客戶的關(guān)鍵責任不明確,項目的前期階段對需求的確定工作不夠積極,或者多個客戶的表達意見過于獨立,項目又需及時交付等特殊情況的發(fā)生,導(dǎo)致項目進度延緩,繼而造成企業(yè)投入成本的增加。
針對CMM 的工作流程中出現(xiàn)的問題,筆者在設(shè)計和實現(xiàn)CMM 過程中,除了注重軟件的質(zhì)量和效率外,還應(yīng)該在服務(wù)方面有所改進,以下為幾點改進措施。
(1)項目管理人員要建立完善的團隊考核機制,鼓勵員工積極參與項目管理,培養(yǎng)團隊協(xié)作精神,并加強團隊的內(nèi)部凝聚力,確保項目進度的順利完成。同時,通過建立日常的學(xué)習(xí)與訓(xùn)練,為員工提供交流的機會,搭建技術(shù)與經(jīng)驗共享的平臺,為項目組織成員創(chuàng)造一個良好的學(xué)習(xí)環(huán)境。同時,公司還可以通過自我管理來提升團隊的管理能力,從而提升項目團隊的市場競爭能力。
(2)在項目階段要建立明確的各節(jié)點工作職責和目標;完成所有階段的管理職責和工作流程;及時向領(lǐng)導(dǎo)反饋項目進展情況;定期分析問題并進行解決;有工作記錄和存檔備案;對于出現(xiàn)的問題要及時反饋;要保證員工能清楚地知道自己做了什么工作。此外還要定期分析原因,作為管理者,要時時反思自己的不足,對出現(xiàn)的問題,尤其是質(zhì)量問題要進行深刻的反思,并采取有效的補救措施,以避免此類問題的重演。
(3)工作內(nèi)容分為兩部分并做好記錄,便于后續(xù)查詢和調(diào)整工作思路。而對于任務(wù)之間的關(guān)系要清楚明確,避免出現(xiàn)遺漏。如:項目變更時需提交變更申請;任務(wù)執(zhí)行過程中需要對所有更改做記錄并保存至系統(tǒng)中,以便能夠檢查是否按照變更需求進行操作;文檔建立后可導(dǎo)出到指定的文檔上去或者在其他界面進行查看;并及時了解項目進度、項目成果等內(nèi)容。同時也能在網(wǎng)上對文檔進行管理;另外用戶也可以設(shè)置郵件接收時間以及接收方式等其他選項;同時可以對文檔進行編輯功能也可以對其進行批量操作。
(4)對整個過程中存在的溝通不暢以及系統(tǒng)中缺少文檔管理功能模塊為用戶提供了極大的便利空間,可以增加功能模塊以便于使用者對于文檔的管理和維護;此外該系統(tǒng)還提供了一些文檔管理器工具將所需文檔直接通過圖片輸入到平臺文件夾中;用戶在頁面中點擊“編輯”后在下方選擇上傳等操作使軟件開發(fā)更加便捷方便完成。
總之,在現(xiàn)代企業(yè)運營過程中,應(yīng)用軟件項目管理工具已經(jīng)成為一種必然的趨勢。本文基于CMM 理念設(shè)計了一套基于Java 的多功能的軟件項目管理系統(tǒng),實現(xiàn)了整個項目過程中各個階段的工作內(nèi)容以及相關(guān)環(huán)節(jié)的管理過程,并將這些數(shù)據(jù)進行匯總和統(tǒng)計,從而使得整個項目過程中項目各參與人員可以在不同時間節(jié)點上及時掌握項目進度并提交反饋信息,使領(lǐng)導(dǎo)能夠?qū)椖繉嵤┤^程進行監(jiān)督并了解項目運行效果。
數(shù)字技術(shù)與應(yīng)用2023年4期