我以前是一名程序员,后来也创过业,现在跟着小伙伴们继续在移动互联网这块辛苦的耕耘,也算是小有些心得和记忆(想想就觉得内牛满面),我就分享一下我的这些心得.
移动互联的发展和变化非常大,稍有不慎就有可能跌倒谷底,所以诸多的管理者一再强调"我们需要速度,我们要在速度上占领优势",甚至要求程序员加班加点的完成任务,回头还不忘再给他们打点鸡血加点体力.其实很多公司在强调速度的时候真正意义上的速度却并没有什么变化,有的反而变慢了.主要原因就在沟通问题上.而与程序员沟通仿佛又是所有沟通里面最麻烦的,因为总觉得他们不善于交流不懂风情.那是因为我们还不懂程序员.
技术上无法实现
有些时候,产品经理会突然提出一个需求,程序员往往会回答"技术上无法实现"来阻挡这个需求.其实并不是真正的不能实现.大部分程序员在开发过程中会根据之前的需求在心里拟一个计划,在这个计划中有当前的开发,有bug的修改,有今后的维护难度等多方面,而这个新的需求会在他的计划中再次增加一系列的开发,改bug,维护等.长此以往,程序员在无尽的bug和需求中变得保守而不愿承担风险(有的团队还不愿意宽容失败).他们就会找出"技术上无法实现"的理由.这是有的负责人就会反问"为什么XXX上面可以实现",这无疑是打了程序员的脸,简单意思就是说程序员的技术不牛.这时有的程序员可能会不情愿的加上这个需求,有的可能就会说"you can you up, no can no BB"了.不管怎么样,都对程序员造成了抵触心理.
所以,任何需求都不要简单粗暴地直接扔给程序员.作为这个项目的负责人要有能够估计需求难度以及时间的能力,能够类似swot分析法一般列出优先等级,如果可以,可以将你的理解讲给程序员.当然也要听听程序员对这个需求的理解,说不定他有更好的解决办法呢.
还有多久能搞定
我想,所有的程序员最烦的一句话就是"还有多久能搞定".我以前写程序时,会被项目负责人一天四五次的逼问"还有多久能搞定",后来我就滚蛋了.能说出"还有多久能搞定"的负责人我只能说你太low了,身为负责人还不能了解到项目的进度.如果是想要从程序员口中了解项目进度,大可不必以这种赤裸裸的压迫语句.一起出去聊聊天抽根烟比啥都来得快,前提是你会抽烟.如果是项目时间紧张,想给程序员施加压力的话,你可以告诉他时间问题,再提供一些技术帮助(你认识的大牛),程序员自然能够体会到自己的压力,要是程序员能够从你提供的技术支持中学到东西,岂不是更好.
这里只是程序员和中层管理沟通的一个小点,之所以以程序员的角度来写,是因为上面所说的"产品经理"和"项目负责人"属于管理者,在沟通上占有主动地位,也就是上级.一个优秀的上级能够催化出一个好的团队,而一个团队的人员流失更多的是这个上级的原因.