1.项目临近交付日期,bug消灭不完
原因分析:虽然在开发之前已经经历了需求评审、原型设计,以及开发过程中有测试部门的把关,但在软件开发后期bug仍然层出不穷,这种情况通常是因为修改bug又引发新bug导致。
解决办法:在设计上增强功能模块的内聚性,降低耦合性;开发人员尽可能做到做好单元测试;测试人员做好回归测试,确保每次bug修改后不会引发新bug;代码层面应确保新代码通过测试再与老代码集成。
2.开发返工,时间不可控
原因分析:产品人员需求传递不整体,不完整导致开发返工
解决办法:产品人员在撰写《需求文档》时,不仅要有功能模块、业务流程、业务关联的宏观说明,还要有功能点,字段,数据关联,数据流向,规则说明等清晰的说明。
3.甲方反复验收周期长,乙方无力积极配合
原因分析:双方在合作之初没有共同制定需求验收准则,明确说明软件功能、性能、质量特性等,测试无据可依
解决办法:把验收标准,不仅软件功能层面,还有非功能层面如技术指标,软件需满足的用户量,并发量,响应速度等都要明确在合同附件里,确保可实现,可量化,可验收。否则,甲方认为该实现,乙方认为实现起来需要增加时间和成本,双方陷入扯皮境地。
总之,解决软件开发的问题需要甲乙双方共同参与,甲方需求清楚,并且提前与乙方制定验收标准,验收有据可依。乙方项目组各角色的工作任务清晰,分工明确,开发对需求的执行和验收标准的执行都有据可依。