1. 程式人生 > >一個專案的反思與總結

一個專案的反思與總結

這一段時間在做某個模組的除錯,結果2周的活幹了7周才做完。今天我在這裡看看問題到底出現在哪裡?

專案目標:驅動除錯,移植

估算時間: 2周 

實際結果:

第1周將Linux版本的驅動和庫改寫成另一個作業系統的版本,編譯完成。

第2周,上板子測試,沒有結果。

第3周,使用Linux版本測試,仍然不過;發現致命問題,硬體版本沒有加入中斷模組。引入客戶支援,還是沒有任何進展。

第4周,硬體版本完成,重新測試,仍然有問題,分析中斷模組有問題。問硬體開發人員,中斷模組沒有經過測試;尋求客戶支援,廠家提供了中斷模組的測試例子。

第5周,硬體中斷模組除錯完畢。使用Linux版本除錯,發現有進展,但還有問題。

第6周,繼續尋求客戶支援,寫給GPU的硬體地址有問題,解決後,Linux版本除錯通過。開始除錯公司作業系統版本,有問題。

第7周,發現移植版本缺少signal支援,硬體浮點庫有問題。解決問題後,移植版本跑通 

分析上面工作流程,有幾個致命問題:

1. 硬體人員沒有明白這個模組的需求,連中斷模組都沒有加入;加入中斷模組後沒有測試後直接使用。

2. 硬體人員沒有及時和提供IP的廠家溝通,導致中斷模組缺乏測試案例,就自認為中斷模組沒有問題。

3. 首先不應該使用移植版本測試,導致不必要的時間浪費。

4. 關鍵難點沒有把握好,軟體人員沒有很好了解GPU的工作流程。

5. 沒有充分利用客戶支援這個重要資源。

6. 專案估算有明顯偏差,專案難度被低估。 

改進流程如下:

1. 和硬體人員溝通,確認硬體是否缺少模組,所有模組是否經過測試。

2. 及時取得客戶支援。

3. 充分了解GPU硬體的工作流程。

4. 使用Linux版本測試通過後,才對移植版本進行測試。

5. 移植過程可以貫穿整個工作週期。

6. 專案時間估算根據實際情況變更,但是偏差不能太大。