Scrum

王大熊發表於2019-01-15

最近在實踐Scrum,有一些心得。Scrum不是一個技術名詞,而是一種開發流程,確切的說,是敏捷開發(Agile Development)的一種。

通常講,在一個完整的Scrum流程中,會有產品負責人(Product Owner),流程管理者(Scrum Master),開發團隊(Scrum Team)三個角色。大家各司其職,從一個產品需求列表出發(Product Backlog),細化成每個迭代週期(Sprint),再接著利用每天的站立會議和看板更新每個人的開發進度(通常還有燃盡圖)。

一些講Scrum實踐的書裡,(甚至)會提到用計劃紙牌(Planning Poker)來精確預估研發週期的方式,招式百出。

聽起來很美好對不對?

實際差之千里。

Scrum對於很多初創團隊,都好似Teenage Sex,臆想跟現實判若兩然,做不好實踐,就覺得是完全扯淡,屁用沒有。

事實上,敏捷一定要多實踐,自己實踐得出的經驗才是最牢靠的。我們之所以抱怨敏捷開發沒有解決問題,是因為對它的理解有誤區。

很多人覺得敏捷就是:

  1. “想做就做”的態度,避免任何形式的管理、流程和規矩。

  2. 每日站立會議上,對著空氣唸經,隨便挪一挪看板上的任務

  3. 一個領導管下屬的噱頭,走個流程而已

看起來日日有產出,實際上鬼才知道這些產品做了有沒有用,這些程式碼堆完意義在哪裡。團隊渾然不知下一步要做什麼,紛紛兩眼看天。

為什麼會這樣?

問題的本質不在於敏捷開發這種流程,而在於團隊本身。

初創團隊永遠是在在極端不確定的情況下,開發新產品或新服務。

這本身就無路可循,無跡可探,沒有圍繞著問題的核心去做產品,是沒有辦法獲得要領的。

所以如果要做好敏捷開發,就必須:

釐清產品訴求,認真完成商業閉環

  • 你的產品多大程度上解決使用者的問題,有沒有比現有的方案好10倍

  • 你能從產品上賺多少錢,天花板在哪裡

  • 使用者會主動推薦你的產品嗎,自然增長引擎在哪裡

  • 產品要做到何種規模可以覆蓋團隊開支,你能閉著眼睛算出來嗎

面對現實,解決核心問題

  • 你現在手裡做的,是不是在解決使用者真實的產品訴求,還是你自己腦補的產品訴求

  • 有什麼方式可以快速解決問題救火上線,而不是等待一週後的新版本

  • 面向使用者場景輸出需求,不要過於在意何種格式,Done is better than perfect

落實到人,而不是流程

  • 任務最終要拆解到人頭上,圍繞一個人每日工作量/難度來追蹤進度,而不是大鍋煮湯摸魚,要保證進度透明

  • 保持同理心和道義,你的介面或者文件寫的爛,是不專業的表現。己所不欲,勿施於人

  • 樸素的拆分任務並完成,你的隊友不會把一個簡單任務描述的艱難萬重,你也不會。

自我欺騙是敏捷開發的禁忌。不管你用什麼樣的工具(比如用Geekbot代替每天早上的站立會議),都解決不了自欺欺人。

裝作看板上一直有任務(哪怕是個簡單issue也要拆成好幾個),裝作設計的產品就是使用者想要的,卻根本沒有調研過友商出品的水準,裝作採集的資料有意義,結果根本無法從中得到任何幫助決策的資訊,裝作每天刷微博是在看行業動態,實際上真的就是在刷微博。

遇到這些情況,團隊的負責人必須立刻馬上One One,一個人滑水的最大的問題是讓團隊其他人感到深深的不公。

敏捷開發讓你做到在產品夭折前,留出救命的發育機會,越早推出產品,越早拿到你的Alpha使用者的真實反饋(他們通常對於現階段的產品缺點充分包容,但提出問題時卻毫不含糊),你也就有更多的機會修正軌道。

如果一個軟體開發上線了,最終客戶根本沒去體驗,這樣的上線,算不算上線成功?

Scrum必須迴歸業務本質,才能被善用,否則都是假的。

相關文章