项目过程管理
項目過程管理
1. 項目所需要的文檔(需要歸檔)
- 需求文檔(需求評審時的問題列表)
- 技術文檔(技術評審時的問題列表)
- 排期文檔
- 開發文檔(記錄開發過程中遇到的難題和解決方案)
- 測試文檔(測試提供UT報告和壓測報告)
- 風險點(列出項目風險點并做好預案)
- 上線時的checklist
- 算法/服務維護列表
- 算法/服務過程中的問題記錄(包括問題本質和解決方案)
- 算法的輸入、輸出記錄
2. 需求評審
需求評審之前,先仔細看一遍需求文檔,做什么事情心里大致有個概念。具體來說需要明確以下幾點:
- 需求的目的是什么?
- 需求相對于產品來說是否合理?
- 考核指標是什么?
- 是需要重新開發還是復用現有應用?
- 需求的量級如何?
- 需求實現后對產品產生怎樣的影響?
以上有些問題對于一個開發來講是有點超出范圍了,但是對于一個合格的項目負責人來說是的確要思考的問題。只有從業務需求本身思考需求,才能將需求做的更好。
需求評審時,在理解需求的基礎上,進一步確認,并將還存在的問題當場提出,需要得到產品同事的立即回復。問題可以列在需求的問題列表里。
如:
| 1 | 需求的目的是什么? | 提高日活 |
| 2 | 考核指標是什么? | CTR |
3.技術評審
明確了需求之后,要確定所需要的技術棧,再從架構、模塊方面考慮技術設計。
3.1 明確技術棧
比如,一個完整的推薦系統,需要哪些技術棧:
- 大數據相關:hadoop、spark、hive
- 機器學習相關:ml、tensorflow
- 算法:cf、svd、rank、filter
- 算法服務實現:java、spring cloud、redis
- 實時流數據處理:flink、spark streaming、storm
- 數據分析:python、hive sql
3.2 明確子系統劃分
以上用到的技術棧是怎么劃分在各個子系統的,它們之間是怎樣協作的,這是要考慮的第二個問題。
推薦系統可以劃分為以下子系統:
- 離線算法
- 實時算法
- 算法服務
將以上子系統整合起來,形成整體框架。畫出框架示意圖:
同時,劃分清楚子系統后,要明確子系統之間的交互和協作。
3.3 明確與外部系統的交互
一般通過暴露接口的方式對外提供服務,那么就得明確接口的參數定義和結果返回,且要與調用方明確接口。
| 1 | Map<String, String> getRecRsByUserId(String userId, String businessId, String sceneId); | String userId 用戶id,String businessId 業務id,String sceneId 場景id | 推薦結果對象 |
3.4 技術評審時的問題列表
在評審時,技術設計人員需要一一回答評審過程中參與評審的人員提出的問題,并記錄在表中,無法回答的,需要線下進行解答。無重點技術問題和難點時,技術評審通過。
| 1 | FTRL實時實現流程? | 參見文檔 |
| 2 | user-cf 開發的數據輸入? | 用戶-資訊矩陣 |
4.排期文檔
排期文檔要明確以下重要內容:
- 模塊、任務劃分
- 完成時間
- 任務負責人
排期需要按照大致的可完成時間進行估計,要實事求是。可以進行風險預估并留出一定的時間,但是不能太多。后續將根據小組成員的實際工作情況來檢查排期計劃是否合理。
排期文檔一旦確定,就需要嚴格按照排期進行,到任務檢查點就去檢查,嚴格考核是否已完成。
5.開發文檔
開發文檔主要記錄開發過程中遇到的問題和相應的解決方案,作為寶貴的經驗積累向大家進行分享。
6.測試文檔(測試提供UT報告和壓測報告)
7.風險點(列出項目風險點并做好預案)
8.上線時的checklist
列出依賴關系,尤其是依賴的外部應用,數據庫,redis,離線算法,實時算法等
9.算法/服務維護列表
| 1 | 9/28/2018 18:40 | xxx | 修改算法服務 | 主流程和ab流程合并;調整取算法結果的順序:personaltopn第一,用戶畫像第二,算法0第三,算法5第四 | 瀏覽器彈窗 | 提高算法覆蓋率,代碼優化 |
| 2 | 9/27/2018 15:00 | xxx | 用戶畫像2.0 | 1、單用戶推薦廣告類增加到3個,每類推薦3個廣告;2、上線用戶畫像數據中文版hive表 | 瀏覽器彈窗 | 豐富廣告推薦內容,以利于排序 |
| 3 | 10/09/2018 10:40 | xxx | ab服務增加時間監控 | ab服務模塊 | 增加時間log信息 | 瀏覽器彈窗 |
10.算法/服務過程中的問題記錄(包括問題本質和解決方案)
主要用作線上問題的定位和跟蹤。
11.算法的輸入、輸出記錄
記錄每一種算法的所有輸入表和輸出表
總結
- 上一篇: Hi3516A开发--常用指令和根文件目
- 下一篇: Hi3516A开发--挂载SD卡和U盘