这一段时间在做某个模块的调试,结果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. 项目时间估算根据实际情况变更,但是偏差不能太大。

Logo

更多推荐