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