程序员的烦心事——例会

来源:互联网 发布:js注释代码 编辑:程序博客网 时间:2024/06/10 06:16

      如果说工作计划只是在大多数项目组中出现并不是全部,那么例会恐怕是每个项目组开发过程中不可或缺的一部分。虽然各项目组的例会频率和例会召开的时间不尽相同,但是内容却是大同小异的。下面我就从例会的大致流程入手,说说例会中的那些烦心事。

      首先是总结。这差不多是整个例会中最重要的部分。有些项目组会在经理进行验收后开例会,有的会在之前。但不管是否已经验收,都会让项目组的成员总结自己本阶段的工作。对此,很多程序员不以为然,只是一语带过自己的工作成果。好一些的我听到过有人说“本周主要对要使用的技术进行预言并且明确了与其它模块的接口”,差一些的我甚至听过这样的话“本周我主要继续做上周没做完的那个模块”。虽然这样一语带过可以尽快摆脱在会议室这种压抑的环境中发言的紧张气氛,殊不知使你的实际工作成果至少打了八折。

      经理召开例会让大家总结,一方面用于同步当前进度,让项目组中的成员更好的协同工作,另一方面也是为了对当前情况做以记录。如果经理比较暴躁比较专制,他也许在听到“本周我主要继续做上周没做完的那个模块”后直接对你发起指责,甚至要求你加班。其实这种情况还是好的,因为至少可以让程序员很快警醒,知道自己的总结有多么糟。怕的是经理只是听,而不问,默默的把你的话记录在自己的本子上按时向上一级领导汇报或者是在发放项目奖金、晋级等关键时刻拿出来做参考。然而影响还远不止这些。如果大家协同工作内容并不多,你不要指望同事听到你的工作总结时认为“这个问题的确不好解决,做一周很正常”,更有可能是认为“他很懒,坐在那儿不干活,要么就是笨”。间接的也会影响到你跟同组人间的关系。

      总结过后一般就是下个时间段的工作计划。一般经理会询问或者记录组员下一步的计划,这也是令很多程序员头疼的地方。因为最初已经提交了工作计划,可是当前的进度拖延了,那下周应该怎么办呢?是保证尽快赶上自己的计划呢,还是申请顺延时间呢?

      最后是自由提问环节,也许你会很惊讶,这是我最最讨厌也是我最最觉得不好应付的环节。在此环节中,经理也许会提出一些有关当前完成工作或即将开展的工作方面的问题。然后是自由提问。就在我的项目组中,这个自由提问简直变成了争论的导火索。互相提出对方工作成果或方式的不足,并因此大吵的情形比比皆是。可以说,放在周五更新这篇博文很有意义,因为我刚刚在例会上再次经历了这不愉快的“自由提问”。

      那么针对刚刚提到的情况,一个程序员应该怎么应对才好呢?

      第一就是准备。既然例会中有个“例”字,开会时间必然是有规律的了。所以一定要在例会前做好充分的准备。在开会前,至少应该明确距上次例会的这段时间内自己的原计划是做什么,当前完成了多少,还有多少没有完成,为什么没有完成,大概还需要多久能够完成,已完成的部分有什么问题等等。如果觉得内容太多,可以写下来,在例会上照本宣科。

      在总结时,尽量把自己工作的内容说得详细些,当然也不能过于琐碎。至于尺度嘛,我觉得说3到5个工作内容刚刚好。比如你这个时间段只做了单元测试,那么就说说你是怎么搭建测试环境,怎么写测试用例,怎么做测试记录和做相应修改的。同时还应该将工作的完成情况与计划主动做对比,并做以总结。如果你能够精确到把做每件事的具体时间段说出来那就更好了。

      提到下周的计划时,我建议实事求是,不要打肿脸充胖子。比如工作明明滞后了,仍然说会在下周赶上进度,我觉得是不切实际的。每个人都不是完人,所以不能预知一个工作的工作量是很正常的事情。如果你已经在本次例会时延迟了任务,证明你对上个时间段的工作量预计不足。然而你却能在下次例会中赶上计划进度,我可以理解为要么你加班加点了,要么你对后一段工作的工作量作出了过小的估计。较好的做法是实事求是的指出出现问题的原因,并申请对开发计划进行调整。当然,是否能够批准,那就要看你的项目经理了。

      终于到了自由提问的问题了。这个问题我是这样看的。首先说提问者。如果你觉得你有问题需要质疑你的同事的工作成果,那么应该先问问自己是否对他的工作内容十分了解。如果十分了解,那么说明你们平时有很多交互协作的机会,为什么不在例会前与他私下讨论这个问题呢?当着全组人的面争个谁是谁非不但让人觉得你是有意针对他,还会让人觉得有些事后诸葛亮或是事前不说专等看人哈哈笑的意味。话说回来,如果你并不了十分解他的工作内容,只凭他在例会上的介绍而对他的工作内容提出质疑,这显然是太武断了。说完了强势的,说说弱势的。如果你是被提问者,那么,恭喜你跟我经常所处的环境一样。我的忠告是,你要强压怒火,只听他对问题的描述,然后平和的做以解释。除非更改算法或数据结构甚至使用某种其他语言(我在工作进行2周后就遇到过这样无理的提议)等重大问题,其它的问题都不要争论,因为这样的争论是不会有好结果的。你可以说“我会在会下认真考虑你的建议,到时不明确的地方再请你一起讨论”,至于他说得对与不对,你听与不听都悉听尊便了。即便遇到了重大的问题,也不要争论,直接向经理请示,请他作出决定。比如我举的更换语言的例子,我当时就平静的说明当前语言足以满足要求。当时经理采纳了我的意见。如果他当时决定让我换语言实现,因为不是我之前做技术预言工作的失误,我会平静的向经理申请代码移植的时间。

      说到最后,解决问题的关键还是心态。你是项目组中的一名成员,公司的一名职工,项目组的决定也好公司的决定也好都要执行。而你坚决执行公司和项目组的决定正是公司为你发工资的必要条件。