突破团队的瓶颈
--------读<突破瓶颈>有感
程序员不按计划完成工作,是程序员的错;程序员不理解需求,是程序员的错;程序员开发功能测试不通过,是程序员的错;程序员没有把支撑的工作做好,是程序员的错;程序员写不了客服文档,是程序员的错;所有的人都在抱怨,天啦这样程序员简直没办法活了?
这些是发展中的软件企业里所特有的现象,当问起程序员真的都那么差为什么不开除呢?所有人的答案都会说不能开除。其实,大家对这现象认识的心智模式是一直存在着“鸡肋”现象。问题不是这样了啊,如果都是程序员的错,那么请问,项目的计划安排人员在干什么呀?需求分析人员在干什么呀?测试人员在干什么呀?维护人员在干什么呀?客服人员又在干什么呀?大家还不是“鲁讯笔下的看客”中的一员。如果程序员都错了,那么请问其它人为什么可以袖手旁观呢?我们所谓的合理化分工只不过造就了一群作茧自缚的看客。
我们如何来突破这一瓶颈呢?
团队中的自己
一.镜中的本性----性格.
从事软件工作以来,不断的学习,不断的积累,虽然经验不足以说道,但比起刚入行,多少也算有些进步,当为开发人员时,写出来的代码就是一面镜子,当为开发组长时,所带领的团队又是一面镜子,所谓镜子能正人衣冠,同时也能正我本性。看清自己的优点,持之以恒。找出自己的弱点,卧薪尝胆。
二.儒家思想的法家制度----思维
对于管理,很多人都会讨论,管理是否需要严惩更多,还是宽恕更多,一直认为讨论这个只是停滞在一种行为上,不代表可让人折服的魅力,而真正的管理大师,首先除了对企业利润需要的敏感外,更需要是一种儒表法里的修为,内心有法家制度的坚持,外表有儒家文化的熏陶。
三.指令型授权与责任型授权----行为
平时过多的使用指令型授权使自己身陷其中,比如像这样:XXX这个改一下,XXX这个协助一下,又XXX这个有问题呀...。这就是指令型授权,相反,就是下放责任就是责任型授权,合理的使用责任型授权将是今后团队工作速度加快的方法之一。也就是从一个高点下来,以全局的眼光,纵观整个过程为首要目的。
团队中的我们
四.创新
商鞅变法,我们常为商鞅的结局叹然,其实正是因为商鞅的车裂才成就了变法的大成。卫鞅是在花了大量的时间走访了战国时代的整个秦国,看到当时秦国社会落后的现象,才制定出一套变法的方案,虽然这个变法在当今时代看来是多么的愚昧,但在那个时代里,历史见证了这个变法是符合那时的秦国、是正确的,为统一中国奠定的基础。还看今朝,我们管理的创新变法,岂敢座在office里东拼西凑就可以制定各种规章制度或激励制度。没有过程的制度,就带有狭隘的眼光,就会造就抵触的情绪。因为那些结果根本不能代表大部份人的意愿,同时冗余的过程太多,根本不切合实际。只有让员工一次又一次的从制度中得到利益时,员工自然而然就会顺从它,拥护它。
五.量化
量化是把制定的计划根据流程进行有效的实施。我们没有一套可持续的工序,那么量化计划都是白搭,天天开会就变成了一种行式,散会后大家又是一笑而过,因为大家只是听众啊。我们需要的是开会前半个小时每个人都先参与其中,然后带着答案来拍板。有时我们在狭义的事物上,实在没有必要花大量时间去讨论那5%未知数,因为这样反而会冲淡了之前95%的认知数。反过来会问,没讨论怎么会知道那是未知数,那是因为没有量化的原因,我们实在没必要对于狭义的事物再来个小概率事件的讨论,小概率事件应当放在广义的事物上。像麦当劳,搞汉堡的而包片,鸡肉怎么拷,青菜怎么放,酱料放多少都是定好了,只要某一个过程出了问题,想必很快就看之而改之,这样错误的边界也就方便察觉。同时能在生产过程中不断了剔除冗余信息、优化了创新的变法。
六.统一管理
在发展中的软件企业,我们在对创新进行量化的时候,要讲究一种统一管理的策略:让所有的分工就是为了开发产品而服务。我们首先要比较的是跟自己跟所处的职位做比较,做好本职服务是应该的,但我们常犯一个毛病,做不好都是别人的错。在软件工程的过程中只是程序员的错误表露是显式了,而其它的人是隐式了。问题的根源在哪里?这是因为其它组织根本没有对程序员起到服务的作用呀。而不是程序员去服务那么多的部门呀,我们是时不时了拿一些大公司来说:“人家什么什么部门的责任是这样,人家什么什么部门的职责是那样,什么程序员又没有拿出来文档”。似乎这一切都正确,都符合管理体制。其实这样是思维错位了,我们的团队根本还没有做到:“看到大吸管就知道是珍珠奶茶,小吸管就喝可乐”。这时又会有人反驳:“为何你们不认真去看呢”?问题就在这里,没有统一管理,造成权力与责任的同时分工,没有明白服务好他人也是工作中的一种义务。真正意义上的职责国际化分工只适合成型的大公司,他们是已经把团队协作的精神推高到最高境界----形成的文化,然后再回归到职责分工就豁然开然了,人家的需求分析、设计说明、测试报告等等任何一个环节可都是利润,离岸外包的软件开发就是最好的例子,反问我们的可以吗?似乎忘了一点:我们如果没有代码的实现,所有的分析设计都是白纸,这就证明了我们所谓的分工是为了更好的去服务开发产品,大家都在起跑线上,这时协作是非常之重要,协作即是责任、又是义务的一种统一管理,任何一个组织对程序员的服务都将加快开发团队建设的步伐。