敏捷开发最佳实践:工具维度实践案例之落地工具提升研发质量
从最新敏捷白皮书调研数据来看,绝大多数中国企业在敏捷转型和落地实践中开始使用工具,也反映了中国企业对于工具的认可和依赖。
那么如何构建适合自己团队的工具,以及如何利用工具提升需求和产品质量,减少测试资源投入,将在本节的敏捷实践案例中为大家介绍。
本实践节选自《2022中国企业敏捷实践白皮书》,分享者为王波,是来自某研究院的质量负责人。
问题:
产品需求质量低,功能文档不规范,导致研发和测试返工浪费;
缺少版本规划,开发人员和测试人员之间存在障碍,被测代码容易失去控制。
问题成因:
缺少有效工具建立测试用例到需求的可追溯性,无法保证功能测试覆盖率;
没有自动化测试来保证每日构建质量,很多低级问题靠发版前的人工测试识别;
原有 Jira 工具由测试中心来控制,后台设置流程漫长。
敏捷实践:
引入 TDD 和自动化测试方法,通过开发代码和自动化测试代码同时入库确保每日构建版本冒烟测试通过。从代码静态监测-动态监测-规范监测,再到接口自动化以及迭代中的测试,每天会有一轮简单的测试;
将持续集成与项目的版本规划相结合,包括发布版本规划,内部迭代版本规划;
研发管理工具替换。质量负责人推动落地PingCode工具管理需求-开发-测试的全生命周期,建立测试用例到产品需求的可回溯性;通过 PingCode 进行产品需求规范化管理,对需求进行“史诗-特性-用户故事”三级划分,使得用户故事需求粒度达到了每轮迭代(双周)可实现的合理水平,同时通过测试结果追溯具体需求条目来提升产品需求质量;
利用工具来完全覆盖开发及 DevOps:让团队能够有完整的工具平台覆盖关键活动,以测试管理为例,摒弃传统 Word 写用例集的方式,通过PingCode直接在用例上标注,包括版本号,不同发布能快速使用不同用例集,并在工具中做缺陷的追溯和流转,整体效率提升明显。
实践结果:
引入 TDD 之后,利用自动化测试节省测试人力,接口测试从原来的 10 人天减少到 5 人天;
借助 PingCode 管理测试用例,将项目整体故事级别需求的测试覆盖从 40%提升到了 100%;
通过对产品的需求规范管理,用户故事需求粒度平均控制在 2 人天左右完成;
测试用例的更新及时率提升,由原来的滞后 4 天减少到滞后 1 天。
总结:
落地工具提升研发质量非常适合诠释敏捷第三条及第十二条原则:“经常地交付可工作的软件,相隔几星期或一两个月,倾向于采取较短的周期。”、“团队定期地反思如何能提高成效,并依此调整自身的举止表现。”
专家观点:
梁堃
某新势力造车企业 敏捷教练
有效的工具可以更好的支持企业产品研发过程的可视化和流程化,提升软件研发效率和质量。
通过本次调研结果发现,绝大部分企业都较为重视工具链在软件开发过程的效能提升作用。本节所选用的实践案例中,利用工具来覆盖开发及 DevOps 全流程并实现需求和测试的双向追溯,有效提升了研发全生命周期质量并减少测试资源投入,这对 ToB 企业或内部 IT 部门都具备很好的借鉴意义。
依据此实践并结合个人经验,推荐一种“工具先行推动敏捷转型”的实践方法。这个方法主要是用于在企业敏捷转型初期,团队的敏捷成熟度无法很好的支持敏捷实践落地,如 Scrum、SAFe,、TDD/ XP 等,我们可以选择引入一些软件研发、测试、质量管理等工具,并附以部分预先定义好的研发过程指标,通过统一和规范团队在研发过程中的动作,减少不同团队或个人由于对敏捷实践的理解不一致带来的效率损失,快速赢得领导层的支持,进而推进深层次敏捷转型。
评论