先附上一张网络流传的IT职场江湖图
然后再来探讨一下在工作中如何跨部门沟通,作为一个团队leader,或者团队的核心开发人员,如何有效的跨部门沟通。
在当今快节奏的软件开发行业中,一个公司的组织架构必然是多样化的,多个部门各司其职,然后再相互衔接,对接,最终形成一个网状的团体。因此,跨团队和跨部门之间的协助是必不可少的。在工作中,往往各个部门在独属于自己内部的工作上都能处理的很好,也就是都可以很好的做到各司其职,但是在跨部门协助上,往往会出现很多问题,比如责任不明确,跨部门交涉难,相互配合度不够等一系列问题。
那么如何才能有效的进行跨团队和跨部门协助?我在这里和各位一起探讨一下。
鄙人见解,至关重要的第一点,就是明确责任人。俗话说,没有规矩,不成方圆。对于一个需要跨部门协助的任务,在开展工作前,务必要做好任务规划,拆分需求,以及确认各个需求的负责人,同时跨部门协作的对接人,并形成文档。
明确责任人之后,也需要建立良好的沟通。
在跨团队和部门协作中,开发人员应该主动积极的与其他部门人员进行沟通,包括项目经理,产品经理,测试,运维,实施人员等,要注意沟通的清晰度和准确度,避免不必要的麻烦。在一定情况下学会妥协和解决冲突,保持团队和部门之间的和谐稳定。提供技术支持,说明文档,方便其他部门人员能够独立解决已知问题。
但是工作中一定要先做小人,后做君子。责任不明确,摸棱两可的需求和工作切不可进展,否则往往好心办坏事,并且别人也不领情。对于程序员来说,可能不善言谈,然后心思也比较单纯,这是一把双刃剑,好处是可以静下心安心做技术,不妥的地方,就是不会拒绝,无脑接受其他部门的工作安排,或者热心帮助他人完成任务,因为非本职工作的内容影响到自己的分内工作,最终导致开发工作延期。
在我的前期职业生涯中,就多次遇到过这样的背刺,原本是协助工作,为了更快推进项目进展,或者更快解决问题,给运维兄弟或者项目现场的实施,销售兄弟做了很多非必要的支持,尽管提供了详细的文档以供学习,但由于运维或现场人员流动太快,未完成交接,或者支持项目的人员未进行基础学习培训就上岗,在现场只是充当一个传话筒的角色,最终把所有的事情都推到研发这边,长此以往,研发疲于处理各种环境问题,网络问题,最终恶心循环,影响正常开发工作的交付。
在过了很久之后,我才明白两个道理,第一,授人与鱼不如授人与渔,第二,斗米恩升米仇。与跨部门的同事工作时,无论何时,切不可直接上手帮助完成他的工作,在时间允许的情况下,可以指导,配合,有效沟通,但切不可亲自上手接管。若是习以为常,就会让对方产生依赖,反正任何问题都可以甩给研发,研发也会兜底,故而非必要不处理问题。
紧随其后的一点,加强自身团队建设。这一点也是不可或缺的,工作中我们需要跨部门,团队的人进行工作支持时,一定要明确自身部门的情况,团队里面几个人的工作能力,沟通能力。要对自己团队有清晰的认识,切不可夸大技术,兑现了团队无法实现的。
总结来说,开发人员在跨部门工作时,应该建立良好的沟通渠道,共享知识和经验,明确双方责任,使用协作工具,适当调整妥协,提高工作效率,同时也能促进个人职业发展。