一个项目的反思与总结
这一段时间在做某个模块的调试,结果2周的活干了7周才做完。今天我在这里看看问题到底出现在哪里?项目目标:驱动调试,移植估算时间: 2周实际结果:第1周将Linux版本的驱动和库改写成另一个操作系统的版本,编译完成。第2周,上板子测试,没有结果。第3周,使用Linux版本测试,仍然不过;发现致命问题,硬件版本没有加入中断模块。引入客户支持,还是没有任何进展。第4周,硬件版本完成,重新测试,仍然有问题
这一段时间在做某个模块的调试,结果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. 项目时间估算根据实际情况变更,但是偏差不能太大。
更多推荐
所有评论(0)