做项目时技术之外的那些东西

最近在公司做一个项目,跟以往不同的是,在这个项目中,我有点类似于项目经理的角色(但我并不是项目经理)。换了一个角色,发现要想成功做成一个项目,远不是光有好的技术就可以的。

记录一下最近的感受,主要分为这几个方面:充分沟通、预期管理、协调同事关系、任务分配、超前规划。

下面对每一项单独记录。

充分沟通

其实这是一个已经被无数人谈及无数次的话题,但我还是想记录一下,因为最近在个项目中对此颇有感触。

这个项目前期我是最主要的成员,绝大部分工作都要依赖我去完成,以及后面的工作对我的工作也有很强的依赖关系。所以在一开始的时候团队中其他成员就需要我给出一个明确的时间表,我把任务分解之后按照自己的预估给出了一个时间表,但是随之而来的就是问题不断。

我是一个急性子,而且这个项目的后半部分才是吸引我的地方,所以我就想尽快把前面的工作做掉,自然在给上面的时间表的时候就按照自己的想法尽量压缩时间,越快越好,当我给出时间之后,其他人也没有详细问,大家皆大欢喜。但是等到了交付时间的时候问题就来了。我实施成之后其他同事要进行测试,按照我的设想,只要主体功能完成之后,对于一些细节的部分,可以一边测试一边完善,这样可以最大化节约时间,但是测试的同事以为我交付的是一个功能完整、配置全面的的东西。也就是说我们对于交付标准的设想是不一样的,可想而知,这会导致多大的矛盾。

这是一个问题,还有一个比较严重的问题。

我们团队中大概有一半人在美国,我们是远程协作的,而且还有13个小时的时差。
项目前期主要的工作量都在我这边,其他人要等我做好之后才能开始,由于上面的那个问题,原定的时间表被延期了,既然延期了,我肯定要尽快做好,但是没想到其中一个重要组件的文档很差劲,很多关键步骤都没有,或者就是错误的,甚至还有两个bug,导致我迟迟不能完成所有的开发和配置,比原来的计划延迟了20天左右,在这20天中发生了很多“矛盾”(其实不算矛盾,只是有点点不愉快,但还没到矛盾的程度)。
由于远程协作和时差的问题,美国的同事不知道我每天在干些什么,他们看到的就是:哦,他今天还没有搞定!但是我这边确忙的都快要爆炸了,双方带着这样的情绪,可想而知开会的时候会发生什么。

鉴于上面这两个问题严重影响了项目成员的情绪和进度,我就找领导聊了聊,领导给了两个简单却有效的建议:

  1. 重新沟通交付标准,确保每个人心中的想法都是一样的
  2. 每天找一个合适的时间向团队中所有人,尤其是在美国的同事,更新一下今天的进度,做了哪些事情,遇到了那些问题,需要什么帮助

我按照领导的建议去做了之后团队之间的氛围感觉明显有改善,并且美国的同事也会在一定程度给与我帮助和支持,效率也比之前提高了很多。

在一个项目中沟通非常重要,甚至有的时候比实施更加重要,没有好的沟通作为基础,可能越做越差。在不同的场景下,沟通有不同的技巧,这真的是一门学问,有待进一步学习。

预期管理

预期管理其实也是一个常谈的话题。
提到这个话题的时候估计大部分人都能理解,但是真正在项目中做到却不是那么简单的。

前面有提到,这个项目后半部分才是吸引我的部分,所以我想尽快把前面的部分做完,所以我在给时间表的时候是按照最好情况预估的,想着就算遇到点问题也可以克服一下,但是在实际工作中往往会发生一些意料之外的情况,所以在预估时间的时候应该给这些突发状况预留一点时间。

如果到了你承诺的时间,却没有完成,不论怎么说,在别人眼中都是你的问题;但是如果你能提前完成,别人可能就会觉得你这个人还不错。

更重要的是,如果你一直不能按时完成自己的承诺,久而久之就会失去别人的信任,这是很严重的事情,可能会让你在企业中无立足之地。

协调同事关系

一般来说一个项目肯定不会只靠一个人就能完成,往往需要一个团队协作。这个时候团队中同事之间的关系就很重要。

我因为在这个项目中遇到的问题,就去读了约翰C·麦克斯维尔的《领导力21法则》一书。约翰在书中提到一个观点:作为一个领导者,应该了解团队中每个人,甚至包括他们的成长经历、家庭情况等等,因为这些都会影响这个人在团队中的表现;领导者首先应该塑造一个融洽的团队氛围和关系,这是合作的基础。

联系项目中实际的情况,如果我没有及时从领导那里获得建议并实施,很可能大家的关系越来越紧张,在这种氛围下我想是很难很好的协作的。

其实哪怕是现在,团队中的氛围和关系还远没有达到我的预期,希望我可以在未来一段时间改善这一现状。

任务分配

为团队中不同的人分配不同的任务的时,不仅仅只是按照一个人的技术栈分配这么简单(我原来一直是这么以为的)。

从技术栈的角度分配任务是一个还不错的做法,但是我们还需要考虑其他因素, 个人感觉主要有以下几个方面:

  1. 个人兴趣
    如果能把一个任务分配给一个对这个任务感兴趣的人,即使他的技术不是很匹配,也许也是一个不错的选择,兴趣是最好的老师嘛。
  2. 成员成长
    如果一直给一个人分配他熟悉的技术栈相关的任务,时间久了之后会导致这个人的技术栈越来越窄,这对于一个人和团队的成长是不利的。
  3. 主备
    对于一个比较的重要的任务,最好能有两个人可以承担,可以有一个主备的作用,避免完全依赖某一个人。

超前规划

这个话题也是从约翰C·麦克斯维尔的《领导力21法则》一书中读到的,感觉非常有道理也很有感触,就在此记录一下。

书中提到,一个合格的领导者,必须要先于团队其他成员之前,为团队未来的工作指明方向,并作出一个相对详细的规划或者提出一个明确的目标。

这我们这个项目中,前期的工作虽然很繁重,但是其实这一部分是指基础的部分,真正能体现这个项目价值的工作其实在后半部分,但是这一部分工作是前所未有的,不仅仅是我们这个团队,整个部门都是第一次接触,这个时候如果希望项目能取得成功,就要对这一部分工作提前作出规划以带领其他同事前进。

这说起来容易,但是真正做起来是非常困难的。因为面对一个新的领域,大家都没有经验,想要作出准确可执行的规划是很难的,这一方面,目前我还没有找到比较好的方法,希望可以借助这个项目能在这一方面有所进步。