软件产品研发流程管理

软件研发出现bug是在所难免的事情,即便是非常有经验的研发工程师也不能保证研发出来的软件产品没有bug,对于大型软件研发时,几十人上百人的研发队伍,人员技术业务等能力存在参差不齐的情况,如何控制好软件产品的质量是很多企业,特别是一些初创企业急需面临的挑战。

我一毕业经过简单的业务培训,就开始做研发(大学专业),之前的研发流程比较简单,因为研发团队人员比较少,客户需求多,交付时间紧张,通过最简单快捷的方式完成客户的需求。早期产品研发的大部分流程为:产品需求人员将客户需求收集回来,编写需求规格说明书,跟主研人员确认实现方式,完成周期和工作量,确认后跟客户 价,客户确认需求规格说明书以及工作量后,需求人员通知研发人员开始开发,开发完成后经过简单的测试,有时可能没有业务数据,研发完成后就提交给测试进行测试,测试人员遇到问题再和需求人员与研发人员沟通业务逻辑,测试完成后提交给用户进行UAT测试,UAT测试通过后,发布到用户生产环境。这个简单的产品研发流程看似效率最高,因为中间只是经过了必要的环节,参与的人较少,但是问题也很多:软件质量得不到保证不能高度的产品化抽象,甚至存在大量的重复造轮子的情况,升级新功能,影响了原有功能,按下葫芦浮起瓢。随着软件功能模块的增多,业务复杂度增加以及团队的扩大,如何做好产品质量管理,我觉得流程非常重要,这个时候也会遇到软件产品交付周期变长等问题,但是对于软件公司以及客户来说,有保障的稳定的软件产品应该是首先要考虑的,否则带来的软件问题的修复将会花费更多的时间。

原有研发流程图

经过查找一些资料,结合公司的现状,我和相关同事一起共同制定出了一套适用于我们的一套产品研发管理流程,如下图所示,可以作为一些参考。

调整后研发流程

针对原有流程主要做了以下内容的调整和加强:

  • 需求入池,对于需求分类, 按照需求的优先级、价值等分类后,优先处理优先级高、高价值的需求,用有限的精力换来最大的产出。
  • 设计评审,每三周一次设计评审,组织有经验的产品、研发、测试人员一起针对产品功能设计进行评审,提出建议,将需求更好的产品化,通用化,避免重复造轮子;同时测试人员可以对设计功能有更深入的了解,设计评审后可以着手测试方案的制定编写;设计评审后可以确定本次版本迭代的内容范围,可以制定迭代任务。
  • 研发设计,有经验的研发主管或者架构师将研发的内容进行规划,定义数据字典、API接口文档、代码逻辑等内容,主研人员根据研发设计内容进行代码编写
  • 自动化测试,自动化脚本编写人员按照测试用例,进行自动化测试脚本编写,每次版本发布前进行自动化测试,做整体回归测试。
  • 声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2022年1月9日
    下一篇 2022年1月9日

    相关推荐