個人項目管理計劃及實施建議(轉載)

原文鏈接:http://www.javaeye.com/topic/470476

一、項目啓動(項目開工會)
瞭解項目干係人及其利害關係。
所有項目組成員是否到位,如到位則拿到項目開發人員的簡歷,詳細瞭解每個開發人員的情況(可能會組織到客戶方面試)。
根據項目需求規格列出項目功能列表,並根據開發人員技術等情況創建WBS。
根據項目時間、資源等情況規劃項目初步開發計劃(各里程碑時間點的粗略計劃,每個時間段投入多少人力等)。
確定各種軟硬件需求,如:版本控制服務器、數據庫服務器、開發服務器、缺陷管理軟件服務器、開發工具等。

參與人員:
項目經理、項目總監、全體項目組成員、用戶方領導、用戶方參與人員、其它主要項目干係人

項目啓動會議的目標:
讓整個項目組的成員相互認識
建立項目的工作關係和溝通關係
讓大家明確團隊的工作目標
讓大家瞭解項目的當前狀態
一起審閱項目計劃
找出項目的難點或可能出問題的環節
分配小組和個人的角色與責任
獲得小組和個人的承諾

實施建議:
對立項管理過程域產生的所有有價值的文檔如《立項建議書》、《立項調查報告》、《立項可行性分析報告》、《立項評審報告》進行配置管理。
做好必要的保密工作。
由於每個項目都要佔用機構的資金和資源,立項評審一定要嚴格。建議對機構高層管理人員進行必要的立項管理培訓。


輸出文檔包括:
項目風險管理計劃、工作任務分解結構(WBS)、項目進度計劃、配置管理計劃、質量保證計劃、TimeSheet、開發規範文檔、測試計劃


二、需求分析
需求調研:與客戶就其所需要的功能、流程、操作等需要爲基礎,而且需求決策者必須是項目經理或部門負責人。
列一個需求管理(包括詳細的溝通計劃及要求溝通)計劃,考慮需求溝通中的人員、資源、時間的要求。
雖然有些因素是客戶方造成的,但應該站在其角度上,爲其考慮一些存在的客觀及主觀因素。
注意與項目成員之間的溝通方式及對團隊的建設。
把握需求分析的進度及質量是否符合要求。
根據交互設計原型與客戶交流需求分析是否達到要求及功能點是否有遺漏。
有哪些文檔或數據是由客戶提供的,這些數據是否需要在新開發的系統中維護等。


實施建議:
先對項目成員進行培訓,讓他們掌握必要的需求開發技能。(比如需求開發要做什麼,做到什麼程度,需要注意哪些問題等)
對需求開發過程域產生的所有有價值的文檔進行配置管理。
需求的建模分析有較高的技術難度,項目成員應當根據自身水平進行取捨。

交互設計中應以用戶的易用性爲前提然後考慮在這樣設計的前提下技術上實現是否有難度或者工作量超過前期設計的百分之二十.
(多用TAB形式,儘量讓客戶的某個角色的任務可以在一個頁面中完成,一般用上下文菜單,避免用系統的菜單,一個功能塊一般只需要一個入口)


輸出文檔包括:
產品需求分析說明書、數據流程圖、系統應用架構圖、交互設計原型、需求分析模型(RQM)


三、概要設計
確定影響系統設計的約束因素:本系統應當遵循的標準或規範、軟件、硬件環境(包括運行環境和開發環境)的約束、接口/協議的約束、軟件質量的約束、隱含約束等。
確定設計策略:擴展策略、複用策略、折衷策略。
系統分解與設計:將系統分解爲若干子系統,確定每個子系統的功能以及子系統之間的關係;將子系統分解爲若干模塊,確定每個模塊的功能以及模塊之間的關係。
數據庫概要設計。


輸出文檔:
產品概要設計說明書、數據概要設計模型(CDM)



四、詳細設計
確定功能模塊的參與者、數據庫表、輸入參數說明、前置條件、基本流程、異常流程、日誌等信息。
各層次結構的接口定義
數據庫設計:邏輯設計—>物理設計->安全性設計->優化


實施建議:
先對系統設計人員進行“專題”培訓,讓他們掌握必要的系統設計技能。
由於國內絕大多數的大學不開設“用戶界面設計課程”,這導致大部分軟件開發人員不善於設計用戶界面。項目開發小組應當設法邀請用戶界面設計專家參與(或指導)本軟件的

界面設計。
對系統設計過程中產生的所有有價值的文檔進行配置管理。


輸出文檔:
產品詳細設計說明書、數據物理設計模型(PDM)、自定義數據類型及BO數據類型文件、數據字典、系統測試用例、對象模型(OOM)


五、Coding
軟件編碼,各接口的實現。
單元測試。

實施建議:
對開發人員進行“高質量程序設計”培訓,讓他們掌握編寫高質量程序的技能。
對開發人員進行“版本控制、代碼審查、測試、改錯”等方面的培訓,提高他們的工作效率。
開發小組根據項目的資源、時間等限制因素,可以適當地減少測試的工作量。
對實現與測試過程中產生的所有代碼和有價值的文檔進行配置管理。



輸出:
單元測試報告、代碼評審報告


六、集成測試
根據系統測試用例測試系統的功能性需求,保證系統的正常功能處理及異常處理是否正確。
用戶界面測試,重點是測試軟件系統的易用性和視覺效果等。
健壯性測試,測試軟件系統在異常情況下能否正常運行的能力。(容錯能力和恢復能力)
安全性測試(這種測試一般能通過建行的fortify 軟件評測即可)
如果產品需要安裝,那麼還得經過安裝與反安裝測試

實施建議:
對系統測試人員進行必要的培訓,提高他們的測試效率。
項目經理和測試小組根據項目的資源、時間等限制因素,設法合理地減少測試的工作量,例如減少“冗餘或無效”的測試。
系統測試小組根據產品的特徵,可以適當地修改本規範的各種文檔模板。
對系統測試過程中產生的所有代碼和有價值的文檔進行配置管理。
爲了調動測試者的積極性,建議企業或項目設立獎勵機制,例如:根據缺陷的危害程度把獎金分等級,每個新缺陷對應一份獎金,把獎金髮給第一個發現該缺陷的人。


輸出:
系統測試報告、缺陷管理報告、操作手冊


七、客戶驗收
成果審查。驗收人員審查開發方應當交付的成果,如代碼、文檔等等。確保這些成果是完整的並且是正確有效的。
驗收測試。驗收人員對交付的產品進行全面的測試,確保產品功能、質量符合需求。
及時解決客戶方發現的問題。

輸出:
客戶驗收計劃、驗收測試用例、客戶驗收報告、驗收操作手冊


實施建議:
在客戶驗收之前,開發方對驗收人員進行必要的產品培訓。
開發方可以將系統測試用例給驗收人員參考,以減少設計測試用例的時間。
開發方人員應當熱情地協助驗收人員。對驗收人員發現的軟件缺陷馬上予以糾正;對於複雜的問題應當立即請示有關領導,不可拖延。在驗收期間不可與客戶爭吵,給客戶留下很

好的印象。
對驗收過程中產生的所有有價值的文檔進行配置管理。


八、結項
計劃與實際情況對比:產品功能、工作成果、產品質量、投入人員、工作量、成本等
申請結項理由和項目自我評價
對項目進行綜合評估,總結經驗教訓。


有價值的結項管理至少包括三項內容:
一、對項目的有形資產和無形資產進行清算,既要防止資產流失,又要及時地利用這些資產。
二、對項目進行綜合評估。例如評估項目完成情況、項目質量、投入產出分析、項目的市場價值、項目對企業的貢獻等等。該評估報告可以作爲考覈項目人員業績的重要依據。
三、總結經驗教訓,使整個機構受益。

實施建議:
對結項管理過程域產生的所有有價值的文檔進行配置管理。
做好必要的保密工作。
結項評審工作不能簡化。
對結項評審委員會進行必要的培訓,使他們樹立正確的觀念,從而嚴格把關

輸出:
結項申請書、結項評審報告



下面是這些核心工具的運用經驗:
1.必須建立源代碼的版本控制系統,就是cvs,基本的代碼提交原則:
1)程序員儘量每天只在下班前提交一次;
2)提交的代碼必須是在自己的機器上是正常運行的;
3)每次提交都必須用簡短的話說明自己提交代碼的功能描述。
2.建立錯誤追蹤系統,用Bugzilla就很好,配置好郵件系統,使Bugzilla成爲測試人員與開發人員溝通的橋樑。
3.用BAT和Perl腳本,以cvs中的源代碼爲核心實現簡單的每日編譯工具,將這個自己寫的自動化工具放到一臺專門的編譯機器上,在每天的半夜開始自動下載代碼,自動編譯代碼

,自動打包安裝程序,自動記錄各種編譯日誌,自動將安裝程序放置到一個固定的以日期爲目錄名的公共區。(用cvs2cl.pl得到程序員上傳的代碼更新日誌,以便測試人員參考)
4.測試人員的第二天,應該到公共區取得頭天的最新版本,並根據ChangeLog進行新版本的測試。並將測試中發現的Bug,通過Bugzilla反饋給程序員。程序員可以根據自己的情況

,或公司的規定來決定修改這些Bug的時間。並將這些Bug的修改情況,在代碼提交時,寫入代碼日誌。
5.開發人員的第二天,應該到公共區查看編譯日誌,看看自己的模塊是否正常編譯,及時更正,看看自己的郵箱有沒有Bug報告,及時修改。
6.管理人員的第二天,在綜合項目需求與頭天版本進度的上,可以判斷產品的發展方向,如果有偏航或理解錯誤或有新需求時,可以根據當前情況及時調整。
這樣,通過 cvs => bugzilla => daily-build,就能將程序員與測試員,進行互動,各施其責。減少溝通與人爲的麻煩。對於管理層,也能做到心中有數:因爲每天都有新版本, 隨時掌握產品的走向。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章