6.3.1 什麼時候適合選擇敏捷
我們看了這麼多方法論之後,一些同學一定比較困惑,到底選擇哪一種開發方法比較好呢? 這在實踐中不是難題,有學者還列出了一些簡單的問題來幫助人們做決定[i]:
表6-3 問題引出方法
問題 | Yes – 偏向傳統的瀑布+文檔的流程 | No – |
1. 項目需要有明確的spec 麼? | ||
2. 項目沒有明確的用戶,也無法聯繫用戶進行溝通 | ||
3. 軟件系統是大型的麼? | ||
4. 軟件系統是複雜的麼?例如實時系統 | ||
5. 軟件的生命週期很長麼? | ||
6. 你使用比較差的軟件工具麼? | ||
7. 軟件項目成員是分佈在不同的地區麼? | ||
8. 團隊是否有“文檔爲先”的傳統? | ||
9. 團隊的編程技術較差麼? | ||
10. 要交付的軟件系統是否要通過某種行業規定或行政法規的批准? |
請結合中國軟件開發的情況(在國企開發,給企業開發軟件,個人創業,遊戲產業等),討論應該增加一些什麼問題,來幫助團隊選擇最合適的開發模型。
6.3.2 討論軟件開發方法的思潮
迄今爲止,我們瞭解了不少軟件工程的方法論。請從下表挑選幾篇關於軟件工程方法論的文章,仔細閱讀(包括相關的討論),根據你的軟件工程經驗分享你的看法。
表6-4 關於軟件工程方法論的系列文章
[i] I Sommerville, Software Engineering, 9th Edition, Addison-Wesley, 2010. ISBN 0137035152