软件项目管理心得

发表于:2008-09-23来源:作者:点击数: 标签:项目管理心得软件
关键字:素质 程序员 心态 工资与福利 必备素质 对软件项目的管理者来说,他最应该关心的是能否按时优质地交付产品的问题。在计划软件 开发 的路线时,他必须首先考虑软件基本功能的实现和工程交付期,其次,才考虑产品的卖点,许多工程失败的原因就在于设计
关键字:素质 程序员 心态 工资与福利
      必备素质

      对软件项目的管理者来说,他最应该关心的是能否按时优质地交付产品的问题。在计划软件开发的路线时,他必须首先考虑软件基本功能的实现和工程交付期,其次,才考虑产品的卖点,许多工程失败的原因就在于设计者没有时间概念,工程前松后紧或增加了许多次要的技术特征,这样反而对产品质量形成了威胁,总之,最重要的是懂得统筹安排各个环节。

      面试程序员

      理想的方法是由开发小组的其他成员一起来面试,如果谁看不上眼,他都不能加入,否则以后会有很多麻烦。这样做的另一个好处是借此机会互相认识一下,经理一定要把新员工介绍给大家,并且小组每个员工都应该过来握手介绍自己,这是起码的招聘礼节。

      程序员需要关心尊重

曾经有个例子,某公司开发人员王某由于刚开始学习编程,技术水平差一点,常常受到经理的“另眼相看”,每次软件出现了问题都怀疑是他的原因,老开他的低级玩笑,这位员工会有怎样的表现就可想而知了。经理通过这种手段能够迫使这一位自动辞职吗?非也,这位员工后来工作非常不负责任,把代码写得既长又重复,且在代码中留下大量的隐患,此时,经理却反而不敢过份得罪他了(否则,留下的巨量代码很难维护)。如果认为某人不适合目前工作,为何不另请高明?既然已经请他作了这件工作,就得尊重他。不能指望开发人员在非工作场合谈吐得体、办事周到、眼观六路、耳听八方,正所谓“尺有所短,寸有所长”,例如要求技术人员在酒席宴上象公关小姐或公关先生一样举止适度,从来不会有好的效果。软件人员普遍喜欢自由而宽松的工作环境,最好不要做过多的无谓的规定,例如不准迟到、上班必须换拖鞋,否则罚款等等。如果确实有人经常上班迟到,工作不认真等,首先应该了解原因,此时多作思想工作是必要的,许多公司的经理们认为“思想工作”是过时的东西了,其实不然,私企职工背负的心理压力其实很重。他们特别需要有人关心,特别需要心理上的“减负”。管理需要合理地使用资金,有的公司在不该花钱的时候花钱,在需要花钱的时候节支,结果却事倍功半。例如,员工向公司提出买台电视、热水器、电风扇等生活设施(甚至是厕所的纸巾)时,公司强调节支,而在组织大家集体乘飞机到外省旅游这种事情上却舍得花钱,这种现象比较普遍,效果却不一定好,因为员工会认为公司集中花一笔钱是在收买人心。所以,关心职工的事情需要过细地作。

      心态调整问题

      作坊式作业的时候,软件是由一两个程序员写的,软件写完了,虽然在产权上这个软件或许不是自己的,但程序员心里会觉得这个软件就是自己的,对这个软件的感情就象对自己的儿子一样,关于这个软件一切成败荣辱都被看成是自己的,在这种心态下,程序员会不分白天黑夜地超常投入。而现在的软件一般都是十几人、几十人甚至上百人协作完成,软件写成后究竟是谁的?有了荣誉是谁的?都不是太明确,同样,软件有点毛病也不专是哪个人的,而是大家的,既然是大家的事情,那就让大家来做,我为什么多操那个心?如何在大协作的背景下最大限度地提高个人的积极性很值得仔细研究。设计部分大家参与、多开会交流、让程序员直接倾听用户对自己工作的意见等方法不妨一试。

      工资与福利

      如果公司给每个人的薪水相差较大就会引起混乱。例如,某公司高薪聘请了一位高人,却导致公司许多职工的消极怠工,最后使公司陷入绝境。曾经是非常惊人之举,最后不了了之!工作成绩与奖金挂钩似乎无可非议,可是某外企的做法却产生了意想不到的效果。经理在每次周会上都给每个人机会,让他说出本周内做了哪些工作,最感得意的成绩是什么,原则上谁做得多,就给谁奖金多,可是这种竞争却造成了同事之间的猜忌和隔阂,本应共享的技术开始保密了,本属别人的错误也不好指出了,本属自己的错误也开始狡辩了。
      公司应该负责提供良好的膳食,有些小公司不提供午餐和晚餐,这时,公司里那些“无家可归”者吃饭就成了问题,有家300多人的公司,食堂厨师是老板的亲戚,每天做出来的饭菜质量很差,许多新应聘的员工吃了这种饭食马上就想跳槽了。
      项目奖金不能平均分配,但也不能只给项目经理一个人,做软件仅仅有钱是远远不够的,还需要培养程序员对企业、对产品的感情,后进来的人是在为已有的软件加功能,是在维护软件,他并没有权改造软件,只有权改BUG,这样的工作很繁复,没有什么新意,具有牺牲的意义。所以应该给这些程序员高待遇,不分资历想办法多给他们一点荣誉。如果不是这样,比较高级的软件人才就很难留住。
      技术最强的人可以拿最高的工资,却不一定要做项目经理,因为他往往缺乏管理和项目调控的能力,而软件大规模工程化研发最需要的恰恰不是一个技术骨干自己能多做多少,而是通过有效的管理,调动大家的积极性,把团队的力量发挥出来,所以,应该选具有丰富开发经验的管理型人才做项目经理,但是,如何平衡技术骨干和做管理的项目经理之间的关系?可以让技术骨干在待遇上得到平衡,让技术骨干和做管理的项目经理拿一样多的工资,甚至更多,而且在技术问题上充分尊重技术骨干的意见。

原文转自:http://www.ltesting.net