減少軟件開發(fā)成本的十個技巧
不景氣的經濟,不斷高漲的油價,嚴重影響了商業(yè)活動,每一個人都在尋找新的途徑,用來抵消新增加的成本:能源。倫敦的軟件質量管理主管顧問Martin Adcock,提供了10種減少軟件開發(fā)成本的方法。
1、 良好的功能需求文檔
沒有文檔化的需求,系統(tǒng)就存在不能滿足客戶期望的隱患?!氨热?,也許它不能按照客戶認為應該的方式工作,即便是開發(fā)團隊認為他們的工作一直符合歸檔的需求?!盇dcock說。這將導致項目返工、延期發(fā)布、增加成本以及客戶和軟件團隊之間潛在的矛盾。
2、 非功能的需求應盡早定義,盡早明確
大多數組織都集中在系統(tǒng)的功能方面,即它做什么,而不是它怎么做?!胺枪δ艿囊匕ㄒ磺校瑥男阅艿桨踩俚娇捎眯??!盇dcock說,非功能的需求同樣重要。
缺少清晰的、盡早定義的非功能的需求,發(fā)布后的系統(tǒng)可能和客戶想的功能一樣——但它太難用、速度奇慢、不安全、不可靠或者擴展性太差。“這將再一次”導致開發(fā)組返工——一些非功能的領域對于產品的設計是必須的,再沒有重新啟動項目的情況下,很難去修正它們?!?/P>
3、保證適當的變更控制過程
沒有變更控制,系統(tǒng)開發(fā)會發(fā)現自己處于不確定的狀態(tài)?!袄?,”Adcock解釋說,“隨著項目的進行,越來越多的需求面臨著變更,每個變更都沒有正確的影響評估。”每一個變更都應該被嚴格控制。每一個允許的變更都應該在完整的影響評估之后,要分析它對項目的時間進度和成本的影響。
4、 使用配置管理系統(tǒng)管理代碼、數據和文檔
沒有配置單管理系統(tǒng),做高質量的測試是不可能的。“這是因為你不確定正在測試的軟件或者文檔是不是正確的版本,或者發(fā)布給用戶的版本是不是完全測試的?!盇dcock說。配置管理比較差的組織可能測試的是一個版本,而發(fā)布的是另外一個版本,其中包含了還沒有經過測試的特性。
5、 集中在缺陷預防,而不是測試
項目開始時在需求文檔中修正一個錯誤遠比它開發(fā)完成后再修正更快速更便宜?!斑@已經被證明很多次,在項目周期中越晚發(fā)現一個缺陷,修正它花費就越多。”
下面的幾個技巧大家都不會陌生,但你能真正做到嗎?
6、在需求定義階段開始設計用戶驗收測試
7、在系統(tǒng)設計階段開始設計系統(tǒng)測試
8、重點關注單元測試
每一個人都知道,在開發(fā)過程中越早的發(fā)現缺陷,修復它就越容易、越快速、越便宜。對藏身于代碼中的缺陷來說,單元測試是發(fā)現它們最早的階段。
9 、計劃基于風險的測試
由于各種原因,比如固定的發(fā)布期限,開發(fā)組的拖延,測試時間總是非常有限的,這將意味著并不是所有原先計劃的測試都能得到執(zhí)行?!霸谶@個項目中,那些被認為是對產品成功非常重要的元素被充分測試。所以,測試應該總是集中在系統(tǒng)的“***風險級”的區(qū)域,根據測試時間的要求,然后是“中等風險”和低風險的元素?!?/P>
當面臨時間壓力時,這種基于風險的方法可以保證系統(tǒng)中還沒有測試的元素都處于***風險區(qū)域。
10、 在發(fā)現錯誤更便宜更高效的時候,盡早使用工具來發(fā)現功能和非功能方面的錯誤
在開發(fā)的早期開始階段,如果創(chuàng)建并維護好一套自動化的測試工具,它就可以重復使用做“冒煙測試”?!斑@種方法可以很快的、更早的發(fā)現潛在的很多缺陷,為以后的測試階段節(jié)省寶貴的時間?!?/P>
另外一些特別的工具有時還能發(fā)現系統(tǒng)設計上的缺點,這些缺點應該發(fā)現的越早越好?!袄纾缙趯Σ糠窒到y(tǒng)的性能測試可以暴露設計很差的模塊,它發(fā)布后會拖累整個系統(tǒng)的性能到用戶的容忍度以外。”這種情況下,該模塊很容易被確認并被隔離,很容易修正或者重寫。如果在系統(tǒng)交付測試后或者發(fā)布前才去做性能測試,這種確定過程將困難很多。
***一句話結束語,盡早測試,頻繁測試。
【編輯推薦】