基本上Scrum的觀念就是軟體的需求是一直在變的, 所以一般擬定設計之後就不能再改變設計的作法其實很不實際. Scrum的觀念是每一個開發專案有一個所謂的Project backlog, 這個backlog紀錄了所有這個project要完成的功能, 重點是這個backlog是永遠沒有截止日期的, 想要的新功能隨時都可以再加進去, 但專案負責人得為backlog中的每個項目加上優先權. 接下來的開發就是以所謂的sprint一直循環, 每個sprint以不超過30天為最好, 開發成員從backlog中選出可以在這個sprint中完成的項目作為sprint的目標, 每個sprint結束時, 整個專案就會增加一些新的功能. 由於在每個sprint期間, 開發成員只需專注於所挑選的功能上, 所以可以有效提高生產力. 而每個sprint完成時又可以立刻看到專案的成長, 有助於維持團隊的士氣. 如此不斷的循環, 一直推出新的build.
一個人開發引擎其實是頗為無聊的工作, 所以我之前總是以一個短期能達到的目標為單位來開發, 如此一來每隔一段時間就有一些東西出來, 比較會有成就感, 也裁不容易厭倦. 年輕的時候很能熬夜, 常常一個sprint都是以一天來計算的:). 現在體力比較差了, 引擎也更複雜了, 沒辦法這樣搞了. 之前每次引擎po出來的影片其實就是幾個較大的sprint的結果. 不過以前backlog只放在腦袋裡, 現在我打算將backlog在網站上po出來, 以免久了就忘了 :P
現在正在尋找有無好用的scrum工具可以有效的來管理backlog跟每一個sprint.
Scrum
Agile software development
Agile Game Development
Scrum Alliance
順便一提, Unreal Engine也是採用Scrum的方式來開發的喔.
10 comments:
家裡做的引擎也算是用 Agile 的方式,但沒有定 Sprint、沒有做 Poker Planning。主要是寫 Story 和調整 Priority。
最近覺得,這種做法在家裡做有一個缺點(或是我的問題吧)。就是每個 story 通常都是從使用者角度所看到的功能,每次都可能做系統的底層到面層都作修改去完成一個 story。比以往主用 bottom-up 來說,每次做 story 的「熱身」時間會比較長。例如以前可能先分別做好 module A、B,再做上層的C。現在一個 story 要同時改多個 modules。而且因為工餘間斷去做,常常覺得花許多時間只有少許進展。
不過,好處或許是項目更以使用者為中心,而且比較功能會比較靈活。
之前寫了一篇關於 Agile 的,可互相交流一下。
http://miloyip.seezone.net/?p=72
呀,忘了說,我現在用 Google Doc 的 Spreadsheet 做 backlog。因為可以 online collaboration 和 versioning。
原來 Unreal Engine 也是用 Scrum 方法開發的呀! O_O
之前在網路上看了不少相關的文章,看來應該去找 Agile Software Development with Scrum 這本書來讀一讀了。
感謝分享~ :D
在我的公司中是使用了一個名為 "Sprintometer" 的免費軟件。它具有一般 SCRUM 需要的功能,而且很容易上手。
希望對閣下有用。
我們目前也是有導入scrum, product backlog是用excel檔案整理
sprint的週期是三週, 我們主要是使用白板和便利貼來紀錄sprint工作狀況..
還有畫burndown圖...老實說..雖然這個做法感覺很不e化, 但是反而對於工作進度更一目了然...另外我們也會用wiki把每次sprint工作項目做紀錄
在軟體方面, 之前同事有使用過Scrumworks, 可以參考看看
to Milo :
我也還是Scrum的初學者, 所以野是在摸索中. 不過我以前的作法就不是bottom-up, 比如說我要一個基礎類別A及B來完成我目前sprint中的C類別, 通常我只會將C要用到的A和B的功能在這個sprint完成, 等到有其他sprint需要A和B的額外功能時, 我再繼續來完成其他A和B的功能. 所以對我來說採用Scrum並沒有太多不適應.我認為類別並不能成為backlog中的ㄧ個項目, 只有功能才能成為項目, 因為單一類別跟專案一樣是沒有玩全完成的一天的, 隨著專案的演化進展, 類別也會跟著增強, 修改或甚至移除抽換.
to Gino and MiNg :
你們建議的工具我會去了解看看, 謝啦 :)
另外這裏有個以前是High Moon Studio的程式現在轉作Scrum Tainer的程式的網站, 有一些使用Scrum在遊戲開發上的心得
http://www.agilegamedevelopment.com/
而Scrum Alliance也提供了不少訓練, 讓你可以成為合格的Scrum Master或是Tainer, 看了一下課程, 台灣都沒有.....Orz
http://www.scrumalliance.org/
http://www.targetprocess.com/
小弟對agile和testing有些研究, 像是
Scrum
agile testing
performance testing
exploratory testing
歡迎同好一起交流研究
http://www.wretch.cc/blog/kojenchieh
我們公司針對Scrum的流程在codeBeamer上開發了一套Wiki pugin叫ScrumWizard, codeBeamer+ScrumWizard 除了可以做ProductBacklog的管理, Sprint Plan, Kanban board等功能, 最重要是專案社群的管理, 在公司內部推導Scrum, 成立一些以Scrum導入為目標的社群是很重要的... 如果對於codeBeamer+ScrumWizard有興趣, 可以參考
http://scrum.esast.com
Post a Comment