作为管理者经常会面临挫折和不顺心,主要矛盾来源于运营的多变需求(不加考虑的应承客户要求),高层管理的横加干涉(资金压力理由),直接将包袱丢给生产部门,将日常软件生产中的一些错误(问题)被无限的放大,尤其在管理者不熟悉软件生产流程和技术要求时,在他们眼中,开发部门就是魔幻工厂,每个程序员都有一个魔杖,只要简单的一挥,软件就会按要求生产出来。本文不讨论如何处理与上级和同级部门间相处的问题,而是处理这些包袱(不论是合理和不合理的),以期将负面引响减小到最低限度,保持团队的活力和激情。
先来回顾下心理学上“踢猫效应”,“踢猫效应”是这样说的:一父亲在公司受到了老板的批评,回到家就把沙发上跳来跳去的孩子臭骂了一顿。孩子心里窝火,狠狠去踹身边打滚的猫。猫逃到街上正好一辆卡车开过来,司机赶紧避让,却把路边的孩子撞伤了。这就是心理学上著名的“踢猫效应”,描绘的是一种典型的坏情绪的传染。人的不满情绪和糟糕的心情,一般会随着社会关系链条依次传递,由地位高的传向地位低的,由强者传向弱者,无处发泄的最弱小的便成了最终的牺牲品。
现代软件的生产任务,不再是靠一个人,或几个人能顺利完成,需要更多更加专业的团队(组)之间的配合,团队成员并不是孤立的存在,每队员都需要面对其他人支持,期间产生的问题(上一流程未按时完成,需求不确定,需求理解错误,代码bug过多等),就容易相互指责,在当事的任何一方,如果无缘无故的被人丢了一个包袱过来,作为本能,当然要想办法甩掉它,而最直接的办法,就是把它甩给自己的下属(或下一个流程团队)。而下一个只能再甩给更弱者,这股无名之火只能转来转去,最终转到猫的身上。
当错误发生时,作为生产的最高管理者不要“当局者迷”,不应指责下属(将包袱丢给下属)。信任下属,是恰当处理问题的前题前提,“疑人不用,用人不疑”,作为技术总管,不应直接越过程序员等队员的管理者(软件部门主管、或项目主管),而应当配合引导基层管理者分析错误产生的原因,冷静分析和处理:
1、除非心存恶意,没有人愿意拖延任务的完成和有意犯错,“人心本恶”不应占据管理者想法,避免管理过程中的情绪化;
2、重新审视是否给项目组(队员)分配了他们(他)不胜能任的工作,这个错误显然不是项目组(队员)的错,而是管理者的错;
3、重新检查是否给队员分配了太多的任务,而这此任务彼此关联性不大,忙中出错是时常的事;
4、队员精神状态不佳,只要是人,都是吃五谷杂粮,都有七情六欲,队员有情绪很正常,不一定是来自公司内部。精神状态不佳时,做事就容易出差错;
5、分配任务时,任务是否明确,文档是否足够清晰,并非是所有人会认识到文档的重要性,很多时候在文档没有完善就开始开发,中途返复变更,造成工期延长,并且由于不规则的代码迭代引起的混乱。
错误已经发生,管理者应该想到的是
1、如何修正错误;
2、如何进行必要的改进,防止错误的再次发生;
3、首要的是完成任务,而不是纠缠于已经发生的错误;
4、是多规定好,还是流程多好。规定就是要求队员能做什么和不能做什么,而流程是,指导队员在生产的不同阶段,如何正确操作,如何与上一个流程和下一个流程进行对接,这在大型团队开发协作尤其重要。我的建议是,少此规定,多些流程,规定是对流程进行必要的行政补充。
5、慎用激励;频繁、无原则的使用,就成了福利,达不到效果。
6、慎用处罚时,不论什么错误,除非有明确的规定才可处罚,否则只能加入新的规定,下次才能处罚。在生产过程中,如何处理软件开发人员、测试人员、UI设计人员出现的错误(问题),是一个比较棘手的问题,一方面要让错误修正,另一方面避免因处理不当,造成团队成员的流失,进一步加重生产开发问题。
7、营造良好的团队氛围,如果我们不能解决队员所有的个人问题,至少不能增加不必要的包袱。
“海纳百川,有容乃大;壁立千仞,无欲则刚”,只有努力实现所在公司的目标,为公司创造最大的利润,同时实现现有团队成员们的个人理想,少考虑个人得失,相信即使有一个离开公司,依然能获得尊重,我想,这才能称得上是一个职业的管理者。