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