前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >8 怎么样才能避免豆腐渣工程? 人人都是项目经理系列(第8/13篇)

8 怎么样才能避免豆腐渣工程? 人人都是项目经理系列(第8/13篇)

作者头像
放牛的星星
修改2020-07-21 15:26:18
5510
修改2020-07-21 15:26:18
举报
文章被收录于专栏:壹种念头壹种念头

1 认识质量管理大师

和前面一样,正式开始本章内容之前,我们先认识几个大师。这些人都是在质量管理领域有杰出贡献的大佬。

1.1 戴明

著名的PDCA环的完善着(由休哈特提出)。

PDCA是几个英文单词的缩写,也就是Plan-Do-Check-Act。

除了PDCA环之外,他还提出了质量管理的14条原则:

PDCA环在传统领域,非常有用。但是在游戏开发领域,似乎对于这个流程没有特别严苛的去遵守。当然也不是没有,硬要套的话,我觉得一般游戏公司也是在按照这个标准在执行质量管理。

比如:某一个版本,我们需要策划先规划(P)内容,程序进行开发(D),然后测试人员进行验收(C),最后验收的BUG要么当版本修掉,要么BUG转需求放入下一个版本内解决(A)。

1.2 朱兰

著名的质量螺旋的提出者。

质量螺旋的主要内容包括:

1、产品的质量形成过程包括市场研究,产品开发、设计,制定产品规格、工艺,采购,仪器仪表及设备装置,生产,工序控制,产品检验、测试,销售及服务等共13个环节。各个环节之间相互依存,相互联系,相互促进。

2、产品质量形成的过程是一个不断上升,不断提高的过程。为了满足人们不断发展的需要,产品质量要不断改进,不断提高。

3、要完成产品质量形成的全过程,就必须将上述各个环节的品质管理活动落实到各个部门以及有关的人员,要对产品质量进行全过程的管理。

4、品质管理是一个社会系统工程,不仅涉及企业内各部门及员工,还涉及企业外的供应商、零售商、批发商以及用户等单位及个人。

5、品质管理是以人为主体的管理。朱兰螺旋曲线所揭示的各个环节的品质活动,都要依靠人去完成。人的因素在产品质量形成过程中起着十分重要的作用,品质管理应该提倡以人为主体的管理。此外,要使"循环"顺着螺旋曲线上升,必须依靠人力的推动,其中领导是关键,要依靠企业领导者做好计划)、组织、控制、协调等工作,形成强大的合力去推动质量循环不断前进,不断上升,不断提高。

6、瑞典质量学家L·桑德霍姆从企业内部管理角度出发,将主力质量螺旋归纳为企业内部八大职能---市场研究、产品研制、工艺准备、采购、制造、检查、销售和企业外部的两大环节---供应单位、零售商,形成质量循环图。

但是这些都不是重点,重点则是他提出的质量管理三部曲:质量计划 、 质量控制 、 质量改进 。

另外它还提到了质量和等级之间的区别,这个概念是非常重要的。什么是等级呢?路边的小旅馆也是酒店,7天如家也是酒店,香格里拉也是酒店。这些酒店之间的差别就是等级的差别。也就是说等级是经过设计过的,符合质量标准的。城中村的小旅馆,没有提供马桶,只有一个公共厕所,它不是质量问题,因为这个等级它设计的时候可能确实就没有配备。但是如果香格里拉酒店房间里没有马桶,那就是质量缺陷。

所以反观到游戏来说,如果像素游戏相比于3A画质是等级问题而不是质量问题。但是3A游戏有严重的锯齿毛边,看起来像像素游戏那就是质量问题。

1.3 克鲁斯比

克鲁斯比大师执行的质量观念叫做零缺陷。

核心内容主要为:

1、强调质量就是要符合设计要求。

2、强调第一次就应该把事情做对。

3、提出质量是免费的。

4、提出质量应该用非一致性成本进行衡量。

怎么解读这些观点呢?意思就是说,质量的定义来源于需求,并且质量应该源自于完善的预防体系。同时质量执行的标准应该是零缺陷,所有为了让质量符合需求而发生的成本都应该是非一致性的成本。

这里要解释一下什么是一致性成本,什么是非一致性成本。

一致性成本包括预防成本(如培训)和评估成本(如测试、检查),也就是克鲁斯比强调的 预防成本。

非一致性成本又分为内部失败成本(项目组主动发现问题并弥补发生的成本)和外部失败成本(已经客户或社会造成的损失,如返工)。

举个例子,游戏开发中,我们需要招聘QA团队,并在必要的时候针对QA人员进行培训,这些就是一致性成本,就是为了让质量和需求保持一致而发生的成本。

再比如,版署版本好不容易准备好了,提交送审。结果中途突然发现屏蔽词库不完整,如果继续送审一定会被打回的,倒不如现在主动撤回,修复中重新排队,以减少中间无用的流程等待。这部分就是非一致性成本,因为失败或者质量问题已经产生,为了弥补缺陷而产生的成本。

另外,如果一直都没有发现屏蔽词库的问题,知道送审之后被打回,又或者像某些游戏一上线就发生的运营故障导致紧急停服都是外部的失败成本,也是非一致性成本。

克鲁斯比主张的质量成本,应该是非一致性成本。但这不代表它不进行一致性成本措施,只是概念不一样而已。

1.4 石川

这个人应该大家都很熟悉,有个著名的图叫做 鱼骨图 ,也称为因果图或者 石川图 。

它用来分析问题发生的根本原因。是一种透过现象看本质的分析方法。

质量圈并不是一个固定的方法,而是同一工作单元或工作性质相关联的人员自动自发组织起来,通过科学运用各种工具手法,持续地进行效率提升[降低成本、提高产品品质等业务的小组。

除此之外,他还贡献了质量七工具的使用方法,这些工具我们会在后面进行介绍。

1.5 田口玄一

田口玄一理论的核心思想是应用统计技术进行质量管理,通过损失函数来决定产生未满足目标产品的成本。

最后我们来总结一下这几位大师在质量领域的贡献:

综合来说,质量管理就是要兼顾项目管理与项目可交付成果两个方面。

2 项目智联管理的核心概念

介绍概念之前,先看下这个领域的几个过程与位置。

质量的定义是:作为实现的性能或成果,是一系列内在特性满足要求的程度。前面我们已经解释过它和等级之间的区别。也就是说,高等级并不意味着一定高质量;低等级也并不意味着一定低质量。质量低一定是有问题的,而等级低则不一定。项目经理 及 项目管理团队 需要负责权衡,以便同时达到所要求的质量与等级水平。

现在的项目管理中心,质量管理水平分为5种,按照从低到高依次为:

1、代价最大的方法是让客户发现缺陷。这种方法可能会导致担保问题、召回、商誉受损和返工成本。比如三鹿奶粉,有安全风险的汽车召回等。

2、控制质量过程包括先检测和纠正缺陷,再将可交付成果发送给客户。该过程会带来相关成本,主要是评估成本和内部失败成本。比如现在游戏开发行业最常用的模式,开发完成之后需要QA团队验收,通过之后才能发布。

3、通过质量保证检查并纠正过程本身,而不仅仅是特殊缺陷。意思就是能不能从流程上就开始纠错,比如以往程序开发完成之后就直接给QA验收,现在是不是可以先交给策划验收一遍,通过修改流程来达到更好的质量保证。

4、将质量融入项目和产品的规划和设计中。既然能从流程上进行改善,那是不是在规划和设计的时候,就把质量相关的内容写出来。开发人员自己先写测试用例自测一遍,然后交给策划验收,策划再检查是否有功能缺失和不符合设计意图的实现,比如镀金;最后,再交给QA进行审核,检测。(呃,目前我们在这一层)

5、在整个组织内创建一种关注并致力于实现过程和产品质量的文化。这个可能比较难,按照我的理解就是,项目内所有的人,都能自发的去关注和检查项目质量问题,不管是不是自己产生的。

以上是以往的质量管理层级,但是随着时代的发展,还会有一些新兴的理念和管理方法出现,比如:

另外,在敏捷领域,为引导变更,敏捷方法要求多个质量与审核步骤 贯穿整个项目 ,而不是在面临项目结束时才执行。

执行质量与审核的时候,遵循以下步骤:

1、循环回顾,定期检查效果;

2、寻找问题原因,建议改进方法;

3、评估试验过程,确定措施。

另外,为促进频繁的增量交付,敏捷方法关注于小批量工作,目的是在项目生命周期早期发现不一致和质量问题。

3 规划质量管理

规划质量管理的定义:识别项目及其可交付成果的质量要求和(或)标准,并书面描述项目将如何证明符合质量要求和(或)标准的过程。主要目的是为整个项目中如何管理和核实质量提供指南和方向。也就是说和前面几个管理计划一样,该过程也是一个流程和规范性的文件。规划质量管理中并没有真正的质量。

规划质量管理一个很重要的方法叫标杆对照:将实际或计划的项目实践或项目的质量标准与组织内部或外部、同一应用领域或不同应用领域的可比项目的实践进行比较,以便识别最佳实践,形成改进意见,并为绩效考核提供依据。也就是要参考公司内外部的其他项目来制定质量标准。

比如游戏开发领域一般是由BUG数量和严重程度来衡量质量标准的。

这里,我们以禅道的BUG模块来举例,首先看下BUG类型:

当然,这个类型不是固定死的,是可以根据具体项目情况调整的。

BUG的等级:

游戏上线的时候,一般会要求存余的BUG不得多于X个,其中1级BUG不得多于多少,2级BUG不得多于多少等等。这些具体值是有各自项目规定的,可以参考以往或者成功项目的经验。

另外一个非常重要的因素叫做质量成本,也就是前面我们提到的一致性和非一致性成本:

一个是用于预防,一个是为了处理。比如运营事故中补给玩家的十连抽或者钻石等就属于非一致性成本。

另外一个有用的方法叫做流程图。该流程图和程序开发中使用的流程图概念类似,但是会更加复杂一些。比如:

主要目的是用来显示在一个或者多个输入转化为一个或者多个输出的过程,以及包含的顺序和可能的分支。另外通过流程图也可以估算质量成本,改进过程并识别可能出现质量缺陷或可以纳入质量检查的地方。

这里我举个小例子,以前做的游戏中,有一款要在欧洲发布。其中有一个功能需要选择性别,我们设置了男、女、保密三个选项。结果发布之后被玩家投诉差点下架,原因是因为选项太少。另外一个问题就是地域问题,例如中国台湾。在中国台湾发布产品,你既要考虑迎合中国台湾人的口味,又不能违反大陆的法律,所以具体怎么做需要咨询你们的法务团队。

这个例子里我想说的就是,以往我们检验游戏的质量就是QA团队,但是扩展后的流程我们可能还需要交付给市场、法务人员等等共同维护产品质量。同时,相应的流程图也是需要做适当的修改。

另外,还有一些图形化的方法,比如脑图、矩阵图等等,就不详细介绍了。尤其是矩阵图,游戏开发很少使用。

通过这些方法之后,我们最终输出了一份质量管理计划,它描述如何实施适用的政策、程序和指南以 实现质量目标 。描述项目管理团队为实现项目质量目标所需的活动和资源。

它还应该包括质量政策、质量标准(国家标准/行业标准等)、质量目标(可量化的目标)、角色职责、相关活

动、质量工具等等。应该在项目早期就对质量管理计划进行评审,以确保决策是基于准确信息的。

另外,这个过程还会输出一份文件叫质量管理指标,描述项目或产品属性,以及控制质量过程将如何验证符合程度。就比如我们前面说的BUG的数量和级别。

4 管理质量

管理质量是把组织的质量政策用于项目,并将质量管理计划转化为可执行的质量活动的过程。主要作用为:1、提高实现质量目标的可能性;2、识别无效过程;3、识别导致质量低劣的原因。

管理质量有时被称为“质量保证”,但“管理质量”的定义比“质量保证”更广。它属于质量成本中的一致性成本。

正常的游戏开发中,质量一般是有QA团队来保障的。除此之外,还有运营部门,市场部门以及对于区域的项目经理。但是在敏捷团队中,所有团队成员都应该是质量环节的参与人员。

管理质量里,比较重要的是几个数据表现,我们先介绍一下传统项目的数据表现。

4.1 石川图

用于识别主要原因或者根本原因

4.2 直方图

用于展示每个可交付成果的缺陷数量、缺陷成因的排列、各个过程的不合规次数,或项目或产品缺陷的其他表现形式。

4.3 散点图

-展示两个变量之间的关系(解释因变量Y 相对于自变量X 的变化)。

4.4 帕累托图

一种特殊的垂直条形图,用于识别造成大多数问题的少数重要原因。另外,帕累托图还有一个著名的二八法则,这在各个行业和领域内都受用。

数据的绝大部分存在于很少类别中,极少剩下的数据分散在大部分类别中(“ 至关重要的极少数 (20%)”和“ 微不足道的大多数 (80%)” )。比如腾讯、网易等头部游戏公司占据了整个游戏市场的“至关重要”的头部,而剩下的大多数都是“微不足道”的。

最后,根据各种方法和工具,我们得到管理质量的输出——质量报告。

同时还有可能输出,变更请求。

5 控制质量

控制质量( Quality Control,针对可交付成果):为了评估绩效,确保项目输出完整、正确且满足客户期望,而监督和记录质量管理活动执行结果的过程。

前面管理质量是如何从规范和方法上对质量进行保障。而控制质量的过程就是要去 核实 项目可交付成果和工作已经达到主要相关方的质量要求,可供最终验收,它应该在整个项目期间执行。这个过程和上一个过程一样,在瀑布模型下由特定成员在特定时间或者特定项目阶段执行,但在敏捷项目里 应该有全部成员全生命周期执行。

这个过程的第一个工具或者方法就是数据收集。

对游戏开发来说就是各个模块的BUG数量统计。

另外的一些工具都是针对传统的产品,比如抽样调查,测量指标,检查、审计、暴力测试、是否失控等等。这些在游戏开发统统用不到,也就不细讲了。

另外有一个需要了解的就是 控制质量和确认范围的区别。

最后看下项目质量管理的总结报告:

6 游戏开发中的质量理解

总的来说,质量管理,无论在哪个领域、哪个项目都是特别重要的。但是传统行业和游戏开发所使用的方法和方式还是差别很大的。所以这个章节的内容比较重要,但是几乎都没有说到点子上去。

游戏测试是一个非常大的领域,如果要展开来介绍根本讲不完。再加上我也不是游戏测试出身,所以深层次的东西也不能介绍的那么清楚。

整篇系列都是从项目经理的角度来阐述的,回顾第三章,项目经理的职责。他并不是各个领域的专家,他不会写白盒测试的代码,也不会写黑盒测试的用例。但是他需要知道,白盒测试怎么怎么做的,黑盒测试是怎么做的。

我本人是程序出身,计算机专业,学过软件工程。所以对质量有一些了解。这个小节算是额外增加的,讲讲我对游戏质量的理解。

首要的肯定是BUG,毋庸置疑。数据和级别是非常重要的衡量因素。

第二是安全,安全则包含很多方面,比如游戏包破解,资源篡改,外挂,流量劫持,DOS攻击等等。游戏行业发展到现在,20年了。人才、技术、工具、商业模式都非常的成熟,以往不需要考虑的东西,现在必须全盘去考虑。

然后是代码层级的质量。同样要输出2,你代码写死2,和从配置文件读取2,和从配置文件读取公式运算得到2,那都是完全不同的质量。当然你也可以认为这是等级,因为策划就要求我输出2。但是要考虑,策划的需求从来都是经常变化的,当需求变化了,代码或者实现的功能不能变化,那就是质量问题了。它跟传统行业的流水线产品、或者地产行业设计图纸不一样,那玩意儿改一次需求几乎要推倒重来,所以可以近似认为需求不会动的。

苹果今年发布的SE2为什么没有重新设计模具呢?还不是为了重用老SE的产线。这要省多少研发成本。

好吧,这个系列是教大家如何成为项目经理的,不是如何做游戏测试的。

所以下一个章节,我们介绍资源管理。

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

本文分享自 壹种念头 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
项目管理
CODING 项目管理(CODING Project Management,CODING-PM)工具包含迭代管理、需求管理、任务管理、缺陷管理、文件/wiki 等功能,适用于研发团队进行项目管理或敏捷开发实践。结合敏捷研发理念,帮助您对产品进行迭代规划,让每个迭代中的需求、任务、缺陷无障碍沟通流转, 让项目开发过程风险可控,达到可持续性快速迭代。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档