信息科技公司軟件開發部管理制度及軟件項目管理方法12頁.doc
下載文檔
上傳人:地**
編號:1294274
2024-12-17
12頁
297.54KB
1、軟件開發部規章制度及軟件項目管理方法第一部分:軟件開發部規章制度一、 日常工作制度:1、 關于休假、加班:嚴格遵守公司的考勤制度,如有事,提前書面形式填寫請假申請,批準后方可休假,如情況緊急不能提前填寫請假申請,要電話請示上級領導,并在休假后補辦請假手續。開發部人員在項目緊張時盡量不提出請假申請。研發人員原則上不安排加班,研發進度根據公司要求結合項目實際由項目組長負責制定,項目組長協調安排工作。項目組長根據進度需要安排的加班,加班費用由項目獎金中支出。公司工作需要硬性安排的加班,加班費有公司支出。相關標準按照國家相關制度執行。2、 開發部員工守則:遵紀守法,忠于職守,克己奉公。維護公司聲譽,保2、護公司利益。服從領導,關心下屬,團結互助。愛護公物,節約開支,杜絕浪費。努力學習,提高水平,精通業務。積極進取,勇于開拓,創新貢獻。3、 員工工作日志:l 工作日志制度的目的是形成嚴格的工作跟蹤和積累習慣,要求部門中項目負責人以下人員按要求每日記錄。l 工作日志是部門員工的工作記錄載體,起到部分績效考核和浮動工資的確定依據的作用。l 工作日志包含每日計劃和完成情況,每日工作始終時間,每日工作飽和度(5為最高,1為最低,如為請假,請注明“事假”或“病假”),次周計劃,以及問題、意見和建議。l 工作日志嚴格要求每日填寫,絕不允許在上交前統一填寫。填寫時注意清空原有內容。如發現某些欄目多周雷同的情況3、,將進行警告。l 每日工作內容如無特殊情況,至少需要寫3條以上。敘述工作內容要求盡可能說明清楚。不允許簡單的如“修改錯誤”的描述。l 工作日志嚴格要求在次周上午10:00前提交。不提交工作周報將適當予以懲罰。對于未提交日志的人員,部門經理保證當周內口頭通知。l 工作日志以Email形式提交給項目負責人和部門經理。部門經理收到后保證第一時間進行回復,并依此進行考核。文件名格式:*工作日志(200*年*月*日).doc。其中*為員工姓名,日期為提交日期。4、 項目月報制度:l 項目月報制度是保證項目順利推進的一種階段性總結和計劃載體的機制。l 項目月報由項目負責人負責擬定。l 項目月報應根據實際情4、況包含本月計劃、完成情況(含計劃的偏離情況)、成果和不足、突發事務及其解決情況、項目組成員工作情況、客戶反饋情況、下月計劃,以及問題、建議和意見等內容。l 項目月報由項目負責人于每月第五個工作日以前,通過Email提交給部門經理,經部門經理審訂后發布到項目月報文件夾中。l 部門所有成員可以查閱已發布的項目月報。l 項目月報的文件名格式為*項目月報($,200*年*月*日).doc。其中*為項目名稱,$為項目負責人姓名,日期為提交日期5、 項目例會制度:l 每月第一個周一上午10:30在公司會議室召開,部門所有人員(含參與部門人員為主導的項目并起核心作用的其他部門人員)參加。l 會議由部門經理召5、集,并由部門經理主持。l 會議議程:a)各項目負責人回顧上月工作情況、成果和不足,以及當月的大致工作計劃。b)部門經理總結上月工作,對不足的問題提出解決辦法。c)部門經理宣布公司近期動態和相關事項。d)部門經理做出工作方面的安排。e)部門人員暢所欲言,提出問題、想法、建議與意見。大家討論。f)部門經理解答部門人員的問題,并做出總結。l 部門人員輪流做會議記錄,并在會議結束后第二天內整理并在Vss中發布。文件名格式:軟件二部200*年*月*日例會(*整理).doc。其中日期為例會召開日期,*為會議記錄整理人的姓名。6、 部門例會制度:l 每周五下午在部門會議室召開,具體項目的所有參與人員參加。l6、 會議由項目負責人召集并主持,部門經理根據實際情況列席。l 會議指定固定人員做會議記錄,并在第二周周一上午9:30前整理并通過郵件發送給項目負責人。l 項目負責人修改并認可會議記錄后,在第二周周一上午11:00前在Vss中發布。文件名格式:*項目組例會(200*年*月*日).doc。其中*為項目名稱,日期為例會召開日期。二、 軟件開發部組織結構:三、 開發部人員崗位制度:1、 開發部經理崗位職責:職責:1) 制定產品的目標。2) 制定各個工作的詳細任務表,跟蹤這些任務的執行情況,進行控制。3) 組織會議對程序進行評審。4) 綜合具體情況,對各種不同方案進行取舍并做出決定。5) 協調各項目參與人7、員之間的關系。2、 項目組長崗位職責:1) 對項目經理負責,負責軟件項目的詳細設計、編碼和內部測試的組織實施,對小型軟件項目兼任系統分析工作。2) 參與需求調研、項目可行性分析、技術可行性分析和需求分析。3) 熟悉并熟練掌握交付軟件部開發的軟件項目的相關軟件技術。4) 負責向項目經理及時反饋軟件開發中的情況,并根據實際情況提出改進建議。5) 參與軟件開發和維護過程中重大技術問題的解決,參與軟件首次安裝調試、數據割接、用戶培訓和項目推廣。6) 負責相關技術文檔的擬訂。7) 負責對業務領域內的技術發展動態進行分析研究。8) 負責向項目經理、部門經理/副經理及時反饋實際工作中遇到的問題,并提出改進建8、議。9) 承擔相應的保密職責。10) 完成部門經理/副經理或項目經理交辦的其它工作。3、 一般開發人員崗位職責:1) 根據項目具體要求,承擔開發任務,按計劃完成任務目標。2) 配合系統分析人員完成軟件系統及模塊的需求調研與需求分析3) 配合系統分析人員完成軟件系統及模塊的設計4) 獨立完成軟件系統及模塊的編碼5) 協助測試試人員完成軟件系統及模塊的測試6) 負責編制與項目相關的技術文檔 四、 軟件研發人員績效考核:1、 目的:對軟件開發的過程所產生的軟件項的質量和過程進行定量的評價,用評價的結果指導軟件的開發過程,不斷地提高軟件開發質量水平,并依據度量記錄來考核軟件開發人員的工作績效。2、 軟9、件項包括:1)技術文檔:主要包括:可行性分析報告、需求分析報告、軟件功能規格說明、開發計劃、質量計劃、系統設計報告、測試文檔、技術報告、用戶手冊、總結報告等; 2)計算機程序。3、 度量數據來源:1)項目計劃; 2)評審報告; 3)測試報告; 4)問題報告; 5)軟件維護記錄;4、 質量度量:度量指標,主要根據各類軟件項檢查表的檢查指標來確定,例如,軟件需求規格說明書檢查表(見附錄1),有10個檢查指標,則根據具體項目檢查側重點不同,可從中選擇相應的檢查指標作為度量指標。 質量等級:1)軟件項的質量等級的確定根據度量綜合指標進行。 2)度量綜合指標計算公式為: Total = QiMi5、 過10、程度量:1) 及時度:以軟件項目計劃規定的的完成時間為基準2) 成熟度:以軟件項檢查、評審、測試的結果為評價基準3) 改善效率:在檢查、評審、測試的結果的基礎上改善軟件項結果,以改善的時間是否影響后續階段的完成和計劃的總體完成時間為評分依據6、 人員績效考核:1) 開發人員:軟件部門根據軟件項綜合評價表每個月或季度統計各開發人員所負責的軟件項的平均得分值,比較開發人員軟件項的平均得分值與績效考核標準范圍,確定開發人員績效考核評價。根據相應的績效考核成績決定每個開發人員的獎勵等級。2) 項目經理:軟件部門每個月或季度確定了項目組成員績效考核評價后,計算項目組的平均得分值,比較項目組的平均得分值與11、績效考核標準范圍,確定項目經理、開發經理績效考核評價。3) 測試人員考核:測試人員的缺陷查找質量度量表作為月度考核或季度考核依據,軟件部門根據軟件項綜合評價表每個月或季度統計各檢查人員或測試人員缺陷查找的平均得分值,比較檢查人員或測試人員缺陷查找的平均得分值與績效考核標準范圍,確定檢查人員或測試人員績效考核評價,績效考核為良好以上人員獎勵相應金額。五、 軟件資料控制管理:軟件測試由開發組和測試組人員共同進行,提前編寫測試計劃、側使用例,最后完成測試報告。軟件開發任務完成后,要提交一份詳細資料給公司IT人員。開發過程亦和公司IT專門人員配合。IT工作也可由研發部經理安排專門人員負責。六、 軟件研12、發部門項目獎金:根據公司相關項目性質,制定項目獎的比例,公司計劃類項目和工程盈利性項目可按照不同比例制定,盈利性項目可按照利潤的百分比制定項目獎,非盈利性項目由公司在項目完成后研究給與適當項目獎。項目獎由研發部經理、項目組長根據項目組成員實際工作情況,合理安排比例,報請公司批準后由公司統一發放。七、 關于部門協作的規定:市場部,不設立專門的平面設計人員及技術文檔、宣傳文檔人員,相關工作需部門之間合作完成,部門之間的合作,由部門經理協調,具體適宜由當事人協商解決,本著對公司工作負責的原則,部門經理根據實際工作安排決定有哪些人配合。第二部分:軟件項目管理方法軟件項目管理是為了使軟件項目能夠按照預定13、的成本、進度、質量順利完成,而對人員(People)、產品(Product)、過程(Process)和項目(Project)進行分析和管理的活動。軟件項目管理的根本目的是為了讓軟件項目尤其是大型項目的整個軟件生命周期(從分析、設計、編碼到測試、維護全過程)都能在管理者的控制之下,以預定成本按期,按質的完成軟件交付用戶使用。一、 軟件項目的計劃:軟件項目計劃是一個軟件項目進入系統實施的啟動階段,主要進行的工作包括:確定詳細的項目實施范圍、定義遞交的工作成果、評估實施過程中主要的風險、制定項目實施的時間計劃、成本和預算計劃、人力資源計劃等。軟件項目管理過程從項目計劃活動開始,而第一項計劃活動就是估14、算:需要多長時間、需要多少工作量、以及需要多少人員。此外,我們還必須估算所需要的資源(硬件及軟件)和可能涉及到的風險。為了估算軟件項目的工作量和完成期限,首先需要預測軟件規模。度量軟件規模的常用方法有直接的方法LOC(代碼行),間接的方法FP(功能點)。這兩種方法各有優缺點,應該根據軟件項目的特點選擇適用的軟件規模度量方法。二、 軟件項目的控制:對于軟件開發項目而言,控制是十分重要的管理活動。軟件質量保證(SQA,Software Quality Insurance)是在軟件過程中的每一步都進行的“保護性活動”。SQA主要有基于非執行的測試(也稱為評審)、基于執行的測試(即通常所說的測試)和程15、序正確性證明。(1)用分階段的生命周期計劃嚴格管理; (2)堅持進行階段評審; (3)實行嚴格的產品控制; (4)采用現代程序設計技術; (5)結果應能夠清楚地審查; (6)開發小組地人員應該少而精; (7)承認不斷改進軟件工程實踐地必要性。軟件配置管理(SCM,Software configuration management)是應用于整個軟件過程中的保護性活動,它是在軟件整個生命周期內管理變化的一組活動。1、目前軟件開發中面臨的問題 。在有限的時間、資金內,要滿足不斷增長的軟件產品質量要求; 。開發的環境日益復雜,代碼共享日益困難,需跨越的平臺增多; 。程序的規模越來越大; 。軟件的重用性16、需要提高; 。軟件的維護越來越困難。 2、軟件配置管理應提供的功能,在ISO9000.3中,對配置管理系統的功能作了如下描述: 。唯一地標識每個軟件項的版本; 。標識共同構成一完整產品的特定版本的每一軟件項的版本; 。控制由兩個或多個獨立工作的人員同時對一給定軟件項的更新; 。控制由兩個或多個獨立工作的人員同時對一給定軟件項的更新; 。按要求在一個或多個位置對復雜產品的更新進行協調; 。標識并跟蹤所有的措施和更改;這些措施和更改是在從開始直到放行期間,由于更改請求或問題引起的。3、版本管理 軟件配置管理分為版本管理、問題跟蹤和建立管理三個部分,其中版本管理是基礎。版本管理應完成以下主要任務: 17、。建立項目; 。重構任何修訂版的某一項或某一文件; 。利用加鎖技術防止覆蓋; 。當增加一個修訂版時要求輸入變更描述; 。提供比較任意兩個修訂版的使用工具; 。采用增量存儲方式; 。提供對修訂版歷史和鎖定狀態的報告功能; 。提供歸并功能; 。允許在任何時候重構任何版本; 。權限的設置; 。晉升模型的建立; 。提供各種報告。三、 軟件項目管理的組織形式:軟件項目可以是一個單獨的開發項目,也可以與產品項目組成一個完整的軟件產品項目。如果是訂單開發,則成立軟件項目組即可;如果是產品開發,需成立軟件項目組和產品項目(負責市場調研和銷售),組成軟件產品項目組。公司實行項目管理時,首先要成立項目管理委員會,18、項目管理委員會下設項目管理小組、項目評審小組和軟件產品項目組。 1、項目管理委員會項目管理委員會是公司項目管理的最高決策機構,一般由公司總經理、副總經理組成。主要職責如下: (1)依照項目管理相關制度,管理項目;(2)監督項目管理相關制度的執行;(3)對項目立項、項目撤消進行決策;(4)任命項目管理小組組長、項目評審委員會主任、項目組組長. 2、項目管理小組 項目管理小組對項目管理委員會負責,一般由公司管理人員組成。主要職責如下: (1)草擬項目管理的各項制度; (2)組織項目階段評審; (3)保存項目過程中的相關文件和數據; (4)為優化項目管理提出建議。 3、項目評審小組 項目評審小組對項19、目管理委員會負責,可下設開發評審小組和產品評審小組,一般由公司技術專家和市場專家組成。主要職責如下: (1)對項目可行性報告進行評審; (2)對市場計劃和階段報告進行評審; (3)對開發計劃和階段報告進行評審; (4)項目結束時,對項目總結報告進行評審。4、軟件產品項目組 軟件產品項目組對項目管理委員會負責,可下設軟件項目組和產品項目組。軟件項目組和產品項目組分別設開發經理和產品經理。成員一般由公司技術人員和市場人員構成。主要職責是:根據項目管理委員會的安排具體負責項目的軟件開發和市場調研及銷售工作。四、 人員的組織與管理:軟件開發中的開發人員是最大的資源。對人員的配置、調度安排貫穿整個軟件過20、程,人員的組織管理是否得當,是影響對軟件項目質量的決定性因素。 首先在軟件開發的一開始,要合理的配置人員,根據項目的工作量、所需要的專業技能,再參考各個人員的能力、性格、經驗,組織一個高效、和諧的開發小組。一般來說,一個開發小組人數在5到10人之間最為合適,如果項目規模很大,可以采取層級式結構,配置若干個這樣的開發小組。 在選擇人員的問題上,要結合實際情況來決定是否選入一個開發組員。并不是一群高水平的程序員在一起就一定可以組成一個成功的小組。作為考察標準,技術水平、與本項目相關的技能和開發經驗、以及團隊工作能力都是很重要的因素。一個一天能寫一萬行代碼但卻不能與同事溝通融洽的程序員,未必適合一個21、對組員之間通訊要求很高的項目。還應該考慮分工的需要,合理配置各個專項的人員比例。例如一個網站開發項目,小組中有頁面美工、后臺服務程序、數據庫幾個部分,應該合理的組織各項工作的人員配比。在決定一個開發組的開發人員數量時,除了考慮候選人素質以外,還要綜合考慮項目規模、工期、預算、開發環境等因素的影響.在組建開發組時,還應充分估計到開發過程中的人員風險。由于工作環境、待遇、工作強度、公司的整體工作安排和其他無法預知的因素,一個項目尤其是開發周期較長的項目幾乎無可避免的要面臨人員的流入流出。如果不在項目初期對可能出現的人員風險進行充分的估計,作必要的準備,一旦風險轉化為現實,將有可能給整個項目開發造成22、巨大的損失。以較低的代價進行及早的預防是降低這種人員風險的基本策略。具體來說可以從以下幾個方面對人員風險進行控制: a保證開發組中全職人員的比例,且項目核心部分的工作應該盡量由全職人員來擔任, 以減少兼職人員對項目組人員不穩定性的影響。 b建立良好的文檔管理機制,包擴項目組進度文檔、個人進度文檔、版本控制文檔、整體技術文檔、個人技術文檔、源代碼管理等。一旦出現人員的變動,比如某個組員因病退出,替補的組員能夠根據完整的文檔盡早接手工作。 c加強項目組內技術交流,比如定期開技術交流會,或根據組內分工建立項目組內部的開發小組,是開發小組內的成員能夠相互熟悉對方的工作和進度,能夠在必要的時候替對方工作23、。 d對于項目經理,可以從一開始就指派一個副經理在項目中協同項目經理管理項目開發工作,如果項目經理退出開發組,副經理可以很快接手。但是只建議在項目經理這樣的高度重要的崗位采用這種冗余復制的策略來預防人員風險,否則將大大增加項目成本。 e為項目開發提供盡可能好的開發環境,包括工作環境、待遇、工作進度安排等等,同 時一個優秀的項目經理應該能夠在項目組內營造一種良好的人際關系和工作氛圍。良好的開發環境對于穩定項目組人員以及提高生產效率都有不可忽視的作用。五、 軟件項目管理的的原則:1平衡原則 2高效原則3分解原則 4實時控制原則 5分類管理原則6簡單有效原則 7規模控制原則六、 軟件開發不同階段必須24、具備的文檔資料:項目階段所需文檔開始編碼前需求分析總體設計詳細設計(總體設計和詳細設計可以合并在同一個文當中)提交驗收javadoc測試計劃(對于用戶前臺,需要手工測試的模塊)產品發布操作手冊公司項目開發周期分為以下幾個步驟:步驟說明參與角色生成文檔或程序(打*號為可選)可行性分析對項目的技術,功能需求和市場進行調研和初步分析,確定是否需要立項開發。部門主管核心技術員可行性分析報告*技術調研報告*立項正式立項,由部門主管指定項目經理,項目經理制定初步計劃。初步計劃包括設計和開發時間的初步估算。部門主管核心技術員項目初步計劃需求分析對項目進行詳細的需求分析,編寫需求分析文檔。對于B/S結構軟件系25、統需要制作靜態演示頁面。需求分析文檔和靜態演示頁面需要通過部門主管審批才能夠進行到下一個步驟項目經理項目核心小組需求分析文檔靜態演示頁面項目計劃修訂版本詳細設計根據需求分析對項目進行詳細設計。詳細設計以后,項目經理同部門主管一起指定項目小組開發成員。項目經理項目核心小組詳細設計文檔項目計劃確定版本開發根據設計開發項目,由美工對操作界面進行美化。項目經理項目開發員美工項目計劃修訂版本*測試項目經理提交測試申請,由測試部門對項目進行測試。項目小組配合測試部門修改軟件中的錯誤。項目經理項目開發員測試部測試申請測試計劃測試報告項目驗收項目驗收歸檔部門主管項目經理項目所有文檔和程序七、 軟件評審:軟件評26、審并不是在軟件開發完畢后進行評審,而是在軟件開發的各個階段都要進行評審。因為在軟件開發的各個階段都可能產生錯誤,如果這些錯誤不及時發現并糾正,會不斷地擴大,最后可能導致開發的失敗。 軟件評審是相當重要的工作,也是目前國內開發最不重視的工作。 (1)評審目標 。發現任何形式表現的軟件功能、邏輯或實現方面的錯誤; 。通過評審驗證軟件的需求; 。保證軟件按預先定義的標準表示; 。已獲得的軟件是以統一的方式開發的; 。使項目更容易管理。 (2)評審過程 A、召開評審會議:一般應有3至5人參加,會前每個參加者做好準備,評審會每次一般不超過2小時。B、會議結束使必須做出以下決策之一:接受該產品,不需做修改27、;由于錯誤嚴重,拒絕接受;暫時接受該產品。C、評審報告與記錄;所提出的問題都要進行記錄,在評審會結束前產生一個評審問題表,另外必須完成評審簡要報告。 (3)評審準則 。評審產品,而不是評審設計者(不能使設計者有任何壓力); 。會場要有良好的氣氛; 。建立議事日程并維持它(會議不能脫離主題); 。限制爭論與反駁(評審會不是為了解決問題,而是為了發現問題; 。指明問題范圍,而不是解決提到的問題; 。展示記錄(最好有黑板,將問題隨時寫在黑板上); 。限制會議人數和堅持會前準備工作; 。對每個被評審的產品要盡力評審清單(幫助評審人員思考); 。對每個正式技術評審分配資源和時間進度表; 。對全部評審人員進行必要的培訓; 。及早地對自己地評審做評審(對評審準則的評審)