鳳凰沙盤遊戲心得
最近有幸參加了公司組織的「鳳凰沙盤」遊戲,這款風靡全球的遊戲是根據《鳳凰項目一個IT運維的傳奇故事》改編的。故事講述了無極限零部件公司一位IT經理 Bill 臨危受命,在未來董事的幫助和自己「三步工作法」理念的支撐下,挽救了一家具有悠久歷史的汽車配件製造商的故事,書里充分體現了現在流行的敏捷管理理念。遊戲通過重溫鳳凰項目的真實情景,讓參與者身臨其境的感受敏捷轉型和敏捷帶來的價值。遊戲共設置了4個輪次,每個輪次中團隊在處理日常計劃內工作時,還會不斷收到很多計劃外工作,並且受到各部門工作瓶頸的限制,影響團隊最終的交付價值,遊戲以最終「完成」的項目得分與QA的驗收得分是否一致來決定項目是否完成,最終將得分轉換為無極限零部件公司的股價,股價的高低將決定Bill所在公司的存亡。雖然距離玩遊戲的時間已經快一個月了,但遊戲的場面仍然歷歷在目,深刻體會和領悟到了敏捷研發流程中"測試該如何來做"以及「轉型需要的基本素質」。
回顧我們去年一年的轉型期,雖然也在不斷的學習、摸索、改進和實踐,但仍然只做到了有「形」,未做到其「神」,未領會到其核心價值。我們有看板,有小團隊,有短周期快速交付,可我們沒有整個需求的管控,沒有各環節的質量把關,沒有做到測試驅動開發,版本開發周期延遲,致使迭代過程中不斷的生產半成品,定義的2周迭代,都沒有做到「完成」的定義,產品最終的交付壓力全部壓到測試人員身上,這是典型的轉型過程中的「小瀑布模式」。雖然去年也做了幾次敏捷培訓,但大家的認知還是不一致,經過沙盤遊戲後,所有人目標一致了,引用我旁邊小夥伴的一句話:「去年開展了一年的敏捷培訓,直到玩過「鳳凰沙盤」我才明白敏捷的意義」。下面來具體談談自己的心得:
1、測試驅動開發,明確各環節質量標準,拒絕半成品
在遊戲中,QA同學有每個項目在各環節「完成」的衡量標準,比較實際得分與最終的QA驗收標準,滿足,則項目得分,否則,不得分,而得分最終體現為無極限零部件公司的股價。
映射到我們的實際工作中,同樣各環節也需要明確的質量驗收標準,從產品、開發、測試到最後的客戶反饋。
從產品初期開始,測試人員就應該參與產品的需求討論、交互設計評審,與產品一起確定用戶的場景使用場景,輸出常用路徑測試用例,還需要跟產品、客戶,一起確定「用戶驗收標準」,做到「測試驅動設計」;在編碼階段,測試人員可以提供相應的技術指導,幫助開發人員確定編碼前的「面向技術」的單元測試用例,作為保證編碼邏輯正確的評判標準,這樣開發人員快速得到反饋,不需要等到系統測試階段,而且可以放心的進行必要的重構,做到「測試驅動開發」,做好內建質量,減少返工,這是敏捷中的重中之重。如果內建質量保證不了,上游bug遺留到下一環節,發現再修改再測試,不斷重複,不斷返工,我們的效率就會很低,交付周期就會加長,而目前研發流程中存在的最大的問題就在於此。對於測試環節,同樣也要有明確的「面向功能」的和「非功能(性能、安全)」的測試標準,測試團隊作為產品質量的最後一道把關者,我們還是可以很自信的說「這個標準還是很明確的」。產品測試完成距離真正意義上的「完成」還差一步之遙,只有用戶驗收測試通過才算真正的「完成」。「快速驗證並交付對用戶有價值的功能」,這是敏捷核心理念。
除了意識到測試驅動設計、測試驅動開發、以客戶價值為導向外,要真正落地這些工作,我們還有太多太多的事情要做,但最重要的是要有支撐流程運轉的基礎平台和必要的自動化測試,這樣才能保證敏捷流程高效運轉。
2、「持續集成平台」保證基礎工作流程,「自動化測試」提供快速反饋,「持續改進」保持團隊不斷前進
在每輪遊戲中,團隊通過不斷的發現問題,解決問題,不斷的優化工作流程,才能保證後續的工作效率越來越高,完成的項目越多,得分越高。
同樣的,要落地敏捷到實際工作中,我們要有一套工作流程,一套支撐流程高速運轉的平台,要有足夠的多的自動化測試。
昆明會議後,經過2天的激烈討論,研發團隊已經制定了基本的敏捷流程工作約定。其中不可或缺的明確了打造持續集成平台的重要性,目前研發統一使用jenkins平台,預計完成從開發提交、測試、編譯、打包、部署到測試環境的部署、業務自動化測試,測試環境的已經運轉,目前開發環節還在試運行階段,還需要繼續磨合。要想快速反饋,自動化測試必不可少,前端自動化測試已經起步,面向業務的自動化測試也已經熱火朝天的運轉起來,「單元測試」還在萌芽狀態,目前已有的自動化測試帶來的收益並不明顯,只是幫助測試人員減少工作量,距離做到「快速反饋」,不僅需要依賴持續集成平台的穩健,還需要團隊的高效溝通、信息共享、相互幫助和持續改進。
3、擁抱變化,不斷學習
我們了解敏捷的價值,知道擁抱變化,可是在實際工作中因為各種各樣的因素未必能夠做到變化。
首先從我自己來說,在開始敏捷宣講時,培訓視頻中播放京東的敏捷研發團隊中產品、開發、測試同學在坐在一起,沒有測試團隊,應該組建小團隊。當時就在想「我們是不也應該這樣讓組建小團隊,沒有測試團隊?」,為了尋找到答案當時還特意跟敏捷老師進行了交流,老師肯定的回答「沒有測試團隊」。可老師的這個答案讓我一下子不知道該怎麼辦了,作為測試團隊的管理者,「沒有測試團隊」就意味者自己一手打造的團隊需要解散,就意味著到時只剩下我一個人,我又能做什麼,我又該做些什麼呢,感覺自己一下子變得毫無價值,不知道前進的方向,開始迷茫。心理各種疑慮、各種矛盾,不知道是否應該堅持自己的想法。還在矛盾中的我突然吃到了一顆定心丸,領導安排各團隊的產品和開發坐在一起,讓「測試團隊仍然整體存在」,這顆定心丸來得正是時候,讓我不暫時不再去懷疑和考慮這個問題了。可是直到前段時間再看《敏捷軟體測試》時,原來的疑慮又重現了,但這次我找到了答案,我更加堅信,測試人員應該回歸到各產品團隊,這是正確的事情,應該這麼做。還未來得及提及此事,領導就來找我談了,於是很欣然的同意了!!!現在測試同學已經回歸各產品團隊,留下來的同學(去年可招了不少新同學呢)我們將以平台支撐組來給其他測試人員提供技術和平台支持,提供自動化測試支持。
再回來看看整個開發團隊,不管是傳統還是敏捷流程,開發同學都需要做自測,可從目前的結果來看,自測結果很差,很少有人能夠做到自測,為了幫助開發實現自測,我們開始推行自動化測試,可推行的過程相當崎嶇坎坷了,因為不願意改變。希望今年在新的工作約定下,「自測和測試驅動」能走得順暢些。
最後再來談談「學習」。在這個轉型過程中,團隊每個角色都需要面臨轉變,要想很好、順暢的轉變,無疑需要很多的幫助,從心態到技能。單從測試人員的角度來看,我們需要從原始的以「手工測試」為主,轉變為以「自動化測試」為主,需要從「傳統研發流程」的最後一個環節前移到「敏捷研發流程」的起始環節。不僅需要對敏捷流程有整體性的認知,還需要編碼、測試、溝通等專業技能和職業素質的不斷提升。除了公司層面提供的方向性的培訓外,還需要不斷的尋找針對性的書籍、視頻和外部交流來跟上團隊轉變的腳步。作為團隊的負責人,更需要通過不斷學習,給大家正確的引導方向,探索和帶領團隊齊步前進。
2018年新年伊始,「鳳凰沙盤」這個強有力的催化劑已經喚醒了全員,讓這個還在摸索的團隊更加明確前進的方向和具體的做法,2018我們整裝待發!!!


TAG:全球大搜羅 |