质量流程管理体系设计与实践

2019-09-10 13:13蔡国华魏丽丽
E动时尚·科学工程技术 2019年9期
关键词:持续改进质量管理体系

蔡国华 魏丽丽

摘 要:中国搜索的软件研发业务参考国际软件标准规范体系,通过多年实践探索积累,构建了具备自身特色的质量管理流程体系,保证软件项目实现按时、保质、可控的研发目标,为各项业务平稳快速发展奠定了坚实的基础。

关键词:质量管理体系;软件研发;持续改进

1 背景

中国搜索是由中央七大新闻单位联手打造的国家级互联网高新企业,既有自主研发的项目和产品,也有与外部机构合作研发的项目和产品;既有部门独立研发的项目,也有跨部门合作的项目。业务类型多、部门合作多、流程环节多,容易出现信息流转不及时、过程细节有疏漏的问题。我们在如何有效地控制研发过程、保证研发质量方面做了大量探索和实践,借鉴国内外先进管理办法,结合多年积累的质量管理和运维运营工作经验,制定了中国搜索软件研发标准流程,形成研发过程严格控制质量,运维和运营过程不断提升质量的全面质量流程管理体系。

2 质量流程管理体系设计

2.1 建立基于研发组织特点的技术管理架构

中国搜索的技术研发组织由搜索研发、移动研发、应用研发、人工智能、质量管理、运维和运营团队以及若干重要项目研发团队组成,研发团队按业务类型承担具体的研发任务,重大项目以独立团队的模式进行研发工作,质量管理团队负责流程的制定、研发过程的质量保证,运维团队负责产品上线以及线上业务的运维保障工作,运营团队负责线上业务的运营工作,研发业务由技术管理办公室统筹管理。

依据上述技术研发团队的组织架构特点,我们设计了一套以项目为研发单位,基于矩阵式管理的技术管理架构,纵向管理中分设需求管理、技术研发管理、质量管理、运维管理,分别负责产品需求管理、技术研发管理、质量和测试管理、项目运行维护管理。横向管理中分设产品团队、研发团队、质量团队和运维团队,在细化流程的同时,又保障技术管理的专业化。对于跨部门的项目,实行两级管理模式,部门管理发挥管理部门职能,指导各产品、研发、质量、运维团队开展工作,各团队是执行层,负责研发管理工作的具体执行。

2.2 建立覆盖关键流程的研发管理体系

产品调研、需求分析、开发、集成、测试、发布上线、运维和运营过程构成了软件开发生命周期的整体业务流程。整体流程涉及多个业务和研发部门,原各部门流程独立繁琐,部门间接口不畅,如何保证信息在各部门之间及时、顺畅地流转就变得尤其的重要。

经过实践,我们梳理了所有流程中的关键环节和主要路径,将原来孤立的流程整合成一套覆盖软件研发生命周期的工作流程。整合后的研发流程不依赖组织架构和业务部门的约束,将产品需求、开发、集成、测试、运维、运营、质量管理等角色紧急地关联在统一的流程上,借助信息流程管理平台实现数据信息共享,信息流驱动业务流程自动流转,信息流和业务流程统一,通过对关键流程的整合优化,大大提高了研发协作效率。

2.3 建立有效的质量保证体系

软件产品质量涉及研发阶段的各个环节和各个团队,为了保证开发出来的软件产品质量符合既定目标和标准,我们通过建立合适的研发流程、规范和方针,跟踪和监控研发活动和产出物,对研发过程进行管理和控制,保证组织定义的软件过程和规范在项目中得到遵循,保证质量计划被贯彻执行,通过检查、评审等手段提前识别项目中存在风险,发现并解决研发过程中的问题和缺陷,实现对研发过程的有效监控,保障软件产品的过程质量。通过总结,持续优化研发流程,从流程上提高研发效率和产品质量。

软件测试是进行软件质量保证活动最直接有效的方法和手段之一,贯穿整个软件研发生命周期,是研发过程中的关键活动之一。针对中国搜索不同的业务类型,我们建了完善的测试评价指标,覆盖功能、性能、兼容性、安全性和易用性等方面,制定了及早介入项目、测试和研发全过程协同工作的测试流程,采用先进全面的测试方法和工具,发现软件产品中的缺陷和问题,从结果上保证研发产品满足既定目标和质量要求。

为了保证研发过程的完整性、正确性和可追溯性,借助配置管理工具subversion来记录整个软件产品的演化过程。结合研发组织架构和研发特点,建立了基于分级审批的灵活可控的权限控制策略、以及主干迭代开发上线,分支临时性上线的配置变更控制策略,结合互联网软件通用的编码规范和研发实践,制定了适用的编码规范,通过第三方或者自研发插件结合持续集成平台,在研发过程中对编码规范进行持续性检查,从规范上保证源代码的正确性、可读性和易用性,从而提高研发产品的质量。

2.4 建立安全可控的運维管理体系

产品业务上线运行不是软件研发过程的结束,而是过程的延续,是下一版本迭代的开始,其运行情况也是软件产品质量的体现,因此线上业务系统的稳定运行和维护至关重要。开发过程中通过各种措施提升开发质量是为了减少线上问题的发生,通过对线上问题的分析,发现并消除引发问题的深层次原因,防止问题的再次发生,也促进了开发质量的改进。

通过实时监控线上业务系统的运行情况,及时发现系统地非正常状态,通过对线上业务系统进行跟踪和分析,对业务产品的性能、稳定性、可用性等非功能性进行定期检查,提前识别出风险,及时发现研发过程中存在的问题,消除隐患,实现对研发过程的有效监控。我们对线上系统出现的各类问题建立全流程跟踪机制,包括问题上报、分析,通过线上问题的回溯机制,从线上环境、版本发布、测试、开发、需求倒追问题的原因,提取典型的和有共性的问题加入日常监控中,加强监控力度,并在项目中进行典型案例分享,有效地避免了问题重复多次发生。

3 质量流程管理体系的实施保证

3.1 专业的流程管理平台支撑研发流程高效运转

通过对流程持续不断地优化,中国搜索建立了支撑全生命周期的流程管理平台。借助专业的流程管理工具,研发流程设计遵循按需整合、专业分工、协作高效的原则,覆盖了公司全部业务产品系统。

流程管理平台以需求为基础,对流程进行整合配置,在不同生命周期阶段,需求信息描述和进展动态实时更新,各种角色用户在该平台可看到一致的需求描述,开发和测试以需求为依据开展工作,一条业务需求从提出到形成最终的产品需求、转为为开发任务,再到测试上线发布,可通过该平台实现流程的自动流转,同一项目或者产品的需求集在一个界面动态生成进展状态看板。通过看板,可以方便直观的查看各业务产品需求的进展状态;通过测试管理系统可以对测试用例编写、执行和缺陷进行有效管理;利用知识共享管理工具,对接口等公共信息进行整合共享;信息智能工具可自动收集抽取开发测试进度、缺陷、变更等各类项目数据,并进行加工,形成各种管理分析报告。

工欲善其事,必先利其器,面向全生命周期的流程管理平台,对中国搜索质量流程管理体系的落地实施提供了有力的工具支撑和可视化管理,实现了软件研发各阶段的流程自动流转和信息共享,提高了开发管理效率,有效支撑了公司业务的快速发展。

3.2 构建发布自动化,保证质量管理策略的高效准确实施

软件研发过程中通过引入自动化工具,将大量繁琐的手工操作通过工具实现自动化执行,是减少出错几率、提高工作效率、降低成本的最有效手段之一。中国搜索建立的自动化持续集成系统,适用于公司内绝大部分开发项目,只要是符合构建标准的项目,只需要通过参数配置和脚本技术,即可在系统中持续实现自动编译、规范检查、单元测试、和发布。通过提炼总结项目特征,我们创建了适合不同类型项目的模板,通过模板配置和参数化管理,使得自动化持续集成系统操作简单、便于维护,目前该系统承担了公司90%以上项目的自动化构建、集成和发布工作。

基于规范、集中、统一的自动化持续集成系统,在很多方面替代了人工操作和人工信息汇总,可以快速实施质量管理策略,为项目管理提供了可靠、有力的数据支撑。该系统拥有强大的基础能力和灵活的扩展性,有着丰富的接口,可以方便的集成第三方工具,目前已经集成了cpplint、checkstyle、findbugs、pmd等分别针对c、c++、java代码的静态分析工具,还集成了单元测试工具gmock和junit来执行单元测试,可在每次构建中自动检测发现代码的缺陷和隐患,实现了代码规范检查、安全漏洞扫描等内容的质量监控,通过定时任务可进行周期性的任务自动调度,收集相关项目数据,形成可靠、完整的统计报告,极大地提高了开发效率和代码质量。

3.3 加强反馈机制,提高用户满意度

软件质量的判断标准最终来源于客户体验,运营人员通过对线上业务系统的使用调研,及时了解使用过程中存在的问题,获得用户反馈信息,汇总反馈给开发团队,通过新的迭代开发过程,改进软件的设计与开发,完善业务系统以提升用户体验,通过持续不断的反馈改进机制,有效地提高了对业务系统和产品的满意度。

3.4 强化质量意识,融入公司文化

軟件产品的最终质量是各过程工作质量的最终体现,为提升最终软件产品质量,软件开发的各过程都应该严格按照规范流程执行,并持续对流程进行优化,除了可执行的规范流程、还需要通过日常培训、检查监督等多种方式,强化全员的质量意识,将质量要求融入日常研发过程,将质量体系管理与研发业务有效地融合,从而使产品研发能力不断提高,业务快速稳定发展。

4 小结

基于关键路径的研发体系和过程的质量控制、运维过程的业务保障和运营过程的质量反馈构成了中国搜索质量流程管理体系的完整过程。借助专业的流程管理平台和工具,将研发流程、运维流程和运营流程的不断完善和管理精细化程度不断地深入,把质量意识贯彻到全员意识中,保证了产品的高质量研发。实践证明,质量管理无需面面俱到,只要控制关键路径,把握关键环节,就能够有效地提升软件产品研发的质量与效率。

猜你喜欢
持续改进质量管理体系
企业精益财务管理思考
质量持续改进在呼吸科患者鼻导管氧疗护理中的应用
浅谈输变电施工企业质量管理体系的发展
基于ISO9001:2015质量管理体系开放实验室管理与探索
质量量度在国内药品生产企业中的应用
船舶行业质量管理信息化平台的研究与建设
军工企业实施质量管理体系有效性研究
面向学习全过程的人才培养模式探索
精益管理在国际物流服务企业的应用
开展等级医院评审促进医院内涵质量建设