前段时间完成一个历时九个月的应用软件开发项目,项目收获良多,问题也很多。在这里总结一下,为以后项目开发积累些经验和教训吧。
软件背景:硬件板卡和底层驱动由第三方设计并完成调试。底层驱动不开源,设计,说明文档对板卡解读不清晰。
先写一下软件开发经历的过程吧,软件任务书下发后,开始着手对功能进行调试。(此过程缺少需求分析,至少缺少纸面的文档和对开发人员对需求的培训或开会讲解)
开发进度缓慢------软件开发人员对项目不明确,任务书,设计文档做不到共享。
开发过程问题------甲方公司开发,效率低下。
开发需求不明------前期对项目解读不够导致项目开发需求一改再改。
开发环境问题------无模拟环境导致项目开发调试需要借助实物验证,进一步延缓项目开发进度。
开发时间/计划管理-----前期对项目评估不足,导致项目延期严重。
开发配合问题------第三方驱动代码不开源,对软件功能调试/软件测试问题排查增加了难度。
以上就是项目开发碰到的问题。项目开发难度很大,效率很低,有些问题可能并不能避免,却可以改善良多。
改善的软件开发流程:
软件任务书下发:深度解读软件任务书功能需求和关键点关键指标内容。原则上禁止有需求不明,模棱两可的话语混杂其中。
软件需求方分析:需求分析是在软件任务书下发之后,软件开发之前进行。软件需求分析是软件软件开发的必备文档,和软件任务一起为软件设计依据。这里需要和需求方对需求功能和指标一一核对,会签完成。
软件需求变更/工程管理:需出示软甲需求变更单,原则上不允许出现口头提出修改需要,后续保证更改有出处。
软件设计文档,可根据项目需求对软件设计文档提前或者滞后设计,初版设计/架构设计应在软件开发之前完成。
软件测试文档,配置项测试对照软件需求分析,出厂测试对照任务书。
开发中的问题规避事项:
1.原则上不允许需求方介入/干预开发;
2.开发配合问题:板卡接收需做详细/规范的接收测试;
3.开发测试问题:构建必要的模拟环境。