关注软件开发项目中的人[下]
程序员文章站
2022-07-10 21:10:59
...
7、狙击手型
狙击手是很难被考量他的工作效率的。他们一般都非常的沉得住气。最困难的技术问题,一般是由他们来解决的,最难发现和解决的bug,一般是由他们来搞定的。像这种高难度的活,基本上你不能给他们限制时间,信任他们,把最困难的事交给他们吧。
8、特种兵型
特种兵与狙击手比较容易混淆。 区别在于,特种兵喜欢搞自己的一套,而不愿意服从大局。他们真的能够完成任务,但是不太会考虑跟其他团队成员的配合。特立独行的性格,也使得他们相当的难以管理。所以,如果不是非“他”不可,那还是不要招进来的好。
9、一无是处型
莫文蔚有一首歌唱得很好:“你讲也讲不听、听又听不懂、懂也不会做、你做又做不好”。我不得不承认,我真的遇到过这样的程序员,基本上,我们都应该相信,有些程序员,其实是入错了行。
三、防人
有一句老话说得好:“害人之心不可有,防人之心不可无。”做项目要成功,总要考虑各种各样的风险,并且能够预先防范。其中最重要的风险,同样是来自于人的。要确保项目成功顺利,就要懂得防人!
1、时刻提醒自己
项目是由项目经理来带领的,所以,一个项目的成败,归根结底,该由项目经理来负责。那么,在考虑项目风险的时候,作为一个项目经理,很重要的一个准备工作,就是考虑自己:我的长处在哪里?缺点是哪些?如果由于我自己的缺点,会给项目造成重大风险,那么,这些需要警觉的可能性,有哪些?我是不是一个比较情绪化的人,会不会在做判断,下决定时,受到各种情绪的左右?
比如说,我的长处是解决各种突发的问题,但是不太能够坚持进行规范化的管理。有可能导致的问题就是:在一段时间内,我可能会沉迷于解决有趣的技术问题,而忘记了去把握整个项目的进度情况。这就会给整个项目,带来巨大的风险。
2、准确的估计别人的能力
这个前面也提过,速度快的程序员,会给人一种假象,就是效率非常高,能力非常强,容易让人对他比较放心。如果是一个夸夸其谈的快枪手,就尤其危险。同样的,如果低估一个程序员的能力,也有可能引起心理的反感,毕竟被人轻视、看低,总不是一件好事情。更加重要的原因是,在分配任务的时候,应该量才而用,分配给这个人的工作,无论过少或者过多,对于项目来说,都是不利的。
3、预防各种消极心态
每个人都有可能变成消极怠工者、刺头,似乎突然之间,他们就不肯好好的干活了。原因是多种多样的,项目太紧,压力太大;公司的激励机制出了问题,员工感到不公平;项目需求变动过于剧烈,让人无所适从;办公室政治,小道消息满天飞;对于项目经理的管理能力与技术能力表示不满;已经打算跳槽,最近就快提出辞职了;或者其他各种个人原因。
作为一个项目的管理者,尤其要不断的锻炼提升自己的“察言观色” 的能力,能够尽早的发现程序员的情绪变化与心态反应,才能够采取针对性的措施。这自然是一门非常深的学问,我自己也仅仅是知道该在这方面多下功夫提高。大多数技术人员出身的管理者,真的很少有人擅长这个方面,这也是不少项目,管得不好的重要原因。
4、预防机密外泄
项目的代码、文档、计划等等,都是公司的重要资产,如果被竞争对手获得,就会给项目和公司带来巨大的风险。有些公司对此采取了非常极端的措施,比如不准上网,不准带移动存储设备,不准收发E-Mail等等。还有些公司,利用技术手段监控员工的网络通讯情况。还有大多数公司,都会跟员工签订一份或合理、或无理的《保密协议》。
对于这个问题,我是这么看的:
任何预防泄密的措施,都会给员工带来不信任的感觉,这样的感觉,永远都不会好。所以,真正要想办法,花大力气留住的,是人的心,而不是那些代码。不过更加现实一点来说,一份合情、合理、合法的《保密协议》,还是很有必要的。至于其他监控、断网的措施,除非一个公司大到像中兴那样,否则还是不要采用的好。毕竟你一个小公司,不能给人家大公司的待遇和保障,倒是让人家饱尝大公司的煎熬,凭什么呀?
5、预防人员离职
项目组关键成员的突然离职,往往是一个项目失败的重要原因。
有一次我在和当时那家公司的老板吵架。他当时在批评我,文档写得不够详细。我就顶了他一句:“写得不够详细,不是还可以问我的吗?”。
他接着说:“那要是你明天离职了呢?”。
我也接着顶:“通常的公司,都会规定离职通知时间的呀,重要的人员离职,都要提前一个月通知,并做好交接工作的嘛!”
他当时也在气头上,就说:“那你要是明天被车撞死了呢?”
这么说下去,自然是相对无言,不欢而散。不过这个对话,其实凸显了一个公司管理层真实存在的担忧心理,究竟该如何预防人员的突然离职?从我的经验来说,有两个主要的方法可以尝试,一个是结对编程,使得项目中的任何一个知识点,都不会只有一个人掌握。另一个是我曾经写过的一篇Blog,叫做《软件开发文档的持续集成》,其中心思想,就是尽可能的使得项目的文档,能够跟随项目一起生长,尽可能的使得已知的知识被写下来。
四、项目组之外的重要人物
项目要成功,项目组之外的人,也要很当心啊。
1、Stakeholder
这是项目管理中的一个专有名词,一般被翻译为:干系人;利益相关者;利害关系者;风险承担者;共同利益负责者;受益人。简单的理解,就是那些于项目成败有关系的人。他们关心项目的成败,是出于自身的利益。因此,出发点往往是善意的。当然,他们或者高高在上,或者一窍不通,或者自作聪明,或者自以为是,或者关心则乱,或者颐指气使。总之,难免会有让人气闷的时候。这个时候,重要的还是在于调整自己的心态,要常常提醒自己,心态要积极,要正面,要立足于解决问题而不是制造问题。
2、老板是最后负责的那个人
无论成败,赚钱的是他,亏本的也是他。所以,不要总觉得老板不近情理,他肯定是希望你的项目能够成功的。作为项目经理,要相信老板不是你的敌人,更不要把老板真正变成你的敌人。要耐心的告诉他项目的实际情况,以赢得老板的信任与支持,这才是上策。
3、用户只需要懂得业务,不需要懂得技术
很少有用户,同时还是技术方面的行家,所以他们往往不知道该如何提出自己的需求,如果技术人员与业务人员之间,无法相互理解和沟通,项目就会非常的难以开展。归根结底,用户没有义务理解你们的技术是怎么回事,而且,他们还是最终付钱的那个人。所以,尊重用户,尊重他们的需求,尊重他们的智力,是一个非常重要的心理建设工作。
4、部门利益与公司政治
公司里不会只有你这一个项目组,总会有其他的部门,有其他的人员,既不是你的上司,也不归你管辖。但是,一不当心,他们就可能会给你的项目制造麻烦。所以,任何时候,做人低调一些,为人和蔼一些,处世柔和一些,说话婉转一些,不要莫名其妙的得罪一些看似不相干的人,总之,真的挺难的。
狙击手是很难被考量他的工作效率的。他们一般都非常的沉得住气。最困难的技术问题,一般是由他们来解决的,最难发现和解决的bug,一般是由他们来搞定的。像这种高难度的活,基本上你不能给他们限制时间,信任他们,把最困难的事交给他们吧。
8、特种兵型
特种兵与狙击手比较容易混淆。 区别在于,特种兵喜欢搞自己的一套,而不愿意服从大局。他们真的能够完成任务,但是不太会考虑跟其他团队成员的配合。特立独行的性格,也使得他们相当的难以管理。所以,如果不是非“他”不可,那还是不要招进来的好。
9、一无是处型
莫文蔚有一首歌唱得很好:“你讲也讲不听、听又听不懂、懂也不会做、你做又做不好”。我不得不承认,我真的遇到过这样的程序员,基本上,我们都应该相信,有些程序员,其实是入错了行。
三、防人
有一句老话说得好:“害人之心不可有,防人之心不可无。”做项目要成功,总要考虑各种各样的风险,并且能够预先防范。其中最重要的风险,同样是来自于人的。要确保项目成功顺利,就要懂得防人!
1、时刻提醒自己
项目是由项目经理来带领的,所以,一个项目的成败,归根结底,该由项目经理来负责。那么,在考虑项目风险的时候,作为一个项目经理,很重要的一个准备工作,就是考虑自己:我的长处在哪里?缺点是哪些?如果由于我自己的缺点,会给项目造成重大风险,那么,这些需要警觉的可能性,有哪些?我是不是一个比较情绪化的人,会不会在做判断,下决定时,受到各种情绪的左右?
比如说,我的长处是解决各种突发的问题,但是不太能够坚持进行规范化的管理。有可能导致的问题就是:在一段时间内,我可能会沉迷于解决有趣的技术问题,而忘记了去把握整个项目的进度情况。这就会给整个项目,带来巨大的风险。
2、准确的估计别人的能力
这个前面也提过,速度快的程序员,会给人一种假象,就是效率非常高,能力非常强,容易让人对他比较放心。如果是一个夸夸其谈的快枪手,就尤其危险。同样的,如果低估一个程序员的能力,也有可能引起心理的反感,毕竟被人轻视、看低,总不是一件好事情。更加重要的原因是,在分配任务的时候,应该量才而用,分配给这个人的工作,无论过少或者过多,对于项目来说,都是不利的。
3、预防各种消极心态
每个人都有可能变成消极怠工者、刺头,似乎突然之间,他们就不肯好好的干活了。原因是多种多样的,项目太紧,压力太大;公司的激励机制出了问题,员工感到不公平;项目需求变动过于剧烈,让人无所适从;办公室政治,小道消息满天飞;对于项目经理的管理能力与技术能力表示不满;已经打算跳槽,最近就快提出辞职了;或者其他各种个人原因。
作为一个项目的管理者,尤其要不断的锻炼提升自己的“察言观色” 的能力,能够尽早的发现程序员的情绪变化与心态反应,才能够采取针对性的措施。这自然是一门非常深的学问,我自己也仅仅是知道该在这方面多下功夫提高。大多数技术人员出身的管理者,真的很少有人擅长这个方面,这也是不少项目,管得不好的重要原因。
4、预防机密外泄
项目的代码、文档、计划等等,都是公司的重要资产,如果被竞争对手获得,就会给项目和公司带来巨大的风险。有些公司对此采取了非常极端的措施,比如不准上网,不准带移动存储设备,不准收发E-Mail等等。还有些公司,利用技术手段监控员工的网络通讯情况。还有大多数公司,都会跟员工签订一份或合理、或无理的《保密协议》。
对于这个问题,我是这么看的:
任何预防泄密的措施,都会给员工带来不信任的感觉,这样的感觉,永远都不会好。所以,真正要想办法,花大力气留住的,是人的心,而不是那些代码。不过更加现实一点来说,一份合情、合理、合法的《保密协议》,还是很有必要的。至于其他监控、断网的措施,除非一个公司大到像中兴那样,否则还是不要采用的好。毕竟你一个小公司,不能给人家大公司的待遇和保障,倒是让人家饱尝大公司的煎熬,凭什么呀?
5、预防人员离职
项目组关键成员的突然离职,往往是一个项目失败的重要原因。
有一次我在和当时那家公司的老板吵架。他当时在批评我,文档写得不够详细。我就顶了他一句:“写得不够详细,不是还可以问我的吗?”。
他接着说:“那要是你明天离职了呢?”。
我也接着顶:“通常的公司,都会规定离职通知时间的呀,重要的人员离职,都要提前一个月通知,并做好交接工作的嘛!”
他当时也在气头上,就说:“那你要是明天被车撞死了呢?”
这么说下去,自然是相对无言,不欢而散。不过这个对话,其实凸显了一个公司管理层真实存在的担忧心理,究竟该如何预防人员的突然离职?从我的经验来说,有两个主要的方法可以尝试,一个是结对编程,使得项目中的任何一个知识点,都不会只有一个人掌握。另一个是我曾经写过的一篇Blog,叫做《软件开发文档的持续集成》,其中心思想,就是尽可能的使得项目的文档,能够跟随项目一起生长,尽可能的使得已知的知识被写下来。
四、项目组之外的重要人物
项目要成功,项目组之外的人,也要很当心啊。
1、Stakeholder
这是项目管理中的一个专有名词,一般被翻译为:干系人;利益相关者;利害关系者;风险承担者;共同利益负责者;受益人。简单的理解,就是那些于项目成败有关系的人。他们关心项目的成败,是出于自身的利益。因此,出发点往往是善意的。当然,他们或者高高在上,或者一窍不通,或者自作聪明,或者自以为是,或者关心则乱,或者颐指气使。总之,难免会有让人气闷的时候。这个时候,重要的还是在于调整自己的心态,要常常提醒自己,心态要积极,要正面,要立足于解决问题而不是制造问题。
2、老板是最后负责的那个人
无论成败,赚钱的是他,亏本的也是他。所以,不要总觉得老板不近情理,他肯定是希望你的项目能够成功的。作为项目经理,要相信老板不是你的敌人,更不要把老板真正变成你的敌人。要耐心的告诉他项目的实际情况,以赢得老板的信任与支持,这才是上策。
3、用户只需要懂得业务,不需要懂得技术
很少有用户,同时还是技术方面的行家,所以他们往往不知道该如何提出自己的需求,如果技术人员与业务人员之间,无法相互理解和沟通,项目就会非常的难以开展。归根结底,用户没有义务理解你们的技术是怎么回事,而且,他们还是最终付钱的那个人。所以,尊重用户,尊重他们的需求,尊重他们的智力,是一个非常重要的心理建设工作。
4、部门利益与公司政治
公司里不会只有你这一个项目组,总会有其他的部门,有其他的人员,既不是你的上司,也不归你管辖。但是,一不当心,他们就可能会给你的项目制造麻烦。所以,任何时候,做人低调一些,为人和蔼一些,处世柔和一些,说话婉转一些,不要莫名其妙的得罪一些看似不相干的人,总之,真的挺难的。