Monday, March 30, 2009

Scrum

前一陣子在網路上讀到一些關於Agile Software Development的文章, 其中尤其以Scrum最引起我的興趣. 主要的原因是他的觀念跟我之前一直以來的開發作法有很多相似的地方, 只是我一直沒有系統性的把把過去的經驗作有系統的歸納整理, 只是很隨興的照著自己覺得比較快樂的開發方式下去開發引擎, 也不知道有Scrum這東西. 所以我就去買了一本Agile Software Development with Scrum來看, 這本書寫的不錯, 頁數不多, 而且很多作者過去的經驗來加以佐證, 我比較喜歡這種不講太多理論, 專注於實務經驗的書.

基本上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的方式來開發的喔.

Sunday, March 29, 2009

胃翻轉

上上個禮拜六早上打開gmail時, 發現寄養狗的地方寄來了一封信, 說是可樂生病了, 已經送去急診病院了, 於是我立刻打電話過去, Superdog的人跟我說可樂是急性胃翻轉, 已經在開刀了. 他還說因為那天他待的比較晚, 所以看到可樂不太對勁, 而他之前的ㄧ隻狗就是因為胃翻轉死了, 所以他知道不趕快送醫急救會很危險. 之前我從來不知道有這種病, 查了一下網路, 會翻轉顧名思義就是位旋轉了180度, 如果不立刻急救, 胃就會壞死, 死亡率是百分之百!! 胃翻轉發生原因不明, 不過通常肺活量較大的狗發生機率較高. 好在這次可樂及時就醫, 手術後恢復狀況也很好, 醫生也會將胃縫起來固定住, 算是撿回一條小命啦.

不過可樂恢復良好雖然是鬆了一口氣, 但是卻要開始擔心起手術費用了. 之前一般門診都貴成那樣了, 這次急診肯定會大失血. 上禮拜收到信用卡帳單, 總共費用.......新台幣12萬 Orz..............所以要把狗帶去國外一定要記得保險啊!!!!!!!!!