敏捷實踐:如何讓團隊的迭代效率更高
在互聯網行業,敏捷應該不是陌生的名詞了?;ヂ摼W產品快速發展的特性,決定了“小步快跑”的管理思想,持續迭代,不斷的改進產品。而應用敏捷基本上可以讓迭代周期減少一半,在追求效率和產出的互聯網,這確實是一劑良方。
在產品研發過程中,從需求管理到最終的產品運營,全過程應用敏捷的思想,讓產品團隊成為產品的主人和管理創新的驅動者。當產品團隊自發的去持續優化產品,不斷提升產品質量和研發效率時,整個團隊的工作效率就提升了,產品的迭代周期自然會縮短,他們會樹立更高的目標去挑戰,當他們持續地周而復始時,卓越就成為了團隊的習慣。
在敏捷實施的過程中,從產品經理的角度來說,更應該關心需求是否也可以迭代的方式去產出,合理的按照價值和優先級去安排每個迭代需求,是產品經理需要關注的。這會保證每個迭代開發人員在實現的都是優先級最高的需求。從開發人員角度來講,對每個迭代的任務的需求理解和工作量安排是他們所要關心的,要合理的分配每個人的任務,以達到最大化的效率利用,進而保證每個迭代的高效產出。
1號店目前已全面實施敏捷開發,結合自己對敏捷需求管理的理解,分享在1號店工作期間實施敏捷項目管理的實踐經驗、失敗教訓。主要從以下幾個環節提高團隊效率,最終成功地讓4-6周的交付周期縮減到了2周左右。
迭代需求集中評審和評估工作量
在每個迭代開始之前,產品經理就需要把下一個迭代要做的需求安排好,待到迭代開始之前,對所安排的需求進行集中講解評審,參與的對象是整個團隊。這樣做的好處是:研發、測試團隊和Scrum Master一起深入理解需求,測試團隊也因此能夠更早地開始編寫測試腳本,這樣需求、開發、測試都是敏捷的,否則只有開發是敏捷的,兩頭就會都跟不上。
很多人覺得每個迭代開始之前,花上一整天的時間去理解需求和評估工作量是很浪費的,但是磨刀不誤砍柴工,在工作開展之前把一切不確定性的東西都確認好,這樣后續的開發效率就會高很多。另外對產品經理的要求就是提前梳理需求,這個不是簡單的梳理,而是要充分評估手頭所有需求功能點的價值和優先級,先做優先級高的。
站會:隨時把控進度、解決問題
站著開會帶來的緊張感和疲勞感可以有效地避免過于冗長的會議,且可以保持清醒的狀態,一般都在早上上班的時候開,也叫“晨會”??梢試L試讓發言者站在中間,這種做法更能增強其自信心和責任感。站會的議題是每人說一下自己昨天做了什么,今天要做什么,有沒有遇到問題。產品經理可以參與站會聽取一下團隊成員的進度,對各個需求的進展了然于胸,對發生的問題需要介入協助的,可以在會后就協助處理。
團隊自我驅動
在迭代開始之前要做好任務的認領和分配,可以培養團隊主動工作的積極性。在迭代開始后,要明確只有開發出可用的功能才算完成;明確迭代目標,并把目標分配給明確的負責人;嚴格要求代碼提交環節,確保提交后測試即可介入;明確每個人的工作職責,優化團隊協作機制,中間出現某個成員進度弱后的情況,可以調配進度快的成員幫忙。同時要避免整體重構,盡可能局部重構。產品經理更需要確定迭代目標能否完成而不僅是關注迭代進度。
持續集成和產品演示環境
迭代任務陸續完成過程中,要能自動化集成到演示環境,這樣就可以邊開發邊驗證,測試也就可以邊開發邊測試,省去了很多重復的工作。并且可以盡早的發現問題或bug,及時修復。產品演示環境能夠盡早Ready是很重要的,這樣可以提前看到產品的最終形態。
迭代總結會
在每個迭代結束的時候,要召開迭代總結會,團隊成員都需要完成自評和他評,分析和總結上一個迭代中遇到的問題,大家討論改進的方法,比如說到需求變更太多之類的,就需要產品經理更好的去把控和分析需求,盡量在開發過程當中不變更。績效與任務難度掛鉤的方式也激勵成員做有挑戰的項目/功能開發。同時,嚴格的得失分析讓團隊更好地吸取經驗和教訓。
保證質量
雖然研發速度很重要,但是沒有質量保證的快速開發非常危險,質量保證是一項需要高度重視的標準。需要制定嚴格的bug控制標準,開發自測和測試人員測試的標準不一致,這樣可以激勵不同角色人員的工作積極性。
敏捷開發對于產品經理來說是一個挑戰,迭代周期越短,對產品經理的要求越高。比如迭代周期為兩個星期,那就需要產品經理在兩周內把自身對產品的想法,或者業務部門的需求轉化成可供開發的需求,這樣才能保證迭代的順利進行。這對產品經理的能力要求還是很高的,假如一個迭代要完成五個需求,那就要在兩周內完成這五個需求的分析和設計,這中間包括了競品分析、數據分析、調研等等環節,工作節奏會很緊湊。
迭代的成功需要正確的產品方向+正確的需求構建方法,因此在開發前弄清楚產品方向和構建方法至關重要,這也就是迭代開始前的主要任務。
產品經理的基本任務應該是將業務需求分解為產品需求,再將產品需求分解為可實現的功能需求,其目標在于轉化和細化原始需求,制定下一個迭代的需求列表和發布計劃,以及明確隨后1-2個迭代的開發需求。
因此前期需求管理的主要工作在于拆分——從角色的角度拆分、從實體的角度拆分、從目的的角度拆分、從解決方案的角度拆分!分解目的再拆分解決方案,通過拆分明了產品的業務流程,將需求分解為具體的任務和業務操作,最后制定可行的開發流程和迭代計劃。
敏捷開發在互聯網行業中的應用是大勢所趨,個人覺得會深刻影響到傳統的瀑布式項目流程。從實際經驗來看,敏捷開發也確實有很大的優越性,能夠更快的適應需求變更,靈活的安排資源的投入,每個迭代的產出都是產品的階段性目標,也有可能就是一個小版本的發布,對于崇尚“持續迭代、小步快跑”的互聯網產品來說,非常適合。微信在一開始的時候能迅速搶占市場,和其快速的版本發布有很大關系,而現在微信已經進入穩定發展期,版本發布緩和很多。從產品發展的生命周期角度看,新生的產品最容易成功也最容易失敗,成功是因為其市場的新鮮感和功能的新增可以俘獲用戶的關注度,失敗是由市場競爭導致的。在互聯網行業,產品層出不窮,新出的產品很多時候大家也都愿意嘗鮮,但一段時間后發現無趣就會卸載,這段安裝到卸載的時間理論上可以發布好幾個迭代,而這就是“快”和“慢”的體現。
作者:朱軍華Ronzhu
easypm.cn就是作者所說的