項目研發流程及管理之我見
阿新 • • 發佈:2018-08-24
準備 處理 日誌 哪些 修復 分代 成功 接口 協作 隨著工作年限的增長,我們從一開始負責一個功能,再到負責一個模塊的數據字典及框架設計。再到負責整個系統的需求評審及架構設計。這一路見證著程序猿的成長。但當我們逐步成為一名架構師,或是一名項目管理人員時,會發現一個項目的成功,會牽扯到各式各樣的問題及風險。無論是系統本身要兼容快速發展的業務形態,還是由於人員因素導致的項目延遲,又或是系統代碼的臃腫或是難以維護,亦是新人來後的一臉迷茫。
那麽下面,分享下,項目流程管理之我見。
一、整體項目流程
1、 需求評審與確認
要求:PD會進行需求的整理並放入需求資源池。確定本期研發的功能需求,並開始需求評審,需求評審時,能夠使技術人員能夠完全理解本次需求的前因後果,作用,目標及整個流程。
產出:該階段主要為pd產出相關prd及demo,對需求進行宣講,並記錄疑問及難點。
2、模塊流程文檔
要求:圍繞著本次叠代的核心問題,編寫整個模塊的閉環業務流程。如有復雜邏輯,需要畫出用例圖、協作圖等。
同時,要給出該模塊的非功能性需求,例如:調用量、日均增量、訪問次數等待。
產出:領域模型、開發模塊架構圖、技術架構圖、人員分工(每個人負責哪個模塊)
3、詳細設計及評審
(1)概念映射:抽取本次模塊叠代的一些屬於概念。
(2)框架設計:圍繞著本次叠代的核心,進行模塊的擴展構思,不僅僅以完成本次功能的模塊為主旨,還需要考慮未來的體系中,該模塊的可用性、擴展性。
(3)數據庫設計:數據庫設計時要嚴格遵守數據庫範式、同時圍繞系統做到可擴展。
(4)功能細化與調研各個環節中需要調用哪些接口服務。
(5)前後端傳輸對象的映射及定義,進行前後端最後評審。
產出:技術架構圖、數據庫關聯關系圖等,一致評審通過後,形成完整文檔。
4、編碼
(1)圍繞著模塊的核心構建核心框架代碼(遇到問題可互相討論)
(2)編碼及功能實現。
(3)接口註釋、復雜邏輯註釋。
5、測試
要求:測試階段,根據代碼邏輯,編寫每一個case的相關測試用例及單元測試。變更覆蓋率不得低於百分之80。
產出:測試用例文檔及單元測試TestCase。
6、發布前準備與發布
要求:查看代碼檢測工具,質量分不得小於35分、行單測覆蓋率不得小於百分之60。從開發->集成->預發->發布階段,每一階段都需要進行驗證及日誌查看。
註:預發前要充分做好回歸測試(根據每次叠代的測試用例及單元測試進行測試),防止線上已有功能受到影響。
7、線上問題修復及運維
要求:(1)發布上線後出現問題,需要緊急變更處理,做好線下及預發驗證,發布線上。同時在lark上記錄該問題的前因後果。
(2)約定時間,每日查看自己負責的模塊及整體系統運行情況,發現問題及時拋出。
二、代碼質量及review
要求:每次叠代完的下個星期,抽出一下午時間進行代碼質量及review(pmd檢測大部分代碼質量問題),包括:
(1)代碼結構是否合理,能否有更好的實現。(結構角度、方法抽象、jvm堆棧內存占用等)
(2)代碼中沒考慮到的情況
三、項目管理
項目管理要點分為,時間把控、風險把控、補位意識、結果與目標導向四點:
時間把控:
(1)整個項目流程分為需求、設計、開發、測試、實施階段。根據需求的復雜度、團隊整體能力水平、調研負責度進行叠代周期的預測。
(2)一旦時間確定下來,就嚴格按照每個階段的產出實行。
風險把控:
(1)意外情況或有進度風險的情況。需要及時暴露出來 風險原因及風險問題。並進行相關協調溝通,補位意識。
補位意識:
(1)項目風險確定,每個成員都有自身的長項,發現影響進度的問題,包含於自己能力的能力範疇內,幫助對方提速,追趕項目進度。
結果與目標導向:
(1)保質保量完成需求及模塊的叠代。
(2)優化review及補充,使每個人能夠知道對方模塊的邏輯及全系統邏輯。
(3)問題總結及技能總結。
(4)從整個系統的層面、業務大圖的層面去考慮整個系統或產品的發展及擴展。
當然,現實或許是殘酷的,時間或許是緊迫的。很多時候,我們會因為各種各樣的原因而擱置其中的部分流程。但規範決定著長遠的風險可控,倘若有時間一定要將必要的補上,這是對別人負責,同時也是對自己負責。
項目研發流程及管理之我見