次產(chǎn)品化迭代,將產(chǎn)品轉(zhuǎn)移到用戶群。
每次迭代,都要充分接收用戶的評審意見,以便為自我糾正。漸近式的功能交付,有利于降低開發(fā)人員的壓力,增加用戶的滿意度,有利于增強項目的可見性,是最好的進展報告。
(2) 技術評審
技術評審是確保軟件質(zhì)量的重要環(huán)節(jié),技術評審包括代碼走查、會議評審和同行專家評審。代碼走審可以是開發(fā)人員之間的交叉審查,或者是高級開發(fā)人員對普通開發(fā)人員的審查;會議評審一般應至少每兩周進行一次,每次評審時間不宜太長;同行專家評審包括技術和業(yè)務兩個方面的專家,經(jīng)常性地讓精通業(yè)務的用戶專家參與項目評審,是項目成功的重要保證。
另外,充分利用質(zhì)量審查的工具軟件,也有利于提高代碼質(zhì)量。例如:在Eclipse開發(fā)環(huán)境中,可以集成Findbug、Checkstyle、PMD插件檢查代碼編寫質(zhì)量。
(3) 持續(xù)集成
持續(xù)集成能夠把最終的一次大規(guī)模的集成調(diào)試過程分散到項目開發(fā)時間表的每一周、每一天、甚至每個小時。讓項目中的各個人員都能夠隨時掌握當前的整體進度,并迅速發(fā)現(xiàn)集成過程中出現(xiàn)的問題并進行解決[1]。
開發(fā)小組應制定持續(xù)集成的制度,一般情況下每日構(gòu)建一次,可以利用Ant等構(gòu)建工具進行Java應用程序的構(gòu)建。小組成員應在每個功能開發(fā)完成后,及時向版本控制系統(tǒng)(如CVS)提交代碼,而且不應該向版本控制系統(tǒng)提交有問題(編譯通不過)的代碼。
每日構(gòu)建、持續(xù)集成,讓項目進度跟蹤工作更加容易。當項目小組每天重新編譯系統(tǒng)時,已完成與未完成的功能清楚可見,小組成員能夠簡單地從軟件的表現(xiàn)知道距離整體完成還有多遠。
4.新技術引入
技術創(chuàng)新是一種具有探索性、創(chuàng)造性的技術經(jīng)濟活動。在開發(fā)過程中引入新技術,不可避免地要遇到各種風險。通過T形軟件開發(fā)、充分論證、多階段評審、同行經(jīng)驗等措施可降低新技術風險。
(1) T形軟件開發(fā)
在項目開發(fā)早期,開發(fā)小組應該建立系統(tǒng)的架構(gòu),解決關鍵技術難題、開發(fā)系統(tǒng)的基礎構(gòu)件,并對系統(tǒng)所需要應用的技術做深度探索。例如:基于JavaEE5構(gòu)建全國聯(lián)網(wǎng)售票系統(tǒng),涉及到分布式事務處理、海量數(shù)據(jù)存儲、異構(gòu)平臺互連等關鍵問題,應該優(yōu)先處理這些問題;對開發(fā)所涉及到的EJB3、JSF、JBoss Seam、Eclipse RCP等技術,要做深度探索。
越是技術復雜度高的項目,就越應該早地處理技術難題。如果在項目開發(fā)的中期或后期才發(fā)現(xiàn)架構(gòu)有問題或是關鍵技術難題不能解決,則為時已晚。
(2) 充分論證
新技術開發(fā)是探索性很強的工作,潛在著許多失敗的風險。在可行性分析階段,要廣泛搜集相關信息,設計多種可行方案,進行充分論證。在制定決策時,情報的數(shù)量和質(zhì)量致關重要。掌握的信息越多、越準確,才能作出正確的的決策,項目失敗的風險也就相對減少;反之,承擔的風險就會增大。
(3) 同行經(jīng)驗
針對新技術,由于沒有經(jīng)驗可借鑒,因此在探索過程中要充分利用互聯(lián)網(wǎng),通過搜索同行經(jīng)驗,往往事半功倍。要充分利用世界日益平坦化的優(yōu)勢,對于不能盡快解決的問題,可以先放一放,可能過不了幾天,網(wǎng)上就有相類似問題的解決方案了。
5.技術兼容性風險
硬件產(chǎn)品之間、系統(tǒng)軟件(操作系統(tǒng)、中間件、數(shù)據(jù)庫管理系統(tǒng))與主機設備之間、系統(tǒng)軟件之間、應用軟件與系統(tǒng)軟件之間以及應用軟件之間,都可能存在兼容性問題。往往系統(tǒng)集成的項目越復雜,兼容性問題就越有可能存在。
(1) 設計先行
在做系統(tǒng)的總體設計方案時,務必把好相關產(chǎn)品的選型關,確保網(wǎng)絡、主機、系統(tǒng)軟件與應用軟件之間不要存在較大的技術兼容性問題。在網(wǎng)絡平臺建設方案中,明確相關設備的技術參數(shù)和配置要求。
(2) 售前產(chǎn)品測試