實戰解法:如何做好需求變更?

1 評論 19585 瀏覽 84 收藏 14 分鐘

如何制定一份縝密的項目計劃可能并不是項目中最難的事情,要應對計劃之外的情況,才是最令大家頭痛的地方。在項目實際推進過程中,不加控制的需求變更往往給項目帶來沉重的負擔和無法預料的風險。因此,設計一套合適的需求變更管理流程和規范,對項目和項目經理而言都是不可或缺的。

問題分析

首先對筆者所在項目做一個簡單介紹:產品層面,我們是一個C端產品,需求主要來源于運營和策劃,就產品階段而言正處于轉型期,現階段主要以新功能探索為主;項目層面,由于功能較為復雜龐大,可切割空間不大,因此每個版本周期都較長(每個版本的產品準備周期,研發周期分別都在15~20個工作日左右),從產品設計到研發并上線的主干流程是具備的,如下:

筆者定義需求變更包含兩個層面,一是在產品設計階段:需求評審結束,PRD文檔定稿后再對需求稿進行更改,定義為需求變更;二是研發排期結束,定稿開發測試上線計劃,之后凡是計劃外的變化都定義為需求變更。

一開始項目上并沒有對需求變更的流程規范做清晰的定義,因此項目實際推進過程中會出現諸多由變更引發的問題,下面結合實際問題做逐一說明:

問題一:變更多:一開始,項目最大的問題是需求變更很多,如果只是猛的一頭扎進流程中去,反而浪費時間,所以我們嘗試去分析這些變更的原因,看看是否能在源頭堵住變更。經過判斷,發現相當一部分變更是因為需求設計不夠健壯或者交互對需求的理解不到位,在后續的階段發現,進而才開始修改或新增需求。

問題二:變更不規范:變更是在所難免的問題,大家坐下來聊一聊,如果感覺不錯那就把這個變更做了吧,這是我們之前的做法。但,由于缺乏一個明確的基本流程規范,一到變更的時候,處理事情往往丟三落四,進而會出現以下問題:

  • 變更需求提出人太多,不知道聽誰的
  • 變更提出的太晚,留給項目的時間不多了
  • 變更到底做不做,什么時候做等信息,在各個角色間的信息不同步

問題三:問題帶來風險:項目過多關注于討論變更本身以及變更的意義,往往忽略了實施變更往往會沖擊原有計劃,缺乏完整的風險分析;在變更執行的時候,沒有相對固定的套路和章法,執行過程很松散,缺乏一些有效的監控,過程風險演變不得而知。

解決方案

我們在給出解法的同時還需注意到,項目管理所依賴的流程和規范若太強則使項目運轉繁瑣低效;但過弱則又使項目松弛散漫。因此,設計對應辦法的時候需要充分考慮各種方案,選取最簡單的方式來實現規范管理。

針對問題一,我們決定優化原有的主干流程,增加一個承上啟下的環節做需求確認;針對問題二和問題三,我們規范了變更如何審批,變更如何執行兩個過程;建立方式監控項目對變更工作量的承受情況。

主干流程優化

項目上根據實踐經驗發現僅靠需求評審無法完全保證需求方清楚的澄清所有需求,以及交互方充分的理解需求方的要求,其本質原因在于PRD并不能完整的描述清楚整個場景,許多需求層面的細節和串聯即便在需求評審結束后依然可能覆蓋不全;只有隨著交互設計師把需求完善成結構嚴謹的邏輯圖和場景說明,往往才會發現一開始需求設計不到位的情況,在大版本的情況下,等到整個交互稿都拿出來了再去做變更,變更代價過大/感受也不好。

因此,對于較為復雜的設計,在交互評審之前會拆分一個環節出來,做一個交互主場景的評審。通過新增的環節,確保需求的健全和完善,減少流入后續階段的需求變更數量。

這個做法適用于策劃變更PRD頻繁,以及功能過于復雜伴隨較大的潛在變更風險兩個場景。PRD頻繁變更頻繁并不完全因為功能邏輯設計有漏洞,還有可能是產品規劃/商業分析論證等前置流程沒做好,這種背景下光是增加一個主場景的評審是沒用的,讀者需要仔細分析。

這樣一個交互主場景的評審,具體操作建議如下:

  • 時點:這個環節安排在需求評審結束后,交互評審開始前,且建議在需求評審后盡快安排,大概2個工作日內安排;
  • 內容:交互理解策劃PRD說明后,初步制作交互稿,粒度達到覆蓋主要的場景及完整的邏輯流程,然后召開主場景評審會與策劃/需求方進行確認,確保需求理解正確和需求的健全。
  • 參與人:需求提出方(如運營,市場等),策劃,交互

變更規范明確

變更流程的規范涵蓋兩個主要方面,一是明確變更管理的基本理念;二是明確一旦要做變更,需要依序執行的步驟。

管理變更的理念>>

變更管理的核心在于評估需求變更的價值,然后決定做不做以及是否在當前版本做,我們嘗試從更多角度去思考,包括說產品的規劃,需求的特點。

首先分析產品階段特點:我們處在產品轉型這樣一個新舊交叉時期(簡單說就是一方面要維護原有功能,另一方面更需探索設計新的功能),因此這個時期的需求變更可以劃分成四個維度:原有核心功能,原有周邊功能,新功能核心功能,新功能周邊功能;變更也按上述維度進行分類,再考慮版本上線時間和質量,按照以下順序去考慮需求變更(筆者假設質量是恒定的,范圍和進度是變量,所以對范圍和進度進行優先級排序):新功能核心功能變更>原有核心功能變更>版本上線時間>新功能周邊功能變更>原有周邊功能變更。

同時,十分不建議因為緊急需求變更去延遲既定的上線時間,對于項目而言,上線時間是一個很嚴肅的事情,不能輕易的去改變,是大家共同守護的目標。因此,我們定義需求變更凍結時點,原則上在凍結點后不接受任何變更。關于需求凍結點如何設置,不同的項目需要根據實際情況做分析,比如我們的做法是:產品階段的凍結時點是交互場景評審結束后兩天內;研發階段的凍結時點是提測點前兩天左右(設置的原則就是做版本計劃的時候,開發在估算提測時間同時確認showcase時點作為凍結點,而這個時間一般就是提測點前兩天左右)。而實際上對這兩個凍結點,我們會側重于對后一個凍結點的管理。

在應對變更的整體思路上,除了以上的實踐經驗總結而來的基本思路,還建議有條件的項目盡量嘗試固定時間研發迭代時間,周期上如果能達到兩周一迭代是最理想的。我們也嘗試一周一迭代,這時候在應對需求變更的時候明顯更加從容,但適用場景有限,細碎的優化需求是周迭代處理的重點。

執行變更的步驟>>

其實變更如何執行,并沒有一個一成不變的套路,但結構上其實還是大同小異,筆者給出項目上的一些實踐供大家參考:

  • 需求方提出變更(建議同一個角色集中由一個人來提變更,比如運營/市場需要分別指定唯一的輸出需求變更的接口人),策劃評估變更必要性,制定變更的方案(建議變更統一由當前版本負責的策劃來統一收集和輸出);如果需要交互設計,需要和交互一起討論實現方案。
  • 策劃通知開發,開發同學評估變更工作量,一般情況下,開發和策劃共同決定是否在當前版本實現變更,如果意見不能一致,需要提交可以負責的干系人審批決定,但這種情況往往較少,大部分情況還是要靠產品和開發撕出一個結論。
  • PK成功的變更將進入研發,站會周知,項目經理評估風險;PK失敗的變更進入需求池,在池子里重排優先級。對于PK成功的變更,一般而言我們會拿掉一個優先級較低的需求,保證迭代里工作量相對恒定;但,這只是原則上的做法,我們也會靈活的分析當前剩余工作量,來決定是否可以直接添加變更,這種做法建議是盡量要少。
  • ?在變更執行過程中去監控狀態和風險:我們在項目過程中利用jira的dashboard去監控各個開發變更工作量和剩余時間,利用每日站會去不斷review確認隊列中的變更,按照優先級依次完成項目允許范圍內的變更。說明:項目上常常會有這樣的情況,大型的需求變更往往比較正式的走流程,風險比較好把控;對于細碎的小變更,在沒法打包統一處理的情況下,單個開發人員會陸續承受一個一個而來的多個小問題,而這些細小的問題你很難做去做時間承諾,只能大致的感受很簡單+可以改,最終結果可能就是這樣:不知不覺中,隊列中的變更會慢慢增多,一個個未經詳細估算的小點匯聚成較大的風險。

總結

最后總結一下,除了要梳理好策略和流程規范去管理變更和執行變更,還需要選取合適時機引導團隊復盤變更的原因,持續改進策略和流程規范。復盤中需要排除干擾因素,聚焦高頻變更并分析產生的本質。復盤除了支持持續改進,形成流程閉環,也有助于團隊就變更原因和解決方案達成共識,提高團隊管理變更和執行變更兩方面的執行力。

如何深入的做好變更管理,簡化變更的步驟,仍在探索優化中,歡迎大家與我交流。

 

作者:何雨,網易杭研項目管理部高級項目經理,先后在網易GACHA、網易云公共產品部擔任項目經理。關注Agile、scrum在互聯網產品的實踐和團隊的成長?!毒W易一千零一夜》主要編輯之一。

本文由@網易杭研項目管理(微信公眾號:NetEasePM)原創發布于人人都是產品經理。未經許可,禁止轉載。

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 啊,最近深受需求頻繁變更,計劃延期的困擾,希望可以交流!

    來自浙江 回復