一、背景說明
在軟體開發領域中,流程協作一直是熱門的話題之一,不同的組織架構中,定義不同角色和人員的職責範圍,并且通過流程規範來管理不同角色之間的銜接機制,以求不斷提高協作效率。
核心要素
- 角色:不同的組織架構下,角色配置各不相同,角色與人員對應明确;
- 職責:對不同角色的責任定義,用來明确介入流程的階段與時間;
- 流程:根據場景定義對應的流程中節點順序,例如開發、測試、部署;
- 節點:明确不同節點中的負責角色,作為節點有序完成的推動者;
合理的流程管理機制,有利于高效的工作;為了避免流程協作過度複雜,同時還要制定協作規則,例如常說的事不過三(或二),第一責任人等手段。
二、正常流程
産品從需求到釋出中間經曆多個關鍵節點,在協作的過程中,任何階段出現問題,都會對整個流程的上下遊産生影響,是以對各個節點輸出結果的品質需要有适當的要求,避免出現工作反複的低效率情況。
從如下四個方面看具體細節:産品需求、項目管理、研發管理、項目總結,把握好這幾個關鍵階段對團隊的穩定和效率都有巨大的提升。
三、産品需求
- 收集:多方需求的接收,可能是業務側、産品規劃、系統優化、架構更新、等多個來源;
- 整理:對收集的需求分類整理,根據重要緊急的政策做好需求統籌和實作的規劃,提供初版文檔;
- 業務評審:給到業務(需求)方流程管理,産品初版的操作示意圖,對齊心裡上的預期;
- 技術評審:完善需求的細節規則,技術評估合理性、可實作性、複雜度、風險等相關問題;
産品需求階段作為軟體開發的最上遊節點,這個階段一定要輸出需求明确,符合業務預期,技術可實作的産品文檔,多方達成共識之後,郵件的方式通知到相關人員,以表示目前階段工作完成。
四、項目管理
項目管理是一件繁雜的事情,通常分為:啟動、執行、監控、收尾四個階段,以此實作項目的"品質、成本、時間"的把控,在不降低品質的情況下,同時降低時間和成本是多數公司的追求,故而形成現在網際網路的内卷态。
- 啟動:啟動階段主要指資源的合理配置設定,項目工時評估,裡程碑節點明确等事項;
- 執行:在軟體開發中即指:UI設計,開發實作,測試,線上部署等一系列流程;
- 監控:關鍵點在于進度與風險,對進度的有節奏跟進,以及可能出現的風險判斷和解決方案;
- 收尾:對項目的品質驗收,整個流程的複盤總結,以及相關人員的通知;
項目管理作為職場中的基礎能力,對于任何人員都是值得用心去積累沉澱的,并且時常思考如何去優化管理政策與方式,以此讓做事的效率更加高效和有條理性。
五、研發管理
研發是一個耗時較長且容易出現問題的階段,是以在這個節點要細緻化的管理和推動,對品質的追求要放在絕對首位,避免因為"多-快-好-省"的想法而出現豆腐渣工程,如此返工帶來的成本會更加高昂。
- 準備:即在版本開發初期,要精準的了解需求,完成功能子產品拆解,以及對應的工時評估;
- 設計:UI界面輸出,開發前後端設計,測試用例,各個節點完成設計的評審對齊;
- 編碼:前後端代碼實作,API對接聯調,配置改動、結構腳本、邏輯流程等日常文檔記錄;
- 測試:開發自測,專業測試,自動化腳本測試,UI視覺驗收,産品功能流程驗收;
- 釋出:預釋出環境模拟部署,線上灰階環境釋出,正式生産環境上線,完成線上驗收;
作為一名多年的開發(後端)選手,這裡對開發的過程大緻細化如下幾個節點,當然這裡指的是複雜的業務實作,下述流程執行時極少出現意識偏差的情況:
服務端在面對複雜業務時,将需求落實到設計上至關重要,首先就是對需求有全面細緻的了解,很多時候流程中的一個細小規則對應的實作成本都是巨大的,其次就是對于開發流程的構思設計并輸出,并完成項目組内開發的評審對齊,這樣基本能確定開發的順利完成。
六、項目總結
在複雜的項目中,最後的總結分析很容易被忽略掉,總是感覺版本正常上線沒有問題就可以,當然作為一名開發選手我的内心是支援這個說法的。
複雜的業務對應複雜的産品設計,同時也意味着超長的項目周期,即高昂的成本,線上的正常使用隻是意味着研發的品質很高,但是對整體業務的需求和産品設計的合理性是需要基于使用者的使用去分析:
- 動作埋點:對業務流程上的各個環節做埋點動作,用來對行為資料的收集;
- 日志采集:關鍵API的請求做日志記錄,用來對系統及業務做分析判斷;
- 資料分析:分類彙總業務流程中各個核心節點資料,形成一整套的資料分析結果;
- 總結報告:結合業務的需求,對産品功能做出客觀的分析,并輸出必要的優化方案;