写点什么

一个敏捷教练中止越轨列车的故事

  • 2007-11-19
  • 本文字数:4094 字

    阅读完需:约 13 分钟

我必须承认,我的管理经验是不足的。最近一次我对下属的工作处理的介入让我学到不少我以前没有经历过的工作经验,在此和大家分享一下我的认识和感悟。这件事情的处理,一般人可能认为这无异于办公室政治风云,对我来说这是一次很好的管理经历。让我认识到如何使用敏捷教条对管理方面的问题进行分析,如何采取合适策略来解决此类问题。

数月前,我被分派到一个新成立的小组做 QA Lead,开始了我的管理“事业”。当时只有我一人协助三个开发者。随后,增加到协助 4.5 个开发人员,外加两个客户端开发者。很快我就发现自己被很多事情所包围,无法在短期内完成一下子堆积起来的工作。也就是这时,我和我的上司 D 提议增加人手。当时是 2007 年 6 月,正好没有人手,我就按照自己知道的敏捷互动知识,对自己的工作进行安排,一件件地处理。到了得心应手的阶段时,终于有人手可以分配过来时(2007 年 9 月中),我得知一个我觉得能力很差的高级工程师 A 会被转移到我的组里帮我。我的第一个反应是,“能不能分配其他人手到我的组里。”我的上司 D 说,“先让这个人过来试试。”我就没有多说什么,那个时候我就已经预见了今天我不得不作出的处理。

我的第一个反应是从兵法“用人不疑,疑人不用”的角度产生的,当时我们组聘用了 A,我们在面试时看好这个人,但是雇用之后我和他的一些互动中发现此人除了知道如何使用 Visual Studio .NET 2005,其他什么都不会;而且他还不愿意学这些能够帮助他适应新环境的东西。后来因为 A 是以高级工程师,开始成为我当时所在组的 Team Lead。作为 Team Lead 那一段时间,我们整组发现他无法对管理层作出的无礼要求进行抵挡,甚至谈判,只知道如何一味地向管理层妥协。然后自己不身先士卒,而是把一些重要的东西摊派给属下。然后自己就开始进行一些无关紧要的流程改进工作。我是看在眼里,记在心里,因为我很早就被调到我现在的岗位,所以也没有说些什么。我知道,这样的人不能重用,我对他没有信任感。

就这样到了九月底,我感觉可以让他转移到我的组里开始前期准备工作。我当时的感觉是,我要尊重我的上司 D 的安排,尽力和他一起携手合作。我马上就碰到了一个问题,他无意从自己的项目中摆脱出来,他的托词是,“我需要一点时间完成我手上的事务,这样可以很好的交接给其他人。”我就给了他一个星期,同时也和信任的 Team Lead B 进行了沟通。B 原来是个开发者,在 9 月份转来做 QA,因为他的经验丰富,而且 A 在组里不做正事,其他组员意见很大,所以 A 转到我的组后,就丢掉了 Team Lead 的头衔。我和 B 的沟通是,A 应该把工作重心放到新的工作上去,而不是找借口推托自己应该承担的责任。B 向 A 转达了这样的意向,但是一时间没起什么作用。

随后,A 以领导的名义向我们的上司 D 回信,列出我们这组人在 08 年应尽的义务。我一看,心里就腾起一股火气,他自己承担的任务里,没有一项是和他新工作相关的,而且每个都要花费不少时间操作。这不是明摆着要消极处理他的新工作吗?我很不客气地回信,并抄送一封给我的上司 D,表示了我对他的态度的不满。当时我的感觉是这个人不适合在我的组里做事。精简敏捷开发的宗旨是团队需要集中注意力处理当前最重要的事务,在最短时间内用最便宜的手段为整个商业组织创造价值,我的组主要工作是设计测试案例,开发测试案例是给整个开发组织的最大价值,而不是把时间花费在无意义的流程改进或是为高层收集测试数据,没有人设计开发测试案例,收集的测试数据是没有意义的。而这种鸡毛蒜皮的小事正是 A 最感兴趣的事情。我写的信让 D 很不高兴,因为我写得很不留情。这也是没有经验的管理者应该注意的,尽力避免这么直接的举动,多进行面对面沟通,实在不行才使用这种下下策。我和 B 沟通后,B 又写信给 A 说,你的首要任务是对新责任负责。A 回复说,我不觉得这个新项目有什么重要的,大家对此都没有什么重视,所以还是让我完成我的测试数据收集。A 的信送出后,我也没来得及看。一天后 B 找到我,跟我说了这事,我才知道 B 也火了,也写了一封措辞严厉的信给 A 并抄送了我们的上司 D。当然 D 也找 B 谈话说不能这么不留情面(大家知道了,要先进行面对面沟通,之后才能作出这样肆无忌惮的举动)。

又过了一个星期,事态有所改进,开发组的上司 H 也不知从哪里知道了这件事,写信给 A 说要把工作重心转移到我分配的事务上。然后我们上司 D 也对 A 做特别安排,让他全力帮助我。A 态度马上大转变,说他会全力和我一起协作,我仗着我有令箭和 A 的态度转变,就开始给他分配任务,每天和他进行 2 分钟的 Scrum。同时也帮他开始建立开发环境,我花费了三天,才把他的开发环境整理清除,他被聘开始工作到现在,对自己的开发环境维护什么都没有做,一切都是乱七八糟,然后自己还不懂到我们的开发测试 Wiki 上找答案。让我可笑可气的是,他拿了一个很简单的问题问我如何处理。错误信息就在他面前,读一读,再考虑一下就能解决,A 的处事态度怎么能这么不认真,还是能力不行?三天之后,一切都搞好了,我觉得,A 也该开始阅读项目文档,并向我向开发者提出大量的问题。

事实还不是我想象的那样,时间到十月初的第二个星期,我在周一分配了任务让他阅读文档,我给了他一个星期。我认为,作为高级工程师,是知道自己该做什么,我的分配是很清晰的,阅读文档,准备写测试计划,有任何问题,尽管问我。周五中午 B 跑来跟我说,开发部上司 H 很不满 A 不准备在下一周进行程序发布测试(Release Verification Testing),我说我完全支持 A 的决定,心里还有高兴,A 终于可以专心做正事了。我甚至对 B 说我觉得 A 需要一点时间阅读文档。如果他能专心做事有进展,我会帮他处理这些杂事的。下午,我马上发现我的想法是极大错误,A 和开发者开会时净问一些没有一点技术背景的问题。我坐在那里看着开发者艰难地解答他提出的问题,还有他不着边际的回复,心里急啊!最后我坐了 35 分钟,借口离开去找 B 反映这个发现。我容忍了 A 四个星期的不作为,他已经开始破坏我的全盘测试计划。

于是我和 B 又找了我们前任 QA Lead —— J。J 是个德高望重的人,A 之前的 QA Lead,给了我们的建议是,直接找上司 D。于是我和 B 起草了一封信说 A 一个星期下来没有实质性进展,反而有负进展。他的态度是我们不能容忍的。希望 D 能替我们安排一个好的解决方案,我们对事情发展到这个状态已经无能为力了。周末,我仔细想了一下,和 D 见面时不能透露无望的神情。读者如果看过《教父》,知道 Don Corleone 在电影一开始接见好莱坞大明星 Johnny Fontane,Johnny 希望 Don 帮他摆平一个电影角色的,当时他无望地对 Don 说,“Godfather, I don’t know what to do…”Don 的反应是痛斥 Johnny 的无能,说“You can be like a Man!!..”我当时的感受可能就和 Johnny Fontane 差不多。我在周日晚上仔细考虑了一下,知道自己不能象废物一样给上司 D 汇报这一情况。而且 Ken Schwaber 在他的书中提到,Scrum master 必须能够对情况和发展作出合理判断,把各种可能发生的事件和后果进行总结归类,再同管理层进行沟通,帮助管理层理解种种处理的不同后果。我列举了几种处理方式:

  1. 调离 A,在分配新的人员给我。后果是要重复一系列培训,开发环境设置等工作。
  2. 分配新的人员给我,让 A 和这个新人一起协作相互牵制,如果 A 合作不顺就要。后果是我不需要太多介入培训新人,帮助设置开发环境的问题。而且我可以继续我的测试工作。但是要更多地管理。
  3. 继续给 A 一定的时间,我会更严格地监管 A,后果是我要花费很多精力监视,甚至介入 A 的工作,我的测试进度将受影响。

星期一,我和 D 见面,D 马上和我说了他的安排,让 A 在我手下再干三个星期,然后他能转到其他组去。我从 D 那里得知 A 上一星期把时间都花在测试数据收集的工作上了,还表示了他对自己现在工作的不适应,希望调离。我可以看得出 D 和我一样对事态非常失望。D 要我和 A 商量好三个星期必须完成的任务,然后等 A 休假回来后在安排 A 的工作事宜。我带去的事情处理方案,和收集的汇报都没有用到。下午,我从 D 那里接到通知说 A 马上就转到另一个组。事情就这样解决了。

读者会问这件事和敏捷开发有何关系?我的感触是,敏捷开发是不能容忍开发进度中任何能够造成进度停滞的问题。敏捷开发必须像耍独孤九剑一样连贯自如,任何问题必须从问题一发生就马上解决,同时不断改进,根据情况不断调整战术保证进度的高速进行。在这件事情上,上司 D 一开始犯的错误就是高估了 A 的技能。我觉得他对 A 一直抱有一种没有理由的错误判断——A 是个处理能力和技术能力强的专家,其实这和现实差得太远了。D 只是个经理,他不做技术性的工作,是无法了解下属的真实情况。这是一个典型的例子,不懂技术也不懂下属能力的经理会误判下属的真实情况。或多或少的蛮横安排资源,不接受团队回馈也是 D 所犯的错误。敏捷开发的一个重要手段是团队自我管理,也就是在阵地上的士兵比在指挥所的军官更了解战场战况,有时将在外,必须拥有“君命有所不受”的权利。上司 D 经常如此蛮横地瞎指挥,下属一般都以自己最好的判断来尽力实施他的要求,但是做不到的时候也只有和他汇报,获得他的理解,我想这是很多技术人员经常碰到的问题。

我的错误就是我怀疑了但是没有及时直接向 D 沟通我的担忧,但是就算我及时沟通了,也不会给我多大帮助。因为当时的人事资源就是那样的,我没有拒绝的余地。我所做对的,是对我所能够控制的局面进行了有效的监控;我利用了我所学的敏捷开发知识准确地判断了事态可能的发展;我对事态发展作出了一步步的盘算及后果的考虑,作出了先影响甚至控制 A 的战略,然后作出了如果 A 不合作,必须让更高管理层替我解决问题的战略。最后是在管理控制的同时收集下属的不当所作所为,作为我的战略资源,同时发动我的同事,我的上司对我进行支持。整个事件从发生到解决,花费了一个多月时间,我用最迅速比较妥帖的方式处理了这件事,而且没有耽误我自己的测试工作。第一次对项目和团队进行管理,我对自己的表现感到十分满意,近几年的敏捷开发实践毕竟是学有所成。但是我也意识到自己要好好学习更好人际沟通,在管理方面更加完善自己的能力。

2007-11-19 03:141701

评论

发布
暂无评论
发现更多内容

vSphere 7融合Kubernetes,构建现代化应用的平台

亨利笔记

Kubernetes 容器 云原生 k8s vSphere

二叉树先序中序后序的非递归实现

Kenn

算法

演讲的秘诀

伯薇

个人成长 演讲 追求极致 完美主义

判断链表是否有环

Kenn

算法 链表 双指针 Brent

批注MYSQL开发规范,助你了解其背后的“道”

三石

数据库规范 规范背后的原理 白话规范

我不是怕表错态,而是怕我会不自觉地捍卫它

池建强

个人成长

运维 Harbor 镜像仓库的法宝:Operator

亨利笔记

Kubernetes 容器 k8s Harbor operator

哪儿有真实靠谱的数据,说谎话必须负责的那种?| IPO招股说明书(1)

赵新龙

阿里巴巴 IPO 旷视科技 数据

Golang 真的好用吗?

极客时间

编程语言 Go 语言

回"疫"录(4):见证历史

小天同学

疫情 回忆录 现实纪录 纪实

Nginx学习

陈雷雷

nginx

ZGC都出来了,你还不懂G1?

大白给小白讲故事

G1 JVM

浅谈行业软件

孙苏勇

软件 思考 转型

如何读IPO招股说明书(2)到哪儿下载招股书?

赵新龙

IPO 上市 招股说明书

如何避免把中台变成外包团队

松花皮蛋me

数据中台

死磕Java并发编程(4):happens-before是什么?JMM最最核心的概念,看完你就懂了

Seven七哥

Java Java并发 happens-before JMM

“消灭你,与你无关”——阿里巴巴的风险 | 旧文重发

赵新龙

阿里巴巴 风险 蒋凡 IPO

“IPO上市扒层皮”,以阿里巴巴为例看看公开了什么 | 如何读IPO招股书(3-b)

赵新龙

阿里巴巴 IPO 招股说明书

我们是时候降低对完全自动驾驶的期望了

赵钰莹

自动驾驶 AI

“IPO上市扒层皮”,以阿里巴巴为例看看公开了什么 | 如何读IPO招股书(3-a)

赵新龙

阿里巴巴 IPO 招股说明书

迷茫时,想想能为这个世界做些什么就好了

霍太稳@极客邦科技

身心健康 个人成长 团队协作

JCJC错别字检测JS接口新增CORS跨域支持

田春峰-JCJC错别字检测

祝这些不要脸的王八蛋同行家里着火

二爷

Harbor和Dragonfly双剑合璧 打造容器镜像运维新模式

亨利笔记

容器 k8s Harbor dragonfly 镜像

不知不觉,写了10000字了

小天同学

写作 个人感想 思辨

二叉树的先序中序后序递归实现

Kenn

算法 递归

程序员陪娃漫画系列——吃饭

孙苏勇

程序员 生活 陪伴 漫画

像产品设计一样思考、像程序运行一样执行

水色

“WHY-HOW-WHAT”这个被誉为伟大的领袖如何激励行动的黄金圈法则,非常值得大家学一学!

数列科技杨德华

思维方式

OpenCV 在 Android 上的应用

fengzhizi715

android OpenCV 计算机视觉

曾国藩的人生“六戒”

霍太稳@极客邦科技

身心健康 个人成长 心理学

一个敏捷教练中止越轨列车的故事_研发效能_Richard H.B. Sun_InfoQ精选文章