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 的頭像
    kojenchieh

    David Ko的學習之旅

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