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

来源 :E动时尚·科学工程技术 | 被引量 : 0次 | 上传用户:yellowerriver
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:中国搜索的软件研发业务参考国际软件标准规范体系,通过多年实践探索积累,构建了具备自身特色的质量管理流程体系,保证软件项目实现按时、保质、可控的研发目标,为各项业务平稳快速发展奠定了坚实的基础。
  关键词:质量管理体系;软件研发;持续改进
  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 小结
  基于关键路径的研发体系和过程的质量控制、运维过程的业务保障和运营过程的质量反馈构成了中国搜索质量流程管理体系的完整过程。借助专业的流程管理平台和工具,将研发流程、运维流程和运营流程的不断完善和管理精细化程度不断地深入,把质量意识贯彻到全员意识中,保证了产品的高质量研发。实践证明,质量管理无需面面俱到,只要控制关键路径,把握关键环节,就能够有效地提升软件产品研发的质量与效率。
其他文献
摘 要:当前,对于如何提升小学体育课堂教学效率方面的研究已越来越受到关注,核心素养下小学体育课堂教学效率如何提升呢?带着这一想法,笔者通过查阅相关资料,并结合自身从事多年小学体育教学实际出发,探索核心素养下小学体育有效教学策略。  关键词:核心素养;小学体育;有效教学  一、小学体育核心素养的内涵  具体来说,小学体育核心素养包含了健康意识体育技能以及身体素质。教师在展开小学体育教学的过程当中,必
期刊
摘 要:人的智力分为智商和情商。所以学校教育不仅要发展学生的智力,还应该去培养他们的情商,最终促进学生的全面发展。例如著名的“木桶原理:一个人的成功往往取决于一个人的素质“板块”中最短的那根“木板”。但在当今的教育中的“重智商轻情商”的“智力中心”的缺陷,不仅扼杀了学生追求知识的兴趣,还压制了智力的发展,阻碍了学校教育的发展,给社会带来了一些隐患。情商培养与政治教育的内容和目的互相渗透,有利于摒弃
期刊
摘 要:随着信息技术的快速发展,在初中阶段来讲,学科教学中运用信息技术已非常频繁,每个学科教学中都离不开信息技术的运用,微课作为信息技术的重要手段之一,微课在学科教学中的运用已广泛运用,本文以初中历史与社会学科为例,通过查阅相关资料,探索初中历史与社会教学中微课的运用策略。  关键词:初中历史与社会;信息技术;微课  随着科技的发展,世界也在不断的发展和改变着,培养具有综合素养的学生成了教育的主要
期刊
摘 要:本文以高职院校矢量图形技术课程为例,主要论述矢量图形技术课程中的知识点与园林施工实际工作需要相结合的方法。探讨如何提高教师从实践中提取教学案例的能力,如何培养学生理论与实践相结合的能力。  一、引言  通过对多本教材的案例进行比较,以及对石家庄财经职业学院广告设计与制作专业2012-2017级学生的矢量设计作品和毕业设计进行调查研究,得出以下结论:目前,矢量图形技术课程中的几何图形编辑、图
期刊
摘 要:当前,随着新课改的不断深入,对于如何提升学生的学习兴趣,提升学生学习效率已受到很多一线教师们的关注,对于小学信息技术学科来讲,由于其学科特殊性,在小学信息技术课教学中如何培养学生的学习兴趣呢?带着这一想法,笔者通过查阅相关资料,并结合自身从事多年小学信息技术教学经验出发,探索如何在小学信息技术教学中培养学生的学习兴趣策略。  关键词:小学;信息技术;学习兴趣  前言  小学信息技术课程是小
期刊
摘 要:哲学是对具体科学的概括、总结,并指导各门学科;数学如同哲学在整个科学体系中的作用类同——研究整个世界,得出普遍规律,数学是总结自然界普遍存在的空间形式和数量关系,从而指导自然科学的发展及自身的进步,我们要在高等数学里蕴含的有限与无限、量变与质变、微分与积分、离散与连续、直线与曲线、特殊与一般等内容不断进行哲学思考,必将使我们受益无穷。  关键词:高等数学;哲学思考  一、有限与无限  高等
期刊
摘 要:教育教学的最终目的就是实现课堂教学的有效性,培养学生的综合能力。小学数学学科是小学阶段的基础学科,学好小学数学对于学生的发展具有至关重要的作用。  关键词:小学数学;课堂教学;提高效率  我们这个生活大环境中,处处留有数学的身影,身边多彩的事物都可为我们提供所需的数学信息。例如,背书包回家途中会发现车、行人、植物、建筑的数量信息,在教室中学生会发现桌、椅、黑板、同学的数量信息。这些信息就在
期刊
摘 要:面对国际竞争的挑战,第三方物流企业培育自身的核心竞争力是当务之急。通过对第三方物流企业核心竞争力的探讨,提出了第三方物流应结合企业自身特点培育核心竞争力的方法与措施。  关键词:第三方物流;核心竞争力;战略  1 物流企业核心竞争力的涵义  第三方物流企业核心竞争力的内容是一个复杂的多元系统,归纳起来主要包括以下几个方面:  1.1 核心技术能力  核心竞争力的核心是企业的核心技术能力。物
期刊
摘 要:在轮滑运动项目越来越受欢迎的趋势下,高校教育承担着传播轮滑运动文化,培养轮滑运动优秀人才,推动轮滑运动项目长远可持续发展的重要任务。但是,当前大多数高校轮滑教学中依旧存在许多问题,亟待解决,这就需要高校根据自身实际情况,优化丰富教学内容,加大场地与器材投入,多元化轮滑项目活动,建设强有力的师资队伍,构建健全的教学评价机制,从而提高轮滑课程教学水平与效率,帮助学生树立终身运动理念,提高学生综
期刊
摘 要:美术教育旨在提高小学生的绘画能力、创造能力、审美能力和美术素养。美育与美术教育是不可分割的,在小学美术教学中要渗透美育,从小培养学生发现美、感悟美、创造美的能力。教师在小学美术教学中要渗透美育首先要有“美育”观,让学生从教材中感知美,从活动中欣赏“美”,从生活中发现“美”,从实践中创造“美”。  关键词:美育;小学美术教学;渗透  小学新课程标准提出:美术教学要对学生进行美育渗透,要贯穿在
期刊