软件项目质量管理之道(软件项目质量管理之道有哪些)

原创 丸子洋 亘心 2023-11-14 21:00 发表于北京

无论什么类型的软件项目,项目质量在项目中都占据非常重要的位置。“质量”甚至是衡量一个项目是否成败的关键因素。

在传统项目管理铁三角中,“质量”占据C位,项目的时间、成本、范围这三个因素相互制约,并同时影响着项目质量。因此,项目经理需要能够平衡这三要素的同时保证质量,这样项目才会成功。(“项目管理铁三角”这个概念最早是在20世纪50年代由美国项目管理大师、全面质量管理之父爱德华·戴明提出。

随着敏捷(Agile)的不断成熟和发展,敏捷强调的“价值交付”也越来越和企业业务的观念所契合:只有更快更好的交付价值才能助力企业在数字化背景下发展的更快。

所以,项目管理铁三角进阶到了“敏捷项目管理铁三角”–价值,质量,和约束。原来传统项目管理铁三角变成项目的约束条件。此时,项目经理需要在优先保证“价值”和“质量”的前提下,同时平衡好时间、成本和范围。(“敏捷项目管理铁三角”理念最早是由Jim Highsmith在他的著作《敏捷项目管理》一书中提出,Jim 是提出敏捷方法创始人之一

因此可见,“项目质量管理”非常关键。

软件项目质量管理之道(软件项目质量管理之道有哪些)

质量管理核心

既然质量管理如此重要,那什么才是质量管理的核心关键点呢?

我认为质量管理的核心在于以下2点:1. 建立研发团队对质量认识的共识 2.利用流程控制质量。

1.建立质量认知共识

通常大家会错误地认为质量是测试的事儿,质量不好是因为测试没有测到位。我们需要打破这样的认知,建立“项目质量人人有责”的共识项目质量不仅是测试的职责,而是整个研发团队共同的职责;质量的把控不仅发生在测试阶段,而是从调研需求开始贯穿到项目的整个生命周期

2.利用流程控制质量

利用流程控制项目质量,就是标准化研发流程,并且为每个环节定义质量控制节点和标准。这样做的好处是,一方面开发人员可以按照已知的既定的节奏开发,一方面将质量控制均摊在研发工作的每个环节,能尽早发现问题,降低修复bug的风险和成本。

质量管理具体实践

在理解了质量管理的核心后,接下来按研发阶段中对于质量管控的目标手段来具体介绍质量管理的一些最佳实践经验。实践方法仅供参考,大家可根据实际项目情况进行剪裁 。

需求分析阶段

需求分析调研阶段,产品经理/BA是质量控制的关键owner. 当从业务/客户收集到意向需求后,BA需要对意向需求进行分析,挖掘出真正的业务诉求,并提供合理的系统解决方案。

质量控制目标

  1. BA要保证系统需求的正确性,保证系统需求能帮助业务实现其业务目标和价值,保证做正确的事儿。
  2. BA要保证需求描述的准确性,最大程度避免开发和测试人员在理解上的歧义。

手段

  1. 正确的需求分析技巧,如5W,用户旅程等,以此来保证挖掘到真实的业务需求。
  2. 建立和业务部门的需求评审和确认环节,保证propose的系统解决方案可以满足业务需求,并得到业务部门的确认。
  3. 标准化需求文档。需求文档是开发和测试的主要参考依据,需求文档的质量,将会直接影响开发和测试的工作产出和效率。因此,规范化、结构化、可读性高的系统需求文档是非常有必要的。

开发阶段

开发阶段,开发和测试人员是质量控制的关键Owner. 开发首先要保证正确地理解需求,然后再进行开发工作。另外,在编写代码过程中,养成良好的开发习惯,从技术层面把控代码质量。

质量控制目标:

  1. 保证开发和测试正确理解需求
  2. 确保代码的性能和质量

手段:

  1. 保证研发人员正确理解需求,并能够及时发现问题。
  2. 1.1 在每个迭代准备阶段,BA通过IPM(Interation Planing Meeting) 给开发和测试进行需求的讲解;
  3. 1.2 当需求准备进入到开发阶段时,开发人员需要给BA进行需求的反讲
  4. 1.3 开发过程中,测试人员准备测试用例,然后邀请BA进行测试用例的review
  5. 1.4 开发结束后,开发人员给BA和测试做功能演示,演示通过后进入测试环节
  6. 1.5 测试结束后,测试人员给BA做功能演示
  7. 这个流程是我们在做交付项目时比较通用的方法。流程看起来虽然繁琐需要花费不少时间沟通,但也正是因为研发和BA间的频繁沟通对齐,才能及时暴露项目存在的问题,进行及时的纠偏和修复。可以有效的减少项目后期才发现问题的风险。
  8. 定期code review结对编程或组内定期开展code review的方式都可以。定期code review,一方面可以发现代码中存在的问题,另一方面还可以提供一个大家互相学习别人代码的机会。
  9. 利用TDD把控代码质量。

E2E测试阶段

E2E测试阶段,产品经理/BA和测试人员是质量控制的关键Owner。当整个项目开发即将完成之际,为了保证产品功能集成在一起可以运行,还需要对整个系统进行端到端的测试(End-To-End, E2E)。E2E测试是对项目质量最后的把关。

质量控制目标:

1. 保证系统功能完整性。

2.保证系统可以支撑完成业务场景闭环。

手段:

1. 执行E2E测试用例。由BA提供完整的端到端业务场景,测试补充测试步骤并执行。E2E测试可以保证所有业务场景均被系统覆盖,并且能够支撑业务人员完成整个业务场景下的功能。

2. 自动化回归测试(Regression Testing)。对于一些迭代增量交付的项目,团队也许会有自动化回归测试脚本。通过运行自动化回归测试可以保证新交付的功能不会对已有功能造成影响。

软件项目质量管理之道(软件项目质量管理之道有哪些)

备注:在上图中我们也看到了,项目的时间、成本和范围对项目质量是有制约和约束的。如果想要有高质量的交付,项目的时间和成本一定会受到影响。对于交付项目这个一定会影响到项目的利润(Margin)。当项目经理交付了高质量的项目,但却以损失成本为代价时,从交付公司的角度看,这未必是个成功的交付项目。所以,对于交付项目经理,需要在“成本”和“质量”间拿捏一个比较合理的度,把质量控制在客户可接受的范围内就好。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2023年12月15日 上午10:25
下一篇 2023年12月15日 上午10:41

相关推荐