關
於
改
善
管
理
過
程
的
一
些
思
考
----
團隊中應用SCRUM方法
一、什麼是敏捷管理 目前,我們的工作雖然進入了正常軌道,但是在管理過程中還是暴露出許多問題,計劃不明確,需求變更頻繁,過程監督缺失,交流反饋缺乏,最終導致整個專案計劃的延遲。上周,參加了微軟技術大會,奕躍講師介紹了在專案管理中如何運用敏捷管理,就一個小時的時間,就單單想把敏捷管理過一遍都是困難的,更何況要讓聽眾去理解這一套原理和方法。雖然課上奕躍講師只是提一了下SCRUM,但給我的感覺是相當震撼的,現在和大家一起分享。 提到SCRUM就不能不提Robert C. Martin的《Agile Software Development: Principles, Patterns, and Practices 》,這本書在第一頁就寫到
| 個體和互動 |
勝過 |
工具和過程 |
| 可以啟動並執行軟體 |
勝過 |
面面俱到的文檔 |
| 客戶合作 |
勝過 |
合約談判 |
| 響應變化 |
勝過 |
遵循計劃 |
當然這不是說不要工具、文檔和計划了,右邊的還是相當重要,只是左邊的更加提倡效率,這也是敏捷的核心所在。SCRUM是敏捷管理的一種方法之一,其他的還有AD,XP等,每種方法都有他的優勢所在。
二、什麼是SCRUMScrum has a simple implementation that is designed to increase productivity and reduce the time it takes to benefit from a software/product development. Importantly, it embraces adaptive and empirical systems development。用中文定義來說,就是:Scrum提供了一種經驗方法,它使得團隊成員能夠獨立地,集中地在創造性的環境下工作。它發現了軟體工程的社會意義。這一過程是迅速,有適應性,自組織的,它代表了從順序開發過程以來的重大變化。 這種定義是相當抽象和空洞的,關鍵在於Scrum的實踐:1. Scrum團隊(5-7個人的小項目組) 團隊的負責人可能擔負起Scrum Master的角色。
2. Backlog 急待完成的一系列任務,按優先順序定義出來,這些任務可能不是完整的,甚至可能隨時 會更改或添加。
3. Sprint(衝刺) 通常為30天的迭代時間,把Backlog中的每一項安排在Sprint中,由團隊估算出所需要的時間(按小時記)。 4. Scrum會議 這是與傳統方式最大的區別,每天15-20分鐘的Scrum會議,通常在每天的同一時間和同一個房間內舉行(通常在午飯後舉行)。 Scrum團隊所有人都參加,也可以有旁聽者(但不允許旁聽者指手劃腳)。 在這個15分鐘的會議上,Scrum Master會詢問每個成員三個問題:
a) 自上次Scrum會議後的1天裡你做了什嗎?
b) 從現在到下次Scrum會議的1天時間裡你準備做什嗎?
c) 你在工作中遇到了哪些困難?每個成員在Backlog條目上所花費的時間會被記錄到Spring backlog中。 Scrum Master在會上對存在的問題提出即時的解決方案或指導,使團隊不斷向著目標前進。Scrum會議不同於項目會議,對團隊來說,它起到了快速簡報的作用。
5. 通過Sprint Backlog的分析,可以瞭解Backlog的進度,儘早的瞭解所發生的問題
6. 管理者不在是項目或者團隊的“老闆”, 而是協助團隊解決問題的“協調者”或是“助手”。
三、焚燒圖 焚燒圖既可以直觀地顯示整體項目的進展情況,包括什麼時候可以完成整個項目,或者項目要延遲多少天才能完成,也可以直觀地顯示團隊成員的工作狀態,比如工作量是否有增大了,工作任務是否分配輕了。
四、小結 SCRUM方法可以使整個項目可控和可跟蹤,並提供良好的交流機會,使工作透明,便於發揮團隊智慧。但是對於任務進度取決於外部因素的項目來說,整體可控性就差了些,當然目前還沒有更好方法能預測未知任務的時間進度。