在分享之前,我們需要討論的是,為什麼開發軟體需要模型?
遊戲開發不同於藝術創作,一個軟體的開發具有強烈目標性,對外需面臨市場考驗,對內需溝通跨部門整合,可說是複雜的過程。模型的意義在於明確定義出團隊可依循的框架,一個好的框架應該具備下列幾種條件:
1. 團隊目標明確
2. 任務需求能準確傳達、降低成員間認知偏誤
3. 能全面追蹤開發情況,團隊經驗能傳承
4. 降低不必要時間支出,人力虛耗
瀑布式
瀑布式為傳統且直覺之開發模式。其特徵為線性流動。強調完整規劃、且軟體開發應完整經歷每一階段,可說是相對理想化的開發模型。
瀑布開發模型階段:
1. 需求(Requirements)
2. 設計(Design)
3. 實作(Implementation)
4. 測試(Verification)
5. 維護(Maintenance)
然而軟體開發在現實中–特別是草創公司,往往充滿不確定性。開發人員的經驗會隨時間成長、離職異動、客戶及市場需求會改變。開發人員很容易發現,最初的計畫往往趕不上變化,超出預期的bug與修正時間,人員替換後個人專長的差異與經驗不完全傳承等等。
結語:瀑布開發的優缺點
開發模型只是工具,沒有完美的開發模式,只有相對適合團隊的開發模式。如何定義出適合自己團隊的流程才是最重要的事。
優點
嚴謹的開發規劃、清楚的階段任務與檢查點,在客戶需求明確且變化不大的環境下,是很有效率的開發方式。
缺點
面對研發問題的回饋不及時、在項目生命週期的後期才能看到結果、強制的目標與日期排成,以計畫而非以成員為導向的工作流程。
瀑布式開發相關閱讀:
https://wiki.mbalib.com/zh-tw/%E7%80%91%E5%B8%83%E6%A8%A1%E5%9E%8B
http://wiki.c2.com/?WaterFall
發表迴響