人才,出台了年底双薪以及工龄工资增长制度。后来,公司随着人员的增多,立马就一刀切,废除了双薪和工龄工资,这就大大伤害了老员工的积极性。本身老员工的起薪就不高,加薪也不容易,现在收入明显锐减,也没有补偿措施,自然人心涣散,好多骨干纷纷跳槽,导致了项目青黄不接。
三、管理风险
软件研发项目最重要的还是在管理,项目经理的综合实力基本决定了项目的成败。项目经理要有敏锐的嗅觉,要有很强的对客户、领导、技术、团队、资源的把握能力。项目经理要有对团队的绝对把控。说实话,项目经理没有点技术实力,是很难带领软件研发团队的。项目经理在客户面前要敢于说不;在领导面前要敢于要资源、要支持;在团队面前,要以身作则,奖罚分明,爱护每一位成员;要熟悉业务,了解技术。要培养出好的项目经理不容易,这是公司的职责;要培养出好的项目团队也不易,这需要全方位的协作。在软件行业,跳槽是很频繁的。在我周围的朋友或者同事,其跳槽最大的因素不在于薪水,而是职业发展空间。如果没有一个良好的职业成长体系,是难以留人的;其次是领导的魅力,软件从业人员都是知识型人才,起点较高,在马斯洛需求层次理论里属于第四层次,大部分追求的是获得尊重和欣赏。
四、技术风险
从这么多年的经验来看,技术风险并不可怕。技术风险往往来自于技术决策者,技术决策者要全面评估技术可行性,确定技术方案,只要评估准确了,就为项目的后续工作打下了坚实的基础。在决策过程中所预计到的关键技术点,都要有解决思路或预案。还有就是对业务需求的掌握和理解程度,理解的偏差会严重影响项目。另外,成熟的技术架构和构件,也是同类项目的一个主要的技术保证。
这里留给我印象最深刻的有两个项目,一个是早年做的数据采集分析软件,还有一个是两年前参与的某政府采购平台。数据采集分析软件最初采取的语言是Java,Java在服务端开发很快,但在客户端UI开发上相对弱些,随着开发的深入,越来越不能满足客户的要求。在第一版发布后,痛定思痛,改用delphi开发UI,幸亏转型及时,之后涉及很多统计报表,如果用awt/swing来做,不可想象。再一个就是某政府采购平台,客户要求全部采用开源技术,如果是成熟的开源技术还好说,关键是要用刚刚兴起的开源技术,版本不断再修订,且不是太稳定,资料也很少。做些简单的还能应付,但对于企业级的应用,比如工作流、全文检索、表单定制等来说,就不行了。况且时间和资源投入都不允许做基础性研究。之后,实在扛不住,好歹说动客户,引进了成熟的开源技术,才勉强过关。
风险无处不在,既有消极的也有积极的。风险是有阶段性的,并且性质是可能会转变的,就像塞翁失马,焉知非福。风险管理最重要的还是要有风险意识,领导没有意识,员工没有意识,再多的风险管理方法和技术都是空谈。
其次正如历史在不断地重复一样,项目也如此,要善于总结。软件研发项目随着不断地积累,会越做越好。项目知识库的建立,绝对是风险管理的重要举措。
以上是笔者的一些心得,不管写得如何,希望对读者有所帮助!