很多公司招聘时都不忘带上一句“良好的沟通能力”,很多程序员觉得我TM一个写代码的还要多好的沟通能力?而且什么是良好的沟通能力?跟人说话打交道的事普通人都没问题啊,你非要加上个“良好”,很容易让人误会啊。
其实公司也有公司的苦衷,每个公司无论大小,似乎内部都有多种不同利益的群体,互相扯皮推诿如同家常便饭,不同部门之间互相甩锅的事你一定也没少见。这倒也正常,毕竟有人的地方就有江湖。公司寄希望于招聘的人自己能够处理好组织内的各种关系,于是就强调多沟通,巧沟通,好像沟通能力关乎着做事的效率。我不得不说这是一种懒政管理,就好比房价高了就限购,雾霾重了就限行一样,治标不治本。
公司的沟通成本高必然是因为管理能力差。要不然都说一个公司的创始人的水平对整个公司的未来发展高度具有极大的影响,创始人的人格魅力,性格特点,管理水平,最终都会变成公司的整体文化环境。以游戏行业为例,公司管理中的种种细节都会对项目产生影响。
比如考勤制度,游戏公司义务加班的不正之风似乎已经吹遍了全国各地,然而大家对加班的态度各有不同。我遇到的最好的情况就是加班换倒休,加班天数可以一直累计,离职的时候结算成工资,迟到早退可以用加班时间抵扣。最坏的情况则是996无偿加班模式,请假迟到扣工资。这个制度在员工评价公司方面占比很重,很多人员流动也是因为无偿加班导致的积怨,更别说对平时工作热情的影响了。
另一个行政方面的制度是公司福利。这个一般和公司规模成正比,大公司的福利就是好。五险一金+商业意外险,每年体检,节假日红包,项目分红,年底双薪,每月团建,国内旅游,各种培训,免费零食,书籍刊物等等。说多了都是泪,从没去过一家有免费零食的公司。咱们国内程序员生活水平普遍比较朴素,于是对这些福利都是有则喜出望外无则眼红不已。对很多小公司来说,温饱都没解决,自然不可能有这种待遇。
对开发项目影响最大的当然是工作上的管理制度。拿游戏开发来说,策划、程序、美术、QA分工明确,但是为何大家还经常扯皮呢?主要是这些人来自不同的地方,工作经验不同,认知水平不同,对同一件事情的看法不同,正常情况下必然会出现程序感觉没问题,美术觉得还可以,策划感觉不太对的现象。仔细想想,所有人都在自说自话而已,大家在讨论问题时都没有基于一定的共识——也就是开发流程规范。每个公司的情况都不同,项目类型、规模、人员配备也不同,也就没有统一的开发流程可以达成共识。大家唯一达成共识的就是做游戏需要钱和人,钱从投资人那里骗,人用钱买,要找主策、主程、主美,剩下的随便搞,总之要快点上线赚钱。
团队建设完毕,项目开工之前,第一个问题应该是团队人员的分工合作规则。通常策划是团队核心,制定项目周期,游戏核心玩法,管理程序和美术进度,汇报工作结果等。程序负责确认需求可行性,估算工期,写代码测试等,通常服务器先行,给客户端提供数据接口,也就是说客户端要依赖服务器的服务,数据对接完成后才算一个功能开发结束。美术比较杂,公司至少要有一个主美负责美术进度,可能是美术风格太多的原因,很多公司的美术都靠外包。这是分工,再说合作。首先公司内部沟通还是走内网,用局域网聊天工具比较好,快速安全方便,用QQ工作让我很难理解。质量控制和版本管理,是软件工程里的一大块内容,然而国内中小公司似乎连概念都没有。这块工作至少要做到每次提交内容都是有意义的,有监督的,提交之后的程序是可以正常运行的,文档是清晰明确的。
立项阶段。主策划需要确定游戏类型和核心玩法,大致定义出游戏的原型,估算开发周期。
程序架构。即使有可用的代码框架,也要根据游戏类型和玩法做一定的调整,至少要跑通网络通信才能开始开发。
功能需求。策划先把想法写成文档,找程序讨论,修改,定稿定时间。程序按期交付,策划验收通过,移交QA测试各种边界情况。
代码规范。写代码之前一定要所有人统一编码风格并遵守框架约定,各自为战写出来的代码一定是烂代码,基本要重写。
问题讨论。凡是一天搞不定的问题就会影响工期,需要集思广益一下。如果讨论超过半小时没有结论,说明此路不怎么可行,估计要改需求。
会议制度。项目组例会,负责人应该每周把进度统计一下并告知所有人,大家工作都出力了一定要有反馈。每日例会,每天下班前负责人应该统计一下所有人的工作以及工作中遇到了什么问题,保证进度和预期一致。
最后回到沟通能力上。沟通能力确实是一种能力,然而对公司内部的需求来说并不成立。公司需要管理者付出金钱时间慢慢积累管理经验,完善各种制度,定义流程规范,让新来的人意识到自己必须融入这样一种环境才能和其他人正常沟通。只要新来的人认可这种制度没有什么不爽,也就很容易避免各种分工合作中的沟通问题。沟通成本无疑是项目开发的最大成本之一,他会消耗所有人的时间和精力,也会影响产品质量。而个人要做的,就是提高自己的技术认知和管理认知,看到问题并解决问题,如果不认可公司的制度和规范,趁早换工作才是。