你在做軟件開發(fā)嗎?
在啟動(dòng)項(xiàng)目前是否做好技術(shù)選型了呢?
在設(shè)計(jì)前是否已經(jīng)理順大體需求了呢?
在編碼前是否已經(jīng)反復(fù)思索過(guò)對(duì)應(yīng)的設(shè)計(jì)呢?
在測(cè)試前是否已經(jīng)準(zhǔn)備好測(cè)試用例呢?
在部署交付前是否已經(jīng)計(jì)劃好具體的功能列表呢?
考慮過(guò)項(xiàng)目的性質(zhì)嗎?互聯(lián)網(wǎng)應(yīng)用,還是內(nèi)部網(wǎng)應(yīng)用。
弄清了項(xiàng)目規(guī)模大小嗎?3人月可以搞定的小項(xiàng)目,還是需要幾十人月的長(zhǎng)期奮戰(zhàn)?
確定團(tuán)隊(duì)的實(shí)力了嗎?是全員光頭新人,還是在某牛帶領(lǐng)下的小馬集團(tuán),還是經(jīng)驗(yàn)豐富的水路兩棲沖鋒隊(duì)?
如何與客戶協(xié)同合作?瀑布式一次理清所有需求,還是需要分階段迭代,或者直接進(jìn)駐客戶公司面對(duì)面開發(fā)?
是否要使用框架呢?還是選擇最基本的jsp, jdbc應(yīng)用。
編碼與項(xiàng)目如何管理,使用版本控制工具?還是用U盤copy過(guò)來(lái),copy過(guò)去?
如果選擇版本控制工具,究竟哪一款才適合自己的情況?
系統(tǒng)如何劃分層次?五層?三層?其他方式?
模塊如何劃分,按功能?按業(yè)務(wù)?混合分塊?
開發(fā)如何分工,橫向分工,各層之間接口對(duì)接?豎向劃分每個(gè)人負(fù)責(zé)從前到后一整塊。
如何測(cè)試?手工點(diǎn)點(diǎn),還是使用自動(dòng)化測(cè)試工具。
測(cè)試用例如何確定,如何提高測(cè)試的有效性。
測(cè)試的結(jié)果如何反饋給開發(fā)過(guò)程,需要使用excel還是issue跟蹤系統(tǒng)?
測(cè)試過(guò)程中可以暴露并發(fā),事務(wù)等隱性問題嗎?
性能測(cè)試如何進(jìn)行,壓力指數(shù)應(yīng)該保證到多少?
后期維護(hù)的方式的選擇。
如何維護(hù)數(shù)據(jù)庫(kù)表結(jié)構(gòu)?每次exp整個(gè)數(shù)據(jù)庫(kù),到客戶公司imp,還是找一個(gè)員工手工比對(duì)所有表結(jié)構(gòu),還是直接實(shí)現(xiàn)數(shù)據(jù)庫(kù)版本化管理?
如何為系統(tǒng)打補(bǔ)???視圖層的補(bǔ)丁,服務(wù)層的補(bǔ)丁,依賴庫(kù)的補(bǔ)丁。如何管理,如何實(shí)施,如何測(cè)試?
系統(tǒng)是否擁有動(dòng)態(tài)部署的能力?在系統(tǒng)升級(jí)的過(guò)程中是否可以減小出錯(cuò)的可能?
。。。。。。
還有很多,還有很多。有些問題可以通過(guò)技術(shù)解決,有些問題需要根據(jù)具體條件進(jìn)行分析,有些需要盡力規(guī)避,有些需要硬著頭皮強(qiáng)頂硬撐。
在考慮清楚這些問題可能帶來(lái)的各種問題之前,讓軟件開發(fā)慢下來(lái),至少慢一點(diǎn)點(diǎn)也是好的,進(jìn)行下一步驟之前先了解如果出現(xiàn)了問題該如何應(yīng)對(duì),如何解決。