案例分析:项目组内踢皮球事件

摘要:

  你的项目出了严重问题,客户向你公司的领导投诉,你的领导兴师问罪要追究责任!这是测试的错?开发的错?PM的错?还是研发流程的错?中国教育制度的错?社会的错?反正、总之、一定、必须不是我的错!

  事件回放:

  某项目部署给客户后,重现了一些以前已经解决的问题,而这些问题测试时并没有出现。经检查,发现测试的版本不是部署的版本,不知道为什么老版本部署给客户了。领导要追究责任,于是大家各有说法:

  开发人员说:我是按要求打标签的,没有问题。

  测试人员说:我是在提交区中取版本来测试的,我没有出错。

  实施人员说:我是按照开发给我的版本去部署的,我没有过失。

  最后终于有人说:是之前已经离职的某某弄错版本号导致的。

  思考:

  1、该事件反应了什么问题?将来应该如何改进?

  2、这么多问题中,最大的问题是哪个问题?

  在继续往下阅读之前,建议你先写写对以上问题的想法,然后再继续阅读。

  本事件并没有什么标准的答案,下面分析仅供大家参考,欢迎大家提出自己的想法!

  事件的补充说明:

  这是发生在我以前公司的真实个案。第一次听说时,我觉得很不可思议,也觉得非常的丢人!

  客户当前版本是1.1,我们打算为之安装1.2版本,安装后客户反馈怎么以前已经解决的缺陷又再次出现了?检查后发现,原来我们安装的是1.0版本的程序。相当于大家辛辛苦苦地奋战了数天,最后竟然没有将工作成果给客户,而是将以前的东西给客户了。作为软件公司来说,这是一个超级低级的错误!

  经过检查,终于发现了问题的真正原因:开发人员A让实施人员B直接在他的电脑上取安装程序,而不是根据研发流程的要求到配置库中取,而该开发人员A让实施人员B所取的版本,是1.0版本的老程序,而不是最新的1.2。这个原因主要是通过实施人员B得到的,但开发人员A已经离职了,“死无对证”!

  似乎整个事件需要负责任的就是这位已经离职的仁兄,而该仁兄已经离职,更加是百口莫辩。我的领导对于这样的结论,苦笑说:呵呵,这样好,推到一个离职的人身上!

  问题1:某些人员失职,没执行流程!

  开发人员A和实施人员B违反了相关规定,严重失职,应为此负责。而开发人员A已经离职,故应由实施人员B来负担主要责任。这样处理是否合适呢?

  问题2:研发流程和公司制度有漏洞,应进一步改善!

  研发流程虽然规定了要从配置库中取安装程序,但没有版本确认的步骤,而且安装程序应该由配置人员提供,而不应该由实施人员直接问开发人员要,这是流程中需要改善的。

  于是配置管理员提出建议:规定所有的安装程序只能由配置管理员提供,不能通过其他途径!

  但项目经理、开发、实施都反对,因为经常需要加班,往往在加班的时候需要提供安装程序,但这个时候配置管理员往往已经下班了,无法向配置管理员要安装程序。如果配置管理员就算没事干都好,愿意一起加班的话,可以这样规定。

  于是配置管理员就再无意见了……

  另HR提出,此事其实是开发人员A付主要责任的,出现这样的问题原因之一是离职交接没有做好,工作没有检查好。此意见一出,项目组、负责交接A工作的开发、同意A离职的部门经理,几乎全部晕倒了!交接已经做得很不错了,什么问题都要防住,你叫这个交接怎样做?

  研发流程和制度确实需要不断完善,但如果老是从细节上规定,是不是有点本末倒置呢?研发工作中的问题总是很多的,不太可能规定所有细节的,而且一旦规定了一些细节,似乎避免了一个问题,但会带来更多的问题。

 问题3:喜欢做好好先生、好好小姐!

  事件中其实很多人大概知道问题所在的,但就不指出来,不想得罪人,要做“好人”。如果要追求责任,那么最好将错赖在一个不能追究责任的人身上,就是那位可能是很无辜的已经离职的仁兄。或者将错赖在制度和流程上,这招是最绝的,没有人需要负责,这是制度的错、社会的错!

  问题4:没有人首先从自己身上找原因,每个人首先想到的是推卸责任!

  研发工作中的很多成果,是经过一系列的环节和各人的配合作出来的,任何一个环节有问题,都可能会导致最终成果出问题。那似乎将各环节责任、流程等定义好,就可以很好地追求责任了?

  如果某个环节都留下一些隐患,但不至于马上出问题,但经过多个环节累积之后,问题爆发!这时应该哪个环节负责呢?

  如果前面某个环节出现一些问题,但下一个环节的人发现了并及时提出来,最终不影响最终成果,这是不是一种很好的效果呢?

  如果每个人除了做好本职工作,还主动提醒他人,主动提供一些有利于项目的建议,帮助项目成功,这是不是非常好呢?

  软件研发中的问题,往往不是某个环节造成的,而是各种因素作用逐步导致的。项目需要团队一起努力、互相纠正、互相提醒,每个人都应该为项目的最终成功负责!某项目出问题了,是不是应该整个项目组都应该负责呢?是不是大家应该首先从自己身上找原因呢?

  哪个问题更加严重?

  个人认为问题4是最严重的问题,流程、制度、职责等这些,如果为了解决某一问题而去修改和细化,可能会陷入无休止的类似工作中。这和修复一个bug的道理是一样的,每修复1个bug,可能会带来10个bug。过于从细节上细化流程和制度,我个人是不太赞同的,会陷入某种死循环。

  我们喜欢说依法办事,往往用法律来比喻,我们研发过程也需要有法可依。法律规定的一般是不能做什么,但我们流程中规的的往往是必须做什么、应该做什么等,一旦规定应该怎样做,就很容易出问题。研发活动是很复杂的智力活动,不应该在一些细节上套太多的框框条条。

  做好团队建设,树立良好的团队观,项目团队应该是“一荣俱荣,一损俱损”的!要打造这样的团队是不容易的,但也不是很难,其实取决于公司领导的管理思想。以目标来驱动,鼓励创新,允许犯错,奖励自我批评,这些都有助于良好的团队建设。但有些领导喜欢工厂化管理,喜欢将工作细化,喜欢根据工作职责来考核,喜欢根据问题多少来考核,这样难以避免这些踢皮球事件了。

  这个事件我有什么责任?

  说了这么多别人的问题,我是不是应该从自己身上找找原因呢?

  我不直接负责该项目工作,是公司的常务副总,公司中的大部分员工都是经过我面试进来的,我一直在尽力打造良好的团队文化,而研发流程大部分是由我制定的,或者是经过我批准的。要兴师问罪的是公司的大领导,不是我,其实如果要问起罪来,可以说公司内部的跟研发相关的所有问题,我都需要负责任!因为这些事基本上都是我管的。

  出现踢皮球事件,我觉得很无奈。自己一直以来期望做到的团队“一荣俱荣、一损俱损”,在事到临头的时候,只是一种口号而已,我需要检讨自己的做法和想法。那种美好的团队建设可能只是一种乌托邦,可能难以实现甚至无法实现,但我觉得我还是应该继续为之努力的。

  其他的一些想法:

  这只是一个小小的案例,但相信很多朋友会经历过类似的情况。推卸责任可能是人的本能反应吧,我也会这样。大家都能主动从自己身上找原因,这可能是一个遥远的梦。

  我曾经试过参加一个会,两个高层在PK,老板在一旁看,PK一大通后,最后那项大家都不想干的工作落到了一直没有出声的我的头上,刚才PK的两个人,都一致同意让我来做这项工作!我只能说:很无语……

  有些事情我们可能控制不了,但如果咱们能带领一个团队的话,我们应该在能力范围内做一些对团队各人都有益的事情,尽量打造好的团队气氛,挡住影响团队气氛的外部的不利影响。对你的团队成员好,将来得到的回报肯定会远远大于你的付出!

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-11-03 13:15:39

案例分析:项目组内踢皮球事件的相关文章

APT案例分析:一个基于Meterpreter和Windows代理的攻击事件

本文讲的是APT案例分析:一个基于Meterpreter和Windows代理的攻击事件, 前言 几个月前,在只可以通过代理进行访问的公司windows网络中,我对其进行了我开发的模拟定制的APT攻击.在测试过程中,我意外的发现我可以上传https返回类型的meterpreter后门.一开始,我并不确定这个地方存在漏洞,或者这个地方对APT攻击是否起作用.为了验证这个地方是否存在漏洞,我现在需要处理好代理环境. 在对环境做了深入分析之后,我们使用的meterpreter模块(windows/met

百度有啊前端框架分析(浏览器内置事件)

   事件是JavaScript中非常重要的一个内容,在百度有啊的前端框架中主要对事件分成了浏览器内置事件和自定义事件两部分. BBEvent下主要对浏览器内置事件进行了标准化. target :事件目标对象 BBEvent.target = function(A) { A = A || window.event; return A.target || A.srcElement; }; isLeftClick :判断是否为鼠标左键点击 BBEvent.isLeftClick = function

Ajax详解及其案例分析_AJAX相关

1 获得Ajax对象 1.1 问题 如何获得XmlHttpRequest对象. 1.2 方案 区分浏览器,使用不同的获取方式. 1.3 步骤 步骤一: 新建ajax01.html页面 新建一个Web工程,在WebRoot下新建ajax01.html页面.在<script>标记内编写JavaScript代码实现获取Ajax对象. <script type="text/javascript"> /*获取Ajax对象*/ function getXhr(){ var

案例分析:网站广告图元素与点击率

中介交易 SEO诊断 淘宝客 云主机 技术大厅 去年差不多这个时候为了应付某广告公司招聘职位写的,写了3个小时左右. 引用数据资料不知道保密性如何,所以慢了一年才发出来. http://x.paidai.com/view/12582 相关数据下载地址 看文章前最好先下数据看看.不然没有数据对比形成概念.写的很草率不成系统,望大家包涵. 引用的数据为淘宝网10年8月份数据,跟现在可能有出入.不过仍然可以作为思路参考.资料内容如下: 通过数据中总结出了几种影响图片点击率的因素. 个人将其总结为主题,

MySQL运维案例分析:Binlog中的时间戳

背景 众所周知,在Binlog文件中,经常会看到关于事件的时间属性,出现的方式都是如下这样的. #161213 10:11:35 server id 11766 end_log_pos 263690453 CRC32 0xbee3aaf5 Xid = 83631678 我们清楚地知道,161213 10:11:35表示的就是时间值,但除此之外呢?还能知道它的什么信息呢? 案例分析 先从一个典型的案例入手来讲述其中的细节,比如曾经在Galera Cluster碰到的一个问题,可以先看一段Binlo

javascript的理解及经典案例分析_javascript技巧

js的简介: JavaScript是一种能让你的网页更加生动活泼的程式语言,也是目前网页中设计中最容易学又最方便的语言. 你可以利用JavaScript轻易的做出亲切的欢迎讯息.漂亮的数字钟.有广告效果的跑马灯及简易的选举,还可以显示浏览器停留的时间.让这些特殊效果提高网页的可观性. javascript现在可以再网页上做很多很多事情,网页特效,操作dom,html5游戏(基于html5和JavaScript的结合),动画等等特效,还可以实现拉去后台数据(通过ajax),不仅可以做前台还可以做后

Digg&amp;nbsp;案例分析:为什么技术人群是重要的用户

一直觉得Digg是我错过的了一个Web2.0应用,想去研究研究一下,感谢丁丁提供的译文! Digg 案例分析:为什么技术人群是重要的用户原文作者:Nisan Gabbay***:雷声大雨点大原文链接:Digg Case Study: Why techies are an important audience原文发表时间:2006年10月15日 为什么做这个案例分析从2004年12月面世至今,Digg已经成为Web2.0的成功典型.Digg是一个提供新闻内容的网站,它一反传统的层层审核的编辑制度.

广场舞案例分析深入思考二:别样冲突

前面对于Robin广场舞案例从我个人的角度作了深入思考,可能都是一些基础的技巧,但是运用到全面的SEO工作当中还是相当不错的一些技巧,尤其是对没有形成体系的朋友显得尤为重要.最近在不少群里面见到有些朋友认为SEO很简单,个人还是有点担忧,因为SEO真的不是那么简单,而且要真正的学好SEO,这里指的不仅仅是执行的SEO,而是要真正要建立良好的SEO知识结构体系和SEO全局观的SEO. 当然,这两个问题并不是今天我要跟大家谈的想法,后面如果有机会可以跟大家多探讨探讨.今天我要跟大家交流的依然是关于广

案例分析:老张的搬家公司(4)

<老张的搬家公司>第三篇中,我觉得老张很难应用百度凤巢来推广自己的业务,主要原因在于竞争成本.对此,天岸提出了不同看法. 天岸提出的第一点:"除去营销因素之外,有没有考虑到运营因素呢?也许这些出高价的搬家公司的利润很高呢(价格高,相对成本低)?那么理所当然的,点击成本和折算后的转化成本(如果他们有计算的话)对于他们来说是没有多少影响的.本身竞争优势的缺陷也是限制老张们使用更好的营销方法的因素之一吧." 因为这个问题非常好,所以我又舍不得在直接回复了,还是拉出来再成一篇. 老