简单之美:软件开发实践者的思考
上QQ阅读APP看书,第一时间看更新

2.1 方法论的实践场景

软件园C区4楼的一间办公室亮着灯。荷兰IL公司驻上海办事处负责人宗方刚刚写完一封长长的邮件。他的食指停在鼠标上方,无意识地摇晃了两下之后,突然放弃了发送,点上一支烟望着邮件沉思起来。

他在回忆下午的那次会议。孔如之,他在心里念了一遍这个名字,也就是邮件中提到的Ralph,今天使他情绪激动的人。宗方很久没有这么激动了,40岁的人经历过不少职场故事,遇上今天这样出乎意料而且挑动情绪的事是很罕见的。

宗方最初挺看好这位从荷兰本部空降来的项目经理。他们有着相似的经历,都是上世纪90年代国内的软件开发人员,拼搏几年之后,进入了某家跨国企业的亚太区总部,后来又因为偶然的机缘进入欧洲本部。在欧洲本部职位卑微,郁郁不得志。这两年由于国内信息技术行业的发展,终于有机会拿着发达国家的薪水派驻国内。

IL公司采用矩阵管理模式,中低层的员工隶属于多条管理线,例如考核线、业务线、人事线等。因此,关于空降项目经理之事,宗方已经花过一些心思。他从荷兰的直接上级那里了解了关于Ralph的Title和Responsibility的解释,看上去和自己没有什么冲突。按照官方的解释,Ralph负责软件开发项目,自己负责资源的调配。尽管,有人从自己的权力中分了一杯羹,但没有冲突仍然不失为一个好消息。

宗方约请过几次Ralph,两人谈得很投机。其实,宗方只有在两种情况下和人谈不拢。自己不愿意或者别人不愿意。

“老孔,你看,去年我带了5个人弄起来,现在已经有30多个人了。我们俩好好合作,今年底再翻一倍的规模,肯定没问题。”宗方从售前转入上海办事处的筹建工作时间也不长。

“嗯。国内的情况我也不大熟悉,以后还要请你多多支持。”Ralph很有诚意地说。

“没问题,没问题。”宗方满口答应。他发现Ralph作为经理还是太嫩了,很多事情都是自己告诉他,他才明白一些。

“做每件事我们都要有个backup,国内流动率太高,没有backup会有问题。”

“欧洲R&D的那帮人天天写代码,人都傻掉了。我们的人要全面发展,可以朝业务和管理方面发展发展。”

“让客户happy是最重要的。我们的人要学会与客户negotiation,不要承诺太多。”

“我们要用敏捷方法,一周一个迭代。人太闲了不好。”

“你要注意这几个人,欧洲那边的反馈不好,一定要人带着做。”

“No news is good news,哈哈。”

Ralph总是若有所思地点着头。

宗方通过几个月的接触,几乎摸清了这位空降经理的性格和能量。可是这位空降经理的表现却让他大跌眼镜。在下午的会议上,Ralph的第一句话是:“TFC项目马上就要开始了。我带来了一套新的开发方法,今后几周我们会对所有的人员进行重组。”

“Damn it!”宗方心里发火了:“这种事情都没有和我商量,想干什么?”

孔如之空降上海办事处有一项任务。今年上半年上海办事处的软件开发项目一塌糊涂。一个产品研发项目和三个升级项目全部delay。人员投入增加了一倍,可是除了成本增加和质量下降之外,没有看到任何效果。Ken,孔如之的直接经理,已经厌烦了各种项目延期的解释。他希望Ralph能改善这种状况。

来到上海两个月之后,孔如之决定开始推行新的开发方法。他本质上是个纯粹的技术人员,思想上逻辑严密、野心勃勃,行动上简单而固执。在与宗方接触的这段时间,他感到极不适应。那些世俗的智慧,在他看来就像一张极具压迫感的网,他讨厌那个矮胖男人满脸的疙瘩和狡黠的目光。

“我们现在使用的是敏捷方法,每个迭代也会deliver一个可用的程序。”宗方在会议结束前的Q&A时间提出了一个问题:“这和新方法的区别在哪里呢?”

“谁来确定deliver的内容?为什么以前的项目经常延期deliver?”孔如之心想这家伙根本没有仔细听他的介绍:“迭代和deliver只是一种形式,新方法考虑的是保证这些形式有实质内容……”

“我想是我们的开发人员能力还不够,培训还做得不够。”宗方抢着插话,在座的开发人员有一半开始窃窃私语。

“我们有员工能力评估的历史记录吗?培训不是口号,新方法已经提出了一整套培训的方案。新方案会关注培训的过程和效果。”

“能力评估记录,有必要吗?我很清楚谁可以做什么,谁不能做什么。”宗方环顾了会场一周。

“能力评估记录可以不要,但至少要记录和公示成功交付产品的团队。”孔如之解释说:“新方法规定了一些行动,可以避免遗忘这个问题。这个问题很重要。”

“我们每天都会开会讨论一些问题。如果能把问题解决好,项目肯定能按时交付。”宗方说完,在座有人在小声说:“很多问题都不了了之。”

孔如之听到了那些小声的抱怨,笑道:“新方法的目标是发现和培养大家的技能。我认为我们团队里面一定有人可以解决那些问题,我们缺少的就是发现的办法。就算暂时没有,将来一定有。”

宗方摇摇头:“国内的技术人员与国外比,还差得很远。最好是欧洲那边能提供详细的设计文档,开发的时候多来几次培训。这边的问题以后要落实到专人负责,跟下去,直到问题解决为止。实在不能解决的问题,要学会如何向欧洲那边的人提出来。”

会议室里又是一片窃窃私语。宗方摇了摇手,厉声说:“安静安静。丑话说在前面,我以后要考核这个的,跟大家的季度奖金挂钩。”

孔如之望了望安静的会议室,大声说:“是要有个考核办法。以后我们会根据今天介绍的新方法,研究一个奖金发放的方案。请大家放心,我会努力为大家创造一个公平、有趣、有意义的工作环境。”

现场发出了一些零星的掌声。宗方有点尴尬,他感觉到大家似乎看出他和孔如之之间有一些分歧。

“大家都习惯了敏捷方法,换个方法还需要适应,现在项目又比较紧张,我觉得过段时间再推广比较好。”大家正准备散场,宗方突然发话。这一次话说得比较直接了。

“简直是强奸民意。”孔如之心里说。他干脆也直接说了:“上半年上海办事处的项目做得不好,Ken希望做些调整。另外,今年PS部门预算没有增加,我们加了不少新成员,只有想办法提高效率、缩减开发成本。这套新方法也不完全是我自己想的,欧洲的R&D基本上就是这么做的。我只是根据国内的情况做些调整。改变是肯定的,我会努力让大家工作愉快、轻松生活。如果大家有什么想法,可以随时和我联系,给我发邮件或者面谈。我希望过一段时间后,我们这里形成一种积极的文化气氛,祝大家工作开心!”

Ken和宗方的直接领导是平级。孔如之的这番话让这个聪明人无可奈何。他情绪激动,但是却带头鼓起掌来。在座的人觉得很滑稽,因为孔经理那段话的前半部分明显在指责宗方上半年的工作。

“真好玩。”王蓉合上会议记录。她今年26岁,是需求分析组的leader。“我才不相信会有什么改变。都是两个男人在掐架。”她站起身,一边和孔如之一起收拾projector,一边在心里说。

“Ralph,这两天有时间吗?TFC项目的客户需求已经过来了。需求分析要启动了。我们要不要先开个会讨论一下。如果定下来,我要安排人去做PRD了。”

孔如之和这个漂亮精干的女孩子对视了一眼,笑道:“OK,明天上午10点我们开个会。我还在看你发的E-mail。于伦是这个项目的TPM吧,让他也一起参加。”

会议结束后,于伦和李小兵走向他们的block。于伦今年30岁,在软件开发领域已经打拼了七八年。三年前,他从技术岗位转到了管理岗位。不再从事具体开发工作的经历,使他看上去比实际上显得更成熟一些。

于伦比谁都更早知道Ralph的计划。一个月前,Ralph单独约他吃饭,并告诉他自己的想法。他当时感到非常惊讶。

“Berry昨天对我说,这个季度要考核各个team的Scrum实施。有变化了?”

Berry就是宗方。

“考核?”孔如之哈哈大笑,“考核什么?”

于伦认真地说:“Berry说,要考核是不是按时晨会、晨会上解决的问题数量、每个人领取任务和解决任务的情况、bug数量之类的。”

“敏捷不是一种制度,而是软件开发人员的工作需要。用指标来要求,是用新瓶装老酒啊。”

“那怎么知道Scrum实施得好不好呢?”

“不需要知道啊。敏捷方法本身并不能解决任何问题。它有一些实践供我们参考,仅此而已。关键还是开发人员的主动性。”

于伦觉得有点道理。在Scrum实施的过程中,的确有很多事都在走形式。大家每天都在汇报进度,可是生产效率并没有什么提升。由于汇报带来的压力,以前的一件事,现在被拆成了十件事。任务看上去更清楚了,可是时间拉得更长了。

在接下来的时间里,他们又谈了很多。孔如之详细介绍了自己的计划。计划的目标只有一个,就是如何提高开发人员的主动性。计划的内容很新颖,于伦觉得挺有趣的。他喝了不少酒,甚至谈到宗方在上海办事处筹办期间从装修工程中捞回扣的事。

事后,于伦有点后悔。他其实并没有改变现状的想法,只是因为在心里对宗方有一些抱怨——他的薪水是几个TPM中最低的——结果上了孔如之这条船。“不过,新计划也确实不错。”他在心里对自己说。

于伦没有想到,从这次会议来看,孔如之实行计划根本没有和宗方商量。他的心情有点沉重,甚至当李小兵在他旁边叫了两声“老大”时,都没有回过神来。

李小兵今年刚刚毕业,是个身高体胖的家伙。他被孔如之的计划完全吸引住了。回到block之后,仍然兴奋不已,不住地谈论快乐开发这件事。于伦在心里摇了摇头。

宗方决定修改自己的邮件内容。他想起来,孔如之曾经提到过欧洲R&D部门的一些开发方法,当时被他笑话了一通,“在国内肯定行不通。”也许因为自己话说得太死了?宗方有点后悔自己看轻了这位空降经理。

“也许没有这么简单。看看再说。”他在心里劝解自己,“先跟John打声招呼,回头找几个TPM谈谈再说。”

他望着窗外的点点繁星,突然感到一阵紧张与兴奋。

未完待续,转52页