B端產品雙周迭代交付的思考
編輯導語:雙周迭代是控制團隊交付節奏的,但如果沒有運行好的話,后續可能會出現一系列的Bug;怎么控制節奏,讓產品無缺陷的準時上線,需要產品經理和整個團隊的配合;本文作者分享了關于B端產品雙周迭代交付的詳細思考,我們一起來看一下。
一、背景
筆者之前在職一家傳統制造業公司做產品,負責的產品線可以劃分至電商類B端產品,業務體量每周在幾百萬級別。
部門基于交付質量及交付周期的一系列考量,在一個風和日麗的日子,推行雙周迭代。
有點類似敏捷,但實際不是;熟悉敏捷的人都知道,敏捷開發是輕流程輕文檔的,其過程曲線是螺旋上升式的;我司施行的迭代實際就是小型的瀑布式項目,按照雙周的節奏進行交付。
二、過去VS現在
簡而言之,過去版本發布沒有控制節奏,有需求、缺陷完工了就安排上線,視優先級安排發布;可能極端的情況是一天發幾次,當然前提是不影響業務正常開展。
現在則是按照約定的節奏,只允許雙周發布一次,遇到特殊情況則需申請走緊急發布。
三、過程執行
雙周迭代的大前提下,要求嚴格按照瀑布式的流程來走,具體:
- 需求或缺陷需要從內部系統收集,并且確定承諾解決時間之后進入禪道系統,延期未解決的缺陷或者按照優先級排出的需求沒上將扣項目KPI;
- 每一次雙周迭代需要在禪道上維護計劃,并關聯相應的版本和需求,版本日期與常規發布的日期一致,命名需按照規范,否則同上視為不合規,扣合規性KPI;
- 所有需求需要拆解成為方案、開發、測試任務,由不同角色去創建,指派以及跟蹤閉環;如果沒有定義任務的起止日期也將被審計定義為不合格,扣合規性KPI;為每個需求建立測試用例,開發完畢提交測試需建測試單以及關聯用例,缺陷則不需;
- 系統發布或者數據變更,需要走OA流程發起,并附相應的測試記錄清單,流程審批完之后才能發布上線;
- 雙周即小項目,該有的需求調研,解決方案設計、設計評審、開發、代碼評審、集成測試、UAT測試、上線準備、發布、發布驗證,一個都不能省。
看起來一整套的流程十分嚴謹,該有的都有了,該連接的都連接了,該監控的都監控了,我們也在短短雙周內做了很多的事情;但實際過程中是總有各種各樣的問題,我們的出發點是平衡需求和運維的完工占比,嚴控上線缺陷指標;同時在這兩個大前提下控制版本發布的節奏,促使業務端養成提真正有價值的需求的習慣,把資源用在有價值的事情上。
四、問題顯露
實行了約兩個多月之后,我們遇到了很頭疼的問題:總是在上線的前1天有問題遺留,無法按時解決;或者磕磕絆絆解決完,上線后質量堪憂,欠下技術債,又要在下個迭代預留時間來解決。
如果這個迭代延期了,無疑要占用下個迭代的時間,導致下個迭代延期,惡性循環;即使下個迭代從需求池砍掉需求了,團隊還是感覺吃力,按預期上線似乎是一件很難達成的目標。
我們做過相應調整,但每到發布節點依舊如通魔咒扣在了頭上,一方面焦慮不已,另一方面陷入發布還是不發布的兩難境地;不發布意味著延期,發布意味著有bug,欠了技術債。
出來混不就是怕有人說你不靠譜,喊著要你還債么,團隊情緒難免陷入負面,甚至有時候會抱怨相互之間協同不夠積極,信息失真或溝通不到位;但好在每次大家都在面對并無逃避,一直在積極尋求改進切入點。
五、問題點分析
作為親身經歷者,做著對內較大體量的產品線發展、交付和維護的工作,也因為雙周敏捷交付屬于值得分析的交付方式。
此間種種背景和現狀,激發了筆者的興趣,就做了一些歸納和思考,拋出了幾個問題:
1. 計劃層面
1)需求和問題數量難以平衡:每迭代前評估需求進入數量,需求數+bug數的工作量=現有可用人天的工作量,但通常很常見的情況是——迭代中間有很多需求插入進來,比如某領導要求的,組織架構變化,搞活動等等;通常這種插入的需求,要不拆分迭代,要不加班完成;這兩種處理方式都對原先制定的迭代計劃產生或多或少的影響,越晚提出的影響越大,越難有效的控制執行效果。
2)排計劃僅依賴開發人員個人經驗,未記錄歷史迭代的工作情況數據進行參考;需求/bug的數量比例、人員分配未形成經驗教訓數據,開發人員績效沒有進行復盤分析,沒有數據作為指導進行合理調整。
2. 執行層面
1)沒有明確具體迭代責任人
組內多個產品線同時作業,每次發布計劃開始由產品經理負責,方案或原型確定之后交由開發,中間的過程幾乎是放養狀態。
以致臨近發布時間點,經常出現這樣的畫面:
A:xx需求做完了嗎?B:做完了。
A:趕緊發測試服啊,說了很多遍提前發啊。B:哦(老系統,發布挺麻煩)。
A:這個需求怎么這么多bug,您沒有自測過嗎?!有沒有按照方案來啊。
A:xx需求可以測試了嗎?B:兄弟,你的那個需求還沒開始做呢,臨時去修一個bug了,要找好幾個組的人協調,不好弄?。奁槪?。 A:(一臉驚恐)。
在設計與開發溝工作交替后,大家都各自專心忙著自己手頭的事情,如果沒被指明去管,一般當然是先做好自己的事情。
所以協同出現了問題,導致交付前發現失控;這個我把他歸于管控層面,也就是小組需要一個去監控、統籌大家步調的人,當然這個人擔子不輕。
2)一人身兼多職
產品要做商務談判、項目管理、數據分析、測試等一系列工作,甚至做一些開發相關的工作(極少)。
重點是,還要每周應付各類合規性的檢查、取數和通報;如果同時負責多個產品線和擔任正式項目的項目經理,可想而知了,絕不輕松,可能導致的情況是無法專注產品本身,無法對用戶使用關心的重點了解不夠充分。
當然,這里最大的問題可能在于團隊分工,合理的分工和人員配置才能發揮最大的效率。
3)流程過于形式化
每次發布需要交付的文檔及需登記相應的bug管理系統記錄條目較多,且需要嚴格按照標準執行;比如計劃、版本的命名不能錯,否則扣KPI。
我們應對的措施是每次發版本前,偷偷用SQL語句去檢驗下是否符合標準(無奈冷漠臉)。
能語句話的話自然最好,不能轉換成語句的就容易踩雷,得靠自己強行記憶了;一旦有新的流程或者標準出來,都需要不小的學習成本,尤其是對新兵蛋子來說很要命——流程太長太難理解,不實際參與迭代很難消化。
六、關于改進
推行雙周迭代交付確實給帶來了好處。如發布的節奏統一了,研供產銷各個IT產品線的節奏幾乎一致;大家也會根據規定的發布時間點組織系統交互會議,保證發布不會相互影響。
另外業務部門也認可一整套的需求/缺陷收集、解決、發布的方式,減少了不必要的溝通;各個流程節點有據可循、有跡可查,PMO和質量人員也都有數據作為統計,指標相對已經很完善,管理層面方便不少。
筆者上面提到的是雙周迭代辦法執行時面臨的一些坑和問題,讓工作的人不爽,工作的結果差強人意,不能說它是一個完全適合、高效的辦法。
通常解決問題的第一步是找到問題,而后在不斷調整摸索的過程中找到最佳的方法,無視問題才是最大的問題;找到問題點了,方法有很多種,關鍵看組織力和執行力。
筆者提出的改進,【重點】基于以下兩個方面:
1. 優化分工
1)每個迭代須有負責人
明確了責任人之后,該責任人對整個過程進行統籌,可以是產品經理、技術經理,也可以是業務人員(懂IT項目過程的最好);否則每個流程都是獨立行走的機器,最后的交付變成了孤兒,nobody cares,結果就是所有人不甘的淚水。
2)盡量避免每個人身兼多個角色
當前對于項目和產品沒有做明確的分工,金額較大的項目,一旦立項,就得走另外一套復雜的流程,需專業的項目經理帶;同時如果又要應對日常流程復雜的雙周迭代交付,工作量可想而知;當然這個跟部門的人員編制有關,也要看機緣去適當擴充人員,如今疫情大環境下,更慎重了。
3)產品設計與項目管理職責區分
一般產品的一期上線之后,宣告本期項目結束,就進入正常的產品線迭代升級期,可以使用雙周迭代的形式推進。
需要注意的是,切忌常以交付項目的思維交付產品,項目管理是過程管理,講究進度、成本、質量的平衡;而產品功能的迭代,更多的要考慮運營部門、關鍵用戶的需求。
在產品規劃、設計、定框架、定型的環節,如果過多被項目管理的思維束縛,做出來的產品通常會不符合預期、不好用,給下后面的迭代埋下難以填補的深坑。
2. 簡化流程
當前的流程,在有限的雙周時間內,無疑是過于冗長的,可適當進行縮減;例如使用PDCA法、ECRS法分析,設置價值點,分析流程節點的價值,沒有存在的意義的節點即可認為是無關緊要的環節,直接去掉,減少無謂的重復工作;另一方面,進行適當分門別類,不搞一刀切,該簡的簡,該繁的繁。
該項實施起來并不容易,因為需要從部門層面去推動,近150號人參與其中的流程,不是說推就推的。
在制定流程過程中,但凡不同的角色充分參與了,也不至于干起活來這么痛苦;當然有的人就是即使被叫過去了,也沒有利用好參與者的角色。
所以部門層面去發動、制定流程,相對而言,至少能解決大部分人的痛點;更重要的是很多經驗不是一蹴而就的,更多的是從負面的經歷獲取的經驗值更高,這也是激發我寫這篇文章的初衷。
最后,思考是一切的起點。
以上,歡迎留言討論指正。
本文由 @Daylight 原創發布于人人都是產品經理。未經許可,禁止轉載
題圖來自Unsplash,基于CC0協議
我們目前公司也是這樣,15人左右的小團隊
一樓提到的一些措施,我們公司也推行了,如每日下班前都各自說一下做了哪些,是否OK,由項目經理判斷是否會影響迭代結果;
雖然是兩周一迭代,但是我們目前壓縮到研發周二就要提測,給測試和改BUG留一些時間;
但是有多時候還是會出現迭代結果差強人意;
還有作者提到的不能按照項目的思維去做產品,我也感同身受;
我們公司也是這種方式,遇到的問題跟您說的一模一樣,但我這邊研發團隊還沒到50人
我這邊總結的經驗,如下:
1、迭代延期 上線的前1天有問題遺留
1)工期評估需要合理,除了生產環境的BUG工時需要考慮,還需要預留20%時間給技術自測、調整優化代碼、補代碼注釋
2)需求任務拆分,需要拆得足夠細,需要做到每日可驗收,由測試或者主管去驗收
3)并且需要要求大家當日任務當日結!代碼寫完不叫完成,需要通過驗收才算完成,才允許下班
2、上線后質量堪憂,欠下技術債
1)質量問題主要個人員有關,產品主管需要提升,技術主程提要提升,測試經理需要找靠譜的進行把關
2)從產品PRD、接口開發、前端交互、對接聯調、測試驗收、運維部署,每個環節的輸出物的質量必須嚴格把控好
3、抱怨相互之間協同不夠積極,信息失真或溝通不到位
1)明確流程、規章守則,每個環節的處理負責人
2)激勵、團建需要做一下
3)減少懲罰措施,每日驗收督促,多次做不到沒法按質按時交付,0容忍直接換人
4)有可能每組的人太多,按照組長的水平合理調整每組人數
我是按照上面方法措施,勉強可以解決,如果大家有更好的方案,希望可以互相學習交流
WX:winrdcn
恩,感謝探討。
您提到的這些我們也有類似的解決辦法,但治標不治本,有的甚至會流于形式,所以這些我沒有提,只提了我認為應當從根因上去控制的一些個點。歡迎繼續探討,深挖?。?/p>
對,目前我們這邊還遇到些問題,方便加個微信請教一下嗎?
VX:wuxianquiet