[SQA] 敏捷开发中如何提高开发质量?(更新中)

敏捷开发中如何提高开发质量

问题:敏捷开发中如何提高开发质量?

敏捷开发中采用Scrum过程框架是常见的开发方式。最近上校经历的几个开发项目均采用了Scrum过程框架开发,团队规模从5个人到12个人不等;开发周期从2个月到8个月也不同。项目进行中和项目结项时,都不同程度的存在质量问题:

  • Sprint “带病迭代”
  • 开发周期 Delayed,系统不能如期交付和发布
  • Sprint Test 不能满足度量指标要求
  • 系统阶段性发布后,存在缺陷
  • UTA测试阶段,缺陷率过高
  • Product Owner 频繁变更系统需求,导致Sprint迭代过程中开发范围蔓延
  • 使用SonarQube检测,系统 Defect 和 vulnerability 过多,不能满足 Code Quality要求
  • 系统存在安全漏洞,使用 Security Testing 工具检测后,需要修复漏洞
  • ……

以上质量问题同样也困扰着各种开发团队。

那么如何在敏捷开发中提高开发质量?这个话题成为了讨论的焦点。

上校任务,质量的改善需要从三个方面入手:

Scrum团队自身的开发质量改善活动

需要从Scrum团队管理、技术、沟通、个人能力等4个方面做出改善。

[以下内容未归类,更新后归类]

  • 首要任务是根据项目的重要程度和优先级,组建Scrum团队,合理优化人员能力 —— 从团队下手
  • 树立良好的开发规范并且Scrum团队共同遵守
  • Scrum Master需要真正的起到Scrum规则确保和维护的作用,必要时需要和Product Owner “谈判”
  • Scrum Master要逐步在 Product Owner和其它干系人(Stakeholders)中提高威信力
  • Scrum Planning Meeting 时,根据团队能力和经验数据,做好合理的估算(偏差不要超过20%)
  • 敏捷不代表不需要文档,必要的文档一定要按照规范按时完成
  • JIRA管理一定要每日检查并更新,保证信息的最新状态
  • 双向反馈要及时,除了邮件共享信息之外;项目相关的信息都需要采用JIRA管理
  • Scrum团队需要正确理解Product Backlog,正确理解 User Story,不清晰的需求要及时澄清;
  • Scrum团队提高Coding能力,尤其是一定要基于 Security Checklist 的要求Coding
  • Scrum团队做好Unit Test,提高 Unit Test 的覆盖率
  • Scrum团队内部确保沟通畅通,信息共享
  • Scrum团队中的成员要遵守承诺,具有“契约精神”,遵守DoD规则
  • Scrum Master真正的在Product owner和Scrum团队之间做好沟通“桥梁”
  • Scrum Master收集每个Sprint的度量数据,及时做出分析,实施改善活动
  • Scrum Master带领Scrum团队做好Retrospective活动,改善团队气氛

 

独立的测试团队加强测试和缺陷分析

 

QA采取有效的行动做好质量保证

  • 过程控制(Process Control)
  • 定量管理(Quantitative Management)
  • 持续改善(Continuous Improvement)
  • 缺陷预防(Defect prevention)

(持续更新中……)

你可能感兴趣的:(敏捷开发,Scrum)