Scrum入門手冊(2) - 敏捷開發和Scrum

摘錄至 Scrum Primer
http://www.scrumalliance.org/resources/339

敏捷開發和Scrum
敏捷開發方法所產生的信念, 是基於更接近人類真實狀況 - 真實產品開發的學習, 創新和改變的現狀 - 來產生更好的結果. 敏捷的準則(Agile principle)強調建構可運作的軟體, 讓人們能迅速去試試看; 而不是像以前一樣, 要花大量的時間去撰寫規格文件. 敏捷開發著重於授權跨功能的小組來做決定; 而不需要多階層次的組織或是功能分明的部門. 敏捷注重快速循環, 並且其中結合了客戶持續的回饋. 當人們開始學習敏捷開發或是Scrum時, 少數會有這樣的認知 - 感覺像是回到一開始, 我們"曾經這樣做"的階段,

到目前為止,最流行的敏捷方法是Scrum. 1986年哈佛商業評論, 有篇關於成功產品開發小組的實務經驗, 它強烈地影響Scrum之後的發展. 在這篇文章中, 它導入了“橄欖球"的術語, 後來在"Wicked Problems, Righteous Solutions"(1991年 DeGrace和Stahl) 中演變成用"Scrum".
最後在1993年由Ken Schwaber和Dr. Jeff Sutherland將它正式化. 現在Scrum已經被廣泛應用於大型和小型企業中, 像是Yahoo!, Microsoft, Google, Lockheed Martin, Motorola, SAP, Cisco, GE, CapitalOne 和 the US Federal Reserve等. 許多使用Scrum的團隊指出, 在生產力和士氣方面有很大的改善, 有些案例中是完全徹底地的改變. 對於產品開發人員 - 曾經受到"管理階層每月一變"的傷害 - 這意義是非常重大的. Scrum是非常簡單, 強而有力的. 


Scrum摘要
Scrum是一個反覆(iterative), 漸進式(incremental)的框架, 可適用於專案, 產品或是應用系統開發. 它的開發流程是由一堆循環(cycle), 這個循環我們稱之為sprint. 每個循環最多不超過一個月, 並且是一個循環接一個循環, 中間沒有任何中斷. Sprint是有時間框限制的(timeboxed) - 它會結束在某個特定的日期, 不管是否工作已經完成了沒有, 並且是不能被延長. 在每個sprint開始的時候, 跨功能的小組從功能的優先順序列表中, 選擇要處理的項目, 團隊會承諾要在sprint結束前完成這些項目. 在這sprint過程當中, 被選擇的項目不能被改變. 每天團隊短暫地聚集在一起, 檢查其進展情況. 並調整所需的下一步, 以完成剩餘的工作. 在sprint結束的時候, 團隊會和利害關係人檢視sprint的結果, 展示他們所建構的東西. 人們會得到回饋, 並把它加入到下一個sprint中. Scrum 強調在sprint結束後要得到可運作的產品, 才算是真正的"做完". 從軟體的觀點來說, 這意味著程式碼要被整合, 要被充分地測試, 並且要有可能被出貨給客戶. 在圖1中可以看到主要的角色, 人造產出物品以及相關的事件. 

Scrum主要的思想是"檢視與調整". 因為開發必定牽涉到學習, 創新和意外的事情, Scrum強調採取小步伐的開發, 並同時檢查產品的結果和現行做法有效性, 然後再調整了產品的目標和流程的做法. 一直反覆這樣的作法, 直到產品出貨為止.

arrow
arrow
    全站熱搜

    kojenchieh 發表在 痞客邦 留言(0) 人氣()