敏捷開發中Scrum常見陷阱
身為一個Scrum Master,常在不同公司,不同企業中跑過各類
敏捷開發(Scrum, Kanban, Lean),目前在台灣比較流行的Scrum
架構,下面是根據個人經驗,列出一些常見的Scrum架構陷阱。
沒有敏捷精神的Scrum就像是小瀑布迭代開發
常見的情況是,使用者故事變成了小一點的規格開發文件,根據這個
文件,程式碼開發和相關的行動得以執行下去。然後進入UAT,以及
其他後續交付流程。大致來看好像沒有什麼問題,很多敏捷團隊最後
掉入這樣的陷阱內。
這樣其實只是把專案規模縮小,然後使用比較小的瀑布式開發來完成它。
分析、設計、開發和測試在一定的程序下完成,很有可能跨了兩三個
Sprint而且一個交付的動作在這之間發生。(像是PO交付故事給開發者,
開發者再交付給QA測試)。
精實和敏捷開發主要是來對應不確定性。在Scrum架構下,
"Build-Measure-Learn"的設計發生在每一個sprint內,而敏捷團隊的
工作是彼此互相有關連的,這些工作並不必要照順序走。如果任何工作
內容沒有在時間內完成或是有任何障礙影響到完成時間是很ok的可以
因應這類情況而去改變設計或是調整流程來嘗試不同的方案。小瀑布
迭代開發模式恰好違背了這樣的目的,反而只達到Scrum中小部分漸
進式開發成果的效果。
Scrum的疆域
敏捷開發目前在各個軟體開發團隊發光發熱。但問題是在眾多組織內部只有
軟題開發團隊在跑Scrum,團隊有效率的產出但是被孤立於組織中。造成的
結果是交付的動作發生於軟題開發團隊和其他部門團隊。(像是對業務單位說:
我們已經照你們的需求開發好產品了,你們可以去賣產品了。)
讓敏捷精神傳播在組織中是很關鍵的。如果開發團隊和其他單位(如:業務單位)
無法很好的協作,一起創新,而僅僅只是交付作業給相關單位,這樣的產品是
無法打動客戶的。
Scrum Master 下達指令
在每日站會中,如果團隊成員只是告知開發的進度。然後Scrum Master再告訴
成員下一步該做什麼。這樣就違背了Scrum的精神。
Scrum 是一個系統化的影響來讓組織跳脫傳統"管理者-工作者"模式。命令式的
領導模式在以解決問題導向的企業是一個失敗的模式,這樣的模式依靠的是領導
者本身的知識和經驗讓領導者本身無可取代。在敏捷組織中Scrum master該帶
來的是"合作"的精神,合作維運,合作溝通,合作創造,合作開發等等,不是由上
而下的下達命令。