软技能分享:沟通源于坦诚。掌握沟通技能对于管理者来说很重要,无论和上级还是下级。在沟通之前,一定要明确各自的诉求和问题,很多时候,学会问问题是一门很大的学问。只有在了解彼此真正问题的前提下,才能有效解决问题。
本章主要分两大部分,一部分是执行过程需要关注的重点,另一部分是执行过程中的软技能应用。
一、执行过程关注重点
项目管理是一个比较杂的工作,如果勤快的话,你可以参与到项目的任何一个阶段,不过这里不建议这么做,主要是一个人的精力是有限的,很难做到事无巨细,甚至有可能适得其反。
从你从事管理工作开始,你就应当将自己的角色进行转变,从执行者转变为教练和监督者,应站在全局的角度看待问题。从软件项目管理的角度来看,实现这一点肯定会有很大难度和阻碍,主要是由于软件项目经理多数是技术出身,而且企业也多希望软件项目经理继续在技术的路上持续发展,成长为技术/领域方面的专家,而非职业经理人。
不过,软件项目管理既然有管理的工作,那么,项目经理就有向管理转型的机会,这里要避免的就是我们在第一章项目管理(1)—从管理危机说起的问题。
如果坚定做管理的念头,推荐的方式是去进行PMP和MBA的考试和学习。
之所以提到上述内容,是因为在目前的软件项目管理执行阶段中,有很大一部分项目经理的主要经理仍然是核心功能的编码工作,但是,对于项目管理来说,其实和编码没有关系,在执行阶段要关注的重点事项应该是上述图表中的六个要点。
1、计划与进度的偏差
项目经理要参与到项目各个团队的日常工作中,重点关注的是各个计划的执行情况,确保计划与进度不存在较大的偏差,尤其对于关键里程碑点。
上表是一个按周进行汇报的进度计划表,根据项目大小,可以扩展为按日、按月的进度计划。通过进度计划表,可以看到每一个阶段的实际偏差情况,同时,也可以使用不同的颜色区分优先级和风险级别。
2、流程完整性
管理的一项重点工作职责就是理清流程,确保在执行过程中有流程可依,同时,流程不会为具体执行造成麻烦。
正常情况下,我们是希望流程能够规范执行,并且能够提升执行的效率和质量,但是,如果流程定义不清晰或不合理时,反而会阻碍执行,提升执行成本。
因此,在具体执行过程中,要对流程的执行情况进行监督和反馈,及时发现流程执行的问题,并进行改进。如果无法立即改进流程的话,则需要在项目收尾过程中,纳入相应的流程改进过程,以促进后续项目可以顺利执行。
流程执行最大的问题在于跨团队、跨部门之间:
在有些时候,项目归属部门不愿意承担多余的成本、责任和风险,有两种方式,一种是将项目升级到更高的部门/公司,由公司整体买单;另一种是,真正衡量项目的可行性,如果风险太大,放弃未必不是好事。
切忌在跨部门协调时,强调“不关心对方的过程只关心结果”的情况,我个人就遇到过这样的奇葩管理者。
3、阶段交付质量
每一个阶段交付成果的问题,都会在下一阶段或后续阶段被无限放大,从而引起成本、质量、交期的问题,因此,检验各阶段的交付质量是管理者非常重要的事项。
这里不是说由管理者亲自去检验交付质量,而是,管理者必须要确知各阶段交付成果的关键检测点,以及对应的检测验证方法及执行校验方式。
这里是对管理者行业专业性的考量,我个人见过很多管理者,对其所作的项目/产品的关键质量指标都不明确,从而造成质量事故频发的情况。
因此,对于管理者来说,经常补充行业和领域知识,是日常学习的重点,至少要做到不被忽悠,否则就需要承担额外的后果。
4、新的风险点挖掘
随着项目的执行,在执行过程中会关闭一部分风险点,但是,同时会有新的风险点出现,多数是在前期范围管理、计划管理和技术可行性分析方面做得不够细致的地方,这些要在执行过程中加入到风险管理计划中。
5、成员绩效
成员绩效评估和反馈贯穿整个项目的执行过程。
在项目管理过程中,管理者除了要与成员沟通互动,确保项目按计划、按质量进行交付以外,更要关注成员的优缺点、性格、在意/适合的激励方式、敏感度、工作认真程度、创造性、效率、团队精神等等。
一个团队应保持适当的人员流动性,甚至,核心人员的新陈代谢也是非常有必要的。尤其对于主动性和创新性缺失的成员,应鼓励其多看看外面的世界,从而通过环境来促进其成长,这也是对团队成员负责任的态度。
6、处理变更
对于程序员来说,最烦的事情有两个:一个是需求的变更,尤其是当你刚刚完成一个功能之后,忽然有新的需求要对已实现功能进行修改;另一个是计划的变更,刚刚开始做一件事情,忽然又做调整,要求去做另一件事情。
程序员对待变更的态度通常都是很抵触的,会不断和提出变更的人进行争论,有时候会以项目整体交期、技术难度、通常做法等来期望说服变更提出者。
当变更发生的时候,管理者要从整体高度来判断变更的合理性,根据变更内容的重要性,确定是否进行变更,并协调进行商务合同、产品生命周期、项目整体进度等的修改和调整。
程序员是逻辑思维非常缜密的一个群体,管理者在说服程序员接受变更,并能够调动其后续积极性的过程中,一定不要以感性的方式来处理,而是要通过理性的思维逻辑进行引导。
之所以出现变更,肯定是之前环节存在问题或者是客户临时增补需求,大多数情况下,在承认之前工作失误的前提下,都可以通过请客吃饭就可以解决的,如果一顿不够就两顿。技术人员,无论是哪个行业,都有很强的对错观念,无论是不是自身的错误,在技术面前稍微低低头,所有问题都可以迎刃而解。
二、软技能应用
软技能只做为推荐方法,由于管理者和团队成员性格的多样性,适用的手段和方法各有不同,针对不同的人要有不同的应对方式和策略。以上的方式只能说适用于多数的情况,但不是绝对的。
1、沟通管理
此处推荐OIRD会话法,主要是分步骤进行沟通:
a、首先明确沟通的客观事实是什么?如:我发现你最近迟到/请假次数比较多。这里强调客观性,实事求是。
b、反应性是沟通对象对客观事实的反馈结果。例如:最近家里有些事情,小孩子生病等等。
c、价值性是强调如何解决问题的,由管理者或者管理者与沟通对象共同寻求解决方法。例如:我建议你每天早上晚来一个小时,不过,希望下午下班能够把这个时间补回来;我觉得xx医院不错,我可以帮你挂号,不过,你这个周末来加班,我们一起把进度补起来。
d、决定性是明确最终执行方式,一般是让沟通对象或者管理者复述,最好的方式是进行团队内部以邮件形式告知(需要根据实际情况选择使用)。
2、目标管理
目标管理主要是将大目标进行分解,最终分解到个人。在进行目标分解时,不仅仅要强调整体的利益,同时,应关切到个人利益,做好平衡。
3、绩效管理
对于绩效管理,最重要的是强调绩效的及时、正向反馈。很多管理者在进行管理的时候,一般都是在年末/年中/季度进行绩效反馈,形式一般都比较正式,自然反馈就比较官方。
在实际绩效管理过程中,及时的绩效反馈效果是最好的。当一个成员超额完成了某项工作,那么你应当及时对其进行反馈,这样可以刺激对方在后续的工作中饱含热情。
另外,绩效反馈尽可能正向、客观,能够抓住成员真正在意的内容进行反馈。有些管理者会觉得团队成员都是庸才,一方面,可能是管理者对成员的要求太高,另一方面,更多的情况是管理者未真正关注每一个人的优点。
4、激励管理
在实际管理过程中,情感激励和发展激励是激励最为有效的手段,但是,也是最难做好的。有些时候,在进行激励时,不仅没有效果,反而会产生反作用。
个人在进行激励时,有两个原则:
a、宁缺毋滥;
b、给其最想要的,而且一定是惊喜。
执行过程关系项目成败,在执行过程中要重点关注各阶段交付成果的时间进度和质量,关注新的风险点,注意变更的影响,以确保项目的最终交付情况。另外,不可忽视流程建设和成员绩效管理,确保团队的战斗力。