Agile? Scrum? 看了一堆文章還是不懂?敏捷開發前要懂的三個心理建設
敏捷就是快?什麼樣的公司可以跑敏捷?Agile 跟 Scrum 兩個差別是什麼?
相信看了幾十篇文章後,好像還是一隻半解。Agile (敏捷)是一種精神,而 Scrum 是一實現 Agile 的一個方法,還有其他的方法,例如常常拿來跟 Scrum 做比較的 Kanban (看板);所以 Agile 跟 Scrum 是不同層級的東西。
1. 導入敏捷就會開發很快嗎?
不會。就是這個翻譯沒翻好,員工真的會被「敏捷」這兩個字害死。
老闆最愛說:我們不是在敏捷嗎?應該可以做很快吧!(不是疑問而是肯定)
如果去把敏捷方針拿出來讀的話,沒有一個快字。導入敏捷會讓你的團隊知道目前以及未來要幹嘛,可以更有彈性的去迎接臨時的改變、頻繁的交付,可以想像是所有人有規律的划船,無論前方有小波大浪大家不會驚慌失措。
2. 導入敏捷要全員都參與,不是產品經理或工程師在自嗨
很重要也是大家時常犯的致命錯誤,測試一直沒歸納到敏捷開發實行的一環。工作這幾年,真的時常覺得測試是產品做後把關的守門員,卻在產品改動或是各種 flow 制定把測試忘記,這樣產品的品質以及專案的估時都不會準確。
每日的晨會務必大家都要參與,並且快速同步,昨天做什麼(確定到一個任務而不是大範圍的,不然一個禮拜都聽到 RD 說在修 Bug, 也不知道目前 Bug 的情況)、今天預計做什麼以及遇到什麼問題,而主持會議的 scrum master 在會議上要知道大家進度,並且幫忙解決問題或是找到可以解決問題的人。
3. 敏捷只是一個精神,不是素描本拿來造抄
很多人開始敏捷一定從他的推廣者傑夫.薩瑟蘭的 Scrum用一半的時間做兩倍的事那本書開始讀起,讀完開始覺得人生好光明。但跟你打賭能夠真的跑起來得 10% 不到。
把大的東西拆小,小到可以可開發可測試可發佈。聽起來很容易,真的做起來工程師說不能這樣拆,設計師說又想改一些細節、測試跟你說沒有及時的 data 讓他測試怎麼辦..等等。如果你為了要達成「為了跑 scrum 而先去做把所有內外在環境設定好」的想法,不到一個月就會放棄。
先做再去優化吧!
把敏捷的精神不只投入到專案,也投入到你正在實行的敏捷。所以說每個 Sprint 結束的回顧會議是非常重要的。(如果你還不知道 Sprint 或是回顧會議是什麼請參考後續的文章)
所以敏捷不好嗎?
好,以實行到整個企業的話,前置作業很多,但至少要做到大家(從老闆到各個團隊的團員,甚至到跨團隊成員)都要有敏捷的知識 (很重要),大家瞭解 最簡可行產品 MVP (minimum viable product),有自動化測試 (可以慢慢規劃),團員有顆開放適應改變的心..等等。
我的心得是在一個產品的發布流程來說,其實有些是適合傳統瀑布的開發方法,比如穩定需求非常大的工業領域,並非一位的追求敏捷開發適應到所有的產業;但團隊內部每日工作是可以跑敏捷方法,小至個人的人生規劃。
為了避免紙上談兵,下一篇想分享我設計的敏捷開發的規律 (Timeline)
|相關文章: