前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >质量管理,软件项目生命周期中的专属医生(上)----《定义和控制》

质量管理,软件项目生命周期中的专属医生(上)----《定义和控制》

作者头像
鹅厂网事
发布2018-02-02 16:12:00
1.5K0
发布2018-02-02 16:12:00
举报
文章被收录于专栏:鹅厂网事

“鹅厂网事”由深圳市腾讯计算机系统有限公司技术工程事业群网络平台部运营,我们希望与业界各位志同道合的伙伴交流切磋最新的网络、服务器行业动态信息,同时分享腾讯在网络与服务器领域,规划、运营、研发、服务等层面的实战干货,期待与您的共同成长。

网络平台部以构建敏捷、弹性、低成本的业界领先海量互联网云计算服务平台,为支撑腾讯公司业务持续发展,为业务建立竞争优势、构建行业健康生态而持续贡献价值!

作者简介:lindaxu(徐玲),高级工程师,网络平台部,服务器平台中心,研发管理组组长。

【写在前面】

QA是干什么的 “质量管理是做什么的?” “是做产品质检吗?” “质量管理的核心工作做数据度量,出报表吧?”

经常会在外部或内部的会议上,被不同公司、不同背景、不同岗位的人问起这样的问题。质量管理(QA)不象开发工程师,被大多数人家喻户晓,开发就是码农,典范自画像是:体型瘦弱,体恤牛仔裤,带着厚厚的眼镜,坐在屏幕前敲代码。而质量管理,大多数圈外人下意识浮出的画像:就是生产流水线上,拿着放大镜检查产品瑕疵的人。

VS

其实不然,质量管理即不是产品质检,也不是软件测试。质量管理是指确定质量方针、目标和职责,并通过质量体系中的质量策划、质量控制、质量保证、质量改进来使其实现的所有管理职能的全部活动。

如果把产品看成孩子,团队成员就是一个家庭,PM相当于爸爸或妈妈,质量管理工程师(下文统称为QA)就是这个家庭的专属医生,医生要结合家庭病史编制常见病治疗和预防方案,定期对孩子进行体检,分析检查结果,并治疗孩子疾病。同时将常见病的治疗、预防方案教给家长,让家长能独立带领孩子健康成长。所以对应的QA的工作可提炼成4方面的活动: • 负责软件研发质量体系和运营质量体系的定义、标准规范和模型建设—写医书; • 负责在流程体系框架指导下,实施第三方的检查和审计 –定期体检; • 负责度量建模并制定质量指标,实施质量评测,发现问题和短板—诊断疾病; • 负责聚焦核心矛盾和短板,实施改进和提升—治疗。 通过这四个阶段的质量闭环化管理,帮助项目不断提升效能,最终达成项目目标。

由于我鹅厂的业务领域广,产品形态各异,质量管理4阶段活动的侧重点也各不相同,所以从笔者最熟悉的网络平台部质量工作为基础进行讲解,如果有任何异议和见解,欢迎随时拍砖或跟贴讨论。

【定义】 资深的医师都会将自己行医过程中的各种疑难杂症表现、诊断、治疗和预防方案记录下来,编制成册,以便日后随时备查和使用,遇到同样的病症可以按经验流程操作,这个过程就是定义。

同样的,开展质量管理活动前,先要确定质量目标,要遵循的必要过程和相关资源。遵循的这个过程就是抽象出来的流程框架。

网络平台部经过5年的持续建设、优化和流程完善,基本搭建了一套成熟的软件流程管理框架,涵盖软件项目的全生命周期的流程步骤、规范标准和关键输出,实现从研发到运营过程的闭环化管理。

• 2009年完成部门研发流程框架,实现流程从无到有的突破; • 2010年推广敏捷思想和方法体系,并配套轻量化项目管理工具,实现流程一刀切,过程过重的问题; • 2011年推行差异化流程管理和敏捷工程实践,这一年code review,持续集成等实践在部门项目中落地,并得到快速发展; • 2012~2013年将过程管理拓展到软件运营阶段,建成运营管理流程和规范,实现产品质量的闭环化管理; • 2014年建设建设《网平软件系统能力成熟度模型》,区分不同项目类型,从8个维度定义软件架构能力和运营能力的成熟度标准。 网平软件流程整体框架

当然,流程体系框架的建设不是一蹴而就的,他是循序淅进的,由当时实施过程中的核心矛盾趋动不断完善的。

 举个例子:2012年的时候,网平的各大平台型项目蜂拥上线, 向业务部门推广运营,结果上线后各种问题频发,由于长期关注产品研发质量,忽略产品运营过程和质量,导致产品上线后出现各种操作和规范性问题,引发业务部门用户的抱怨,这种矛盾趋动下加速了IT运营管理过程的建设和落地,从而实现了整个软件生命周期研发到运营的闭环化管理。 有了体系化的流程架构指导,接下来就是在各项目中的差异化落地和执行了。

【控制】 作为家庭的专属医生,是家庭以外的独立第三方,他参与到家庭里对成员安排定期体检,提前发现并预防可能会发生的疾病、隐患。

QA在现有流程体系框架指导下,对项目执行过程中的关键点和薄弱环节进行审核和检查,提前发现不合规问题和操作风险,这个检查根据项目成熟度情况设定,对于不同成熟度的项目团队,QA参与的力度和检查点都不一样。

案例一: 2009-2010年网平研发过程体系初建阶段,一切从无到有,新的研发团队、新的工作模式,项目成员对过程和规范的理解参差不齐。

团队要渡过艰难的磨合期,快速滚动起来,这个阶段不仅仅是按照研发流程去执行那么简单,还要让流程化、规范化操作快速落地,QA就必须参与到项目里和团队一起去执行: • 规划阶段跟PM一起制定时间窗,帮助团队找到适合自己的迭代节奏和输出; • 在需求管理阶段协助项目一起梳理需求,识别实现优先级,并指导需求的细化,拆分和评审; • 需求实现阶段协助开发一起拆分任务,评估工作量等。 … …

当按照既定的过程运作几个迭代后,团队有了默契,形成一定的规范意识和操作习惯后QA就可以跳出来,进行过程关键节点跟进和交付件的检查,去挖掘和发现其他过程的问题并不断优化。

案例二: 网平研发过程体系持续优落地和滚动推进,到2012年中时,各研发团队已基本形成规范化的操作习惯。这时新的矛盾出现了,软件上线后运营规范和运营质量突出。仅5月-7月期间,就发生7起运营故障,其中发布变更操作不规范导致的故障就有5起。显示出我们在运营管理规范上的缺失,以及运营过程审计方面的不足。

于是部门调整建设方向和跟进策略,由原有只聚焦研发过程管理,拓展至软件运营过程管理,QA梳理运营管理流程,并与团队一起落地执行,持续优化调整,帮助团队规范运营操作,提升系统运营质量。而对于研发过程的审查,进行关键节点审计,比如:需求评审,方案评审,测试报告以及发布准入等合规性,完备性检查。

2013年网络平台部实现了软件研发到运营过程的闭环化管理, QA对项目实行差异化审查,根据项目类型(平台项目、应用项目、单机项目)的不同,审查和控制的关键节点不同。下图为平台类项目的流程执行审计表节选。

这里还要罗嗦一句,关键节点的检查和审计只适用于成熟度比较高的团队,对于还在摸索磨合以及新组建的项目来说,这种审计会给项目组带来压力和负担,增加额外沟通和输出,让质量管理变成团队的对立面,执行起来很容易流于形式。这时最好的办法就是参与进去, QA和项目团队一起制定并细化遵循的流程和规范,参与到项目里跟团队一起执行和操作,发现一个问题就解决一个问题,当团队逐步良性自运转后,再实施关键节点审计。

再说控制手段,当跟进的项目多时,这种检查和审计需要投入的工作量是巨大的,而且人工跟进的效率低下,这时自动化系统的支撑就非常必要了。

网平的自动平台建设,旨在通过平台整合,功能定制,信息的聚合和展示,实现流程执行工具化,规范项目组过程操作并释放QA的投入人力。经过一年半的建设和优化,打通SVN、TAPD、研发质量管理系统电子流和管理平台,实现从软件研发到运营的线上流程管理。2014年中完成监控平台建设,将审计重点由事后解决补缺转移到事前发现和规避。下图是网平2014年的质量管理框架示意图,研发管理平台和研发质量管理系统的整合打通,支撑了整个研发流程管理和度量评估体系。

在过程跟进和审计阶段,QA除了指导和检查过程执行规范情况外,还需要推动团队结合自身需要尝试开展一些实践工程和活动,比如:自动化测试、Codereview、CI等,来不断提升项目的质量和效率。

【结束语】 软件过程执行的是否规范,需要有一套审计的框架和标准;规范操作和流程化是否能带来质量和效能上的提升?研发和运营结果是否达成项目目标和要求?如何衡量这些效果,有什么机制去保证衡量的完备性和有效性,这些内容将在下季《度量和改进》为大家揭晓。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2014-12-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 鹅厂网事 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档