在软件开发过程中,有几条准则是已经被无数次验证的。
1、在项目发布后发现和修复Bug的成本是需求和设计阶段所需的一百倍!
2、80%可避免的重复劳动源自于20%的缺陷,其中两大主要来源包括草率的需求定制和象征性的案例设计和开发。
3、大约80%的缺陷来自20%的模块,而约半数的模块是几乎没有缺陷。
4、90%的软件的停工期最多来自于10%的缺陷。
一、产品质量目标
评估产品质量,常用的是千行代码缺陷率,以下是查到的一些业界的千行代码缺陷率数据。典型的统计表明,在开发阶段,平均50~60个,交付后 15~18个;微软内部测试的产品10-20个,正式发布产品0.5个;某外包公司,A级≤ 0.5个,B级≤1个,C级≤5个;航天飞机的软件,0个/50万行。缺陷率做到平均水平的1/10是很少见的,而如果10倍以上,产品可能永远也不会完工。
二、需求层面
产品需求设计要合理。正确而有效的进行需求评审,提前查阅,记录好问题,带着问题去评审,效率更高、效果更好。
三、研发层面
按照开发团队的规模,从小型团队到中型团队有如下一些办法可以采用:
对于人数较少的小公司,前三项办法建议推广。具体的推广要点如下:
加强团队培训
- 新知识/技能的系统培训
- 老员工经验技巧分享交流会
加强源码管理
- 统一源码管理平台
- 统一源码权限管理
- 代码签入审查制度建立与实施
- 利用源码管理做源码的分支,做Tag
建立简单项目管理
- 立项制度,立项需要公示,接受建议和意见
- 项目资源需要预先分配并且预留备份方案
- 每个项目均需通过专职测试检测
- 项目验收结项制度,项目验收需要经过评审委员通过,结项时考核项目实际使用资源,完成效果和完成时间。
- 项目结项要公示,经验教训需要交流学习,讨论提高
1、技术架构设计、逻辑实现(设计)要合理
避免技术大的框架设计存在问题,多去考虑实现逻辑的合理性或效率、性能等;
2、开发编码规范
规范不是对开发的制约,而是更有助于提高开发效率的;规范的代码还可以降低维护成本、极大的提高团队对代码的可读性,而且还有助于代码review;
3、代码详查
要让开发者复述做的需求,详细的设计思路,然后仔细走查代码
4、重构频繁修改的文件
只有对代码库中变更最为频繁的文件予以重构,才能增加它们的易读性,也就更容易被每一位开发人员所理解。同时,有了针对性的代码重构,开发人员阅读代码的时间花销也会大幅降低,整个开发团队的生产力同样会得到相应的提升
5、偿还tech debt
程师们不愿意清理tech debt的一个原因是怕影响进度。公司可以计划出一月的时间,让所有团队一起清理tech debt,不要追进度,这样就可以保证工程师在没有压力的环境下清理tech debt
四、测试层面
单元测试、集成测试、系统测试等 根据自己公司的实际情况来制定,测试流程制定合理,可以更好的提高效率,避免pm、rd、qa来回扯皮、一起更好的把控产品质量
流程一定要覆盖到位,很多情况下,改了老功能,影响了新功能!
五、上线流程的规范
制定详细上线流程的规范,严格执行。
有的研发的分支团队很多,公共代码库的维护很乱,有时容易引发较大的线上事故,所以很有必要约定好一个规范的上线流程,要保证分支没问题的代码才能合并到主干,再做主干整体回归
参考: https://www.cnblogs.com/xjmnet/p/9653016.html https://blog.csdn.net/lihongzhai/article/details/73825647