文章参考于2021ThoughtWorks技术雷达峰会-Trackb 林冰玉
无论是对什么企业来说,对于产品质量的把控都是机器重要的一关,我们又如何进行质量把控?
传统开发方式所遇到的问题
- Bug持续不断
- 质量目标不清晰,没有统一的标准/策略
- 自动化程度低
- 工作分配不均,资源价值没有最大化
如何进行把控系统质量
创成这些问题的原因
- 团队沟通意识比较差,同时认为自己做好自己的事情就好(例如:测试就只交给测试人员来做,而开发则不关心测试)
- 缺乏统一的标准/策略。导致团队交接时,代码晦涩难懂,只能硬着头皮接手。又或者时间久了之后,自己都看懂自己代码,同时又没有文档进行观察。
- 自动化集成比较低,又或者没有持续集成机制,只能依赖系统集成测试。
- 团队整体比较松散,导致后期Bug过多,甚至导致开发停止,疲于应对Bug。
如何解决这样的问题,或者说如何正确的进行质量保障赋能?
1> 软件开发全流程标准化
- Devops(构建流水线 自动部署流水线)
- 开发规范标准化
2> 大规模自动化助力标准化
- 测试自动化
- 流程自动化
3> 保证系统韧性
- 系统监控
- 系统的快速响应
标准化:流程+实践
自动化:流程+测试
假如我们上述条件都完成了,那么我们思考另一个问题:
仅靠工具赋能,能够保证系统质量吗?
答案肯定是:当然不行
- 目标驱动,即系统的目标。仍然需要人为干预,确定目标,同时给予团体共识。
- 策略指导,通过什么方式驱动产品开发。演进式或者其他形式。
- 人员能力,总体提高人员能力,当员工能力不足时,质量从根本上就无法把控。