发布日期:2023-06-13 11:06:59
分享到
客户今天提出需求,明天就想要?
友商发布了新产品,这个功能我没有,可能被赶超?
无论是客户需求,还是市场竞争,都对我们产品的迭代提出了更快更好的要求。在此情景下,我们需要尽量压缩产品的迭代周期、控制版本延期率,以增强产品竞争力,提高客户满意度。
那怎么才能压缩产品迭代周期呢?
产品迭代规模越大,开发进度越难掌控,风险也会增加,我们需要更好地调整开发节奏,以增强抵抗风险和控制的能力。为此,我们在实际开发中引入了敏捷的思想,在迭代规模和开发流程(测试方法)上做了一些调整,希望在敏捷和to b企业的软件产品开发之间做到较好的结合,详见方法1与方法2。
自动化是我们可以探索的另一个途径。自动化可以代替部分的手工操作,也可以减少人为错误的机率,帮助团队利用更少的资源做更多的工作以提高效率。我们在开发和测试阶段分别做了一些自动化尝试,详见方法3。
方法1:迭代规模压缩
我们发现,当前公司存在较多开发周期超1个月、迭代周期超过3个月的产品,过长的迭代周期易导致开发和测试环节的工作难以把控时间,延期率过高。
于是,我们通过控制需求量,调整产品开发迭代节奏,原本开发周期为4周甚至更久,逐步压缩到3周,再压缩到2周。
如下是产品a首次控制迭代规模后的效果,相对延期率从18.09%降至9.59%。实际开发中,测试时长从占比开发时长的48.39%,降至44.90%。
方法2:改轮次测试为批次测试
一个软件产品迭代的开发,我们可以简单认为其流程如下:
1)轮次测试
当前公司进行的是轮次测试,具体见下图:
通过上图我们可以看到,轮次测试下的产品迭代流程基本是串行的,每个轮次的测试都要等前一轮测试全部完成才可开始,这之间消耗了大量时间。而若产品质量无法达到验收标准,还会继续走第四轮,甚至更多轮的测试
在代码开发时,两个互相没有依赖关系的需求,其实是可以通过快速跟进的技术,做到部分需求并行开发,以实现产品迭代周期的压缩。于是,我们开始调整轮次测试为批次测试。
2)批次测试
当某产品迭代系统设计评审完成后,开发人员可以对当前迭代需求进行批次划分,要求各批次需求之间互相独立,每批需求可单独提测。
开发人员完成第一批需求的代码开发后,可对第一批需求进行提测,测试人员开始测试;与此同时,开发人员开始进行第二批需求的代码开发工作;以此类推。
注意!开发人员排期时,请在两批次的需求开发中,预留一定的bug修复时间。
3)实例
我们仍旧以产品a的迭代开发为例,看看产品迭代开发转批次测试的效果。此处需要注意,我们持续在控制迭代规模。
从相对延期率可以看出,在执行了批次测试后,产品迭代的延期率受到了有效的控制,迭代5甚至做到了延期率为0。
方法3:自动化
1)持续集成平台
公司本身已有ci/cd的自动化工具,但其他产线前期并未用起来。
经各产线研发总监推动,我们开始使用持续集成平台,集成研发工具帮助企业实现持续集成/持续部署(ci/cd)。研发人员完成代码编写后,提交代码即可触发流水线,构建完后随流水线自动完成环境部署。
上线平台前,产品a迭代1开发人员完成全部代码开发、部署代码至线上后才能了解整体功能的实现情况。持续集成平台建成后,开发人员可以随时线上自测,代码质量进一步提高。
持续集成平台的引入,帮助我们更高效地进行业务交付,同时也强化了我们对研发过程的整体管控,满足数字化建设下业务快速迭代的要求。
2)自动化测试
通过自动化测试,可以有效帮助解决测试时长和测试覆盖率的问题,提高测试工作效率。
产品a自迭代3开始执行接口自动化测试。测试会在新的迭代做上一个迭代的p0级自动化测试,要求产品同一个大版本内要保证接口向下兼容。
企业持续交付好帮手——嘉为蓝鲸cci持续集成平台
“工欲善其事,必先利其器”,研发团队可以通过各种流程和方法对研发迭代效率进行优化,而对于规模较大的企业,建立统一平台提供工具能力更是势在必行,平台能力可以快速帮助组织实现效率的提升,达到事半功倍的效果。
嘉为蓝鲸cci持续集成平台,是以蓝盾ci为内核的企业级持续交付平台,满足数字化建设的传统企业在提升数字业务交付效率的同时,强化对研发过程的管理,是企业实现有质量、高效率持续交付的得力助手。
在上文中,研发团队引入嘉为蓝鲸cci持续集成平台,利用从代码到部署的自动化工作流程,提供从代码拉取、代码扫描、编译构建、软件部署、制品晋级到生产发布的自动化研发流程,通过快速反馈循环提高工作效率,释放敏捷开发的强大力量,更快更好地响应业务。
嘉为蓝鲸cci持续集成平台,满足持续集成、持续部署到持续交付所需的一站式devops工艺体系,通过全自动可视化流水线 源码监控 质量红线的组合能力,真正做到了高度自动化、支持多并发、能力可扩展、全程可视化和质量可卡控。
如果您有相关建设需求,欢迎联系k8凯发天生赢家。
小结
通过迭代规模的压缩、批次测试的推行、持续集成平台和自动化测试的使用,公司产品迭代延期率有效得到了控制,产品a甚至做到了迭代5的延期率为0(仅作参考,实际执行时仍会因各公司情况而有不同)。
希望本文章可以为做软件产品研发的朋友提供一些帮助~
微信扫码登录
申请演示
请登录后在查看!