论建立需求支撑体系的关键过程
2021-11-23梁兴辉赵志刚齐连秀张少娜中国移动通信集团河北有限公司
梁兴辉 赵志刚 齐连秀 张少娜 中国移动通信集团河北有限公司
随着移动通信业务的不断发展,日常需求数量和复杂度日益增加,日常需求支撑以及版本上线关键业务测试工作量都大大增加,如何提高需求支撑效率,保证需求及时、高效、高质量上线,成为IT系统落实公司转型发展的关键问题之一。信息技术中心坚持以客户为中心,积极推进改革创新,以“三个满意”为目标,高效响应需求,加强能力储备,建立业务支撑系统标准化、透明化、自动化的需求支撑体系。通过明确需求全生命周期流程,形成标准化需求模板,建立需求分级管理体系,实现需求支撑进度线上透明,搭建自动化测试平台等一系列措施,确保需求高质量上线同时,有效提升需求支撑效率和需求测试自动化程度。
建立需求支持体系主要包括三个关键过程,分别是:1.建立标准化需求管理体系;2.建立透明化需求支撑流程;3.建立自动化需求测试平台。下面针对以上三个关键过程进行深入的分析和阐述。
一、建立标准化需求管理体系
(一)明确需求标准化流程,制定各环节时限要求
需求支撑全生命周期主要包括需求提出、方案设计、需求排版、需求开发、需求测试、需求上线、需求转维和需求后评估8个主要流程。在明确需求全生命周期流程基础上,结合日常需求各环节耗时统计,建立需求的标准化过程各环节时限要求。
(二)建立需求分级管理体系,践行精细化管理
为更好地实现需求支撑,根据业务需求重要程度和需求复杂度对需求进行分级管理。需求分级评定从需求重要程度和需求复杂度两个维度出发,需求重要程度包括重要/普通两级,由需求提出部门需求管理人员对本部门内的需求进行重要程度评定;需求复杂度包括高/中/低三级,根据“需求涉及到的平台数量”“需求涉及到的渠道数量”“需求涉及到的菜单/接口数量/进程数”“预估工作量”四个维度评估复杂度,由需求主管在完成需求澄清后评定。根据需求紧急程度和需求复杂度对需求进行分级管理,不同等级需求各环节时限要求不同,更灵活、高效的支撑需求上线。
为更好的支撑需求提出部门突发的紧急需求支撑,信息技术中心与需求提出部门共同建立了标准的紧急需求支撑流程,协调开发、测试资源保障紧急需求重点快速支撑。紧急需求需要经过需求提出部门领导审批,紧急需求总工作量一般不能超过该部门需求规划工作量的8%。
(三)形成标准化需求模板和需求澄清模板,统一需求沟通语言
针对部分需求提出时需求描述过于简单,需求澄清时需要反复沟通和讨论的情况,信息技术中心结合需求开发经验,制定标准化的需求模板和需求澄清模板。需求提出作为需求整个过程的源头,是需求生命周期的开始。此阶段必须对需求进行清晰、准确的描述。基于业务线条和业务形态,梳理设计形成5类45个需求模板,固化至需求管理平台中使用;结合需求澄清关键要素和需求模型,设计4类需求澄清模板,固化至需求管理平台中使用。各业务主管提需求时首先要选择对应的标准化需求模板,并将模板中的关键要素填写完整。信息技术中心通过标准化模板的不断完善,统一需求沟通语言,提高双方沟通效率。
二、建立透明化需求支撑流程
(一)规范需求版本流程,完善版本上线机制
需求版本管理主要包含以下流程:1.版本计划:版本主管月底制定下月版本计划,并进行中心内报备。2.版本排版:根据需求澄清完成时间和版本容量情况,组织版本预排版、版本排版、版本定版,版本定版后启动版本内需求开发。3.版本跟踪:定期对版本内所有需求的开发进展和测试进展进行通报,督促所有需求按时完成开发和测试工作,各需求主管应做好排入版本需求的全流程跟踪。4.版本封版:在版本上线前1天封版版本上线内容,针对上线内容明确影响领域、操作步骤和各环节时间安排。5.版本发布:按照提前报备时间启动版本升级操作,运维人员负责前台、中间件、后台代码和配置的发布,DBA负责数据库脚本的发布。6.版本总结:版本上线后,版本主管牵头对版本上线后的情况、版本开发过程管理情况进行综合分析、衡量和评估,并组织版本总结会议。7.版本转维:版本上线后,开发主管根据版本上线情况,以及涉及菜单、进程、接口、短信情况进行转维。
(二)版本线上管理,需求支撑流程线上透明
为确保需求提出人、需求主管、开发团队、测试团队等相关人员可以及时了解需求支撑进度,包括需求开发测试进度、需求排版情况、需求上线计划等,信息技术中心通过需求管理平台将需求处理流程透明化展示,以版本管理为中心,重点打造版本内需求归版、开发任务燃尽情况、版本缺陷管理、版本测试日报等功能模块。
版本内需求归版包括预排版、定版和版本需求调整。预排版由需求提出部门和支撑部门共同完成,支撑部门结合版本容量、各部门需求量给各需求提出部门划分需求配额限制,需求提出部门结合本部门需求紧急程度进行预排版,支撑部门根据开发能力、需求复杂度、需求重点性等多种因素对版本内需求进行调整和定版。开发任务燃尽情况体现版本内所有需求的开发进度与预期进度的对比。版本缺陷管理实现需求测试环节中缺陷的全生命周期线上管理,包括缺陷识别、分派、解决、复测、关闭等流程,通过建立缺陷、分派开发主管解决、复测等环节,确保所有缺陷及时处理,同时需求主管、开发人员、测试人员等多角色相关人员能够第一时间了解需求的缺陷情况和缺陷解决情况,缺陷线上管理还有助于做好缺陷统计分析工作,分析缺陷产生原因,并针对性的制定解决措施,提升需求开发质量,进而提升需求支撑效率。版本测试日报根据需求的测试进度每日自动记录当日“转测情况”“测试用例执行情况”“缺陷情况”等测试相关的数据信息,生成工作日报数据,精细化做好版本内所有需求的测试进度跟踪。
(三)建立系统灰度发布机制,实现不中断业务上线
传统的上线模式需要对应用服务进行暂停,影响客户感知,故一般选择晚上操作,上线时间受限。灰度发布模式通过将新版本发布到灰度环境,逐步扩大试用客户范围,根据客户的反馈进行优化,最终使系统平滑升级过渡的一种版本发布方式。灰度发布全程不中断业务,用户无感知,上线时间相对灵活,是实现版本快速迭代升级的有利措施。
信息技术中心借鉴互联网公司先进的灰度发布理念,进行支撑系统架构改造,实现双中心业务承载,建立灰度发布机制。灰度环境支持按照具体操作员、营业厅、地市等多维度进行放开。灰度发布步骤包括:1.将所有业务切换到单中心(以A中心为例),预留另一中心(B中心)作为灰度环境;2.将新版本代码发布到B中心,实现B中心的功能升级;3.将单一地市业务切换到B中心,对该地市业务进行关键业务验证,同时通过业务监控和一线使用情况对新版本的功能和稳定性进行生产环境验证,并针对发现的问题进行解决完善;4.版本稳定后,逐渐将其他地市业务切换到B中心,实现所有地市的功能升级;5.将新版本同步发布到A中心节点,实现AB双中心功能升级;6.将所有业务按照原来的负载均衡方式,平均分配到两个中心进行承载,灰度发布结束。灰度发布过程中中心切换不影响用户业务受理,用户无任何感知即可切换到新业务版本上,即使是用户正在办理中的业务也不会中断。因此,通过灰度发布方式可以在白天进行版本升级,降低版本升级影响,提升版本迭代升级频率。
三、建立自动化测试平台
(一)升级自动化测试框架,搭建自动化测试平台
为提高测试自动化覆盖率,信息技术中心引入Sweetest自动化测试框架,Sweetest框架使用Python语言,具有无需编码能力,在 Excel 中以文本编写测试用例,测试人员可轻松上手的优点,而且维护成本低。搭建自动化测试平台,采用“客户端→服务端→执行机”的模式,所有的脚本通过服务器管理,多个执行机并发执行,不断提升自动化测试覆盖率。
(二)建立线上测试用例库,提升自动化测试效率
测试用例库包括关键业务测试用例和需求测试用例。关键业务测试用例是指每次版本升级后对系统的关键功能进行遍历测试的用例,关键业务测试用例需要根据业务的发展而不断更新,确保系统基本功能全覆盖。需求测试用例根据需求功能点进行设计,要求包括正常情况下测试用例和异常情况下测试用例。测试用例库线上管理可以实现测试用例的累积、共享、引用等,丰富测试场景储备。测试用例包括测试步骤、预期结果、实际执行结果等,测试执行环节支持线上执行,从用例直接生成测试报告,并支持报告导出,提高测试效率。
(三)建立前台自动化业务办理流程,提升产品测试自动化
产品测试是新增产品在放开商用前进行的必要环节。产品测试包括产品配置检查、前台产品办理准确性检查、办理成功后数据记录准确性检查、计费批价准确性检查等环节,是验证产品配置准确性和需求匹配度的重要步骤。为有效提升产品配置准确性,压缩测试时长,从传统测试痛点出发,建立产品全流程自动化测试验证,提升产品测试效率。产品配置检查通过建立自动化配置脚本稽核,实现对产品配置需求模板信息和实际配置脚本的自动化比对稽核,直接输出比对结果,有效提升配置信息检查的准确性,节约配置检查时长;前台业务流程验证通过录入前台UI脚本,实现自动化商品订购流程验证及客户资料信息准确性验证,并同步进行业务流程截图存留,节约测试人力,减少重复工作量;计费批价准确性验证通过自动化测试平台模拟计费和账单出账,实现自动化语音、流量拨测,自动化租费及账详单出账,自动化月结低消等结算,实现当天可以进行账单验证,不用等待按照自然出账周期,节约测试时间,提升测试效率。
四、结语
移动通信公司将着力建立完善的开发、配置、测试机制,以标准化、透明化、自动化为目标,以《信息技术中心需求管理办法》为指导,以需求管理平台为抓手,打造“需求响应快、交付质量高”的需求支撑体系,缩短需求交付周期,提升需求交付质量。