IT业的项目实施情况一直很不乐观。美国Gartner Group公司于美国时间2000年11月14日通过其下属的Tech Republic公司发表了有关IT项目的调查结果。该调查是以北美的1375个IT专家为对象实施问卷调查进行的。根据此调查,IT项目中有40%失败,这些项目的平均成本每年花费100万美元。
在我国,软件项目的失败几乎成了普遍现象。由于认识的误区,许多企业领导盲目认为软件业是低成本(在他们眼里,就是几个人员的工资)、高回报的产业,丝毫不考虑风险,鼓吹软件工程师无所不能,用户和市场人员的无知和胆大是的银弹综合症的病因;由于观念的落后,更多的用户则认为软件在中国是不值钱的,对他们来讲,一个应用软件要花掉上百万元简直是不可思议的事,非常宏大的企业信息化建设项目,却投资很少的钱,早早给盲目胆大的软件企业挖下了陷阱;由于经验的不足,有许多项目在需求调研阶段就没有明确的范围或偏离了方向,进度、资金、工作量估计严重不足,而业主往往在项目交付后才学会提需求,使项目没完没了;由于管理水平的低下和软件本身的智力密集性,研发过程很难控制,个人英雄主义普遍存在,致使软件项目的成败把握在个别人手里… … 因此,许多软件企业慨叹,我们做一单,死一单,做一个企业,丢失一个行业,总结起来,总是教训多,经验少。
众多IT企业经过多次失败后,逐渐认识到,软件项目实在是失败不起了。尤其是,在多种媒体飞速发展、信息传播空前快捷广泛的今天,一个有影响项目的失败可能会一夜之间传遍全球,这对承揽该项目的IT企业来讲无疑是灭顶之灾。
企业需要成功的项目
项目对企业的意义有如庄稼对田地的重要。首先,项目是知识转化为生产力的重要途径,知识产生新的创意,形成新的成果,新的成果需要一个项目的启动、策划、实施、经营才能最终变为财富,否则,知识永远是躺在书本上的白纸黑字。因此,从知识到效益的转化要依赖于项目来实现,企业买专利、搞预言,最终都需要通过项目实现。其次,企业的生存发展需要以成功的项目为载体,企业要通过一个一个成功的项目来完成她的使命,实现她的发展目标和利润、扩大她的规模、强化她的品牌效应,锻炼她的研发团队,留住她的人才。第三,只有成功的项目才能使客户满意。在飞速发展的IT行业,一个企业要在激烈的竞争中立于不败之地,要持续发展,就必须持续地拥有客户,要追求客户的忠诚。只有得到满意产品和服务的时候,客户才会忠诚。如果一个项目很好地满足了客户的需求,客户会把有二期、三期工程也交给我们,还可能把别的相关项目也交给我们,甚至于给我们做广告,给我们推荐她的同行单位。成功的企业是以成功的项目为基础的!越来越多的企业意识到,要树立精品工程,没把握的项目宁可不做,有把握的项目一定要尽力做成功。
有效的管理是项目成功的必要条件
大多项目失败在缺乏有效管理上。美国Gartner Group公司的调查显示,为了降低失败比例,强化项目管理以及组建项目监视小组的方法较为有效。但是,有60%的企业没有实施项目管理,有61%的企业没有设立监视小组。
有资料把软件项目失败的原因归纳为四大类:项目组织原因、缺乏需求管理、缺乏计划与控制和估算错误。这四大类原因无一不在项目管理的范畴之内。有效的管理虽然不是项目成功的全部,但缺乏管理的项目肯定是成功不了的。管理学的创始人是彼得·德鲁克说过:“如果没有管理,那也就只会有一群乌合之众,而不会有一个机构。”
IT业的高速发展决定了项目管理的特别地位
业界有一个非常出名的摩尔定律:每过18个月,集成电路的价格降低一半,性能增加一倍。计算机硬件性能的不断升级、网络传输速度的不断提高和客户需求滚雪球式的发展要求企业不断提升软硬件集成能力。信息技术的飞速发展,导致了IT行业用户需求的复杂性、多变性和不断发展性。原来的财务软件的功能就是进行简单的帐务处理,目前的需求就发展为以供应链为线索的ERP系统;原来企业一个简单的网站(可能就几个宣传页面),现在要发展为集电子商务、远程维护等功能于一体的复杂的企业门户系统;两年前,一个简单的处理客户来电的呼叫中心,现在的发展方向是集传真、会议、EMAIL、Web互动、视频、声讯等多种媒体于一体的客户资源管理系统(CRM),甚至还要和电子商务进一步集成。这种日趋复杂的需求是传统的崇尚个人英雄的作坊式生产的终结者,大团队的工厂式生产势在必行,甚至需要我们和第三方、第四方一起合作来满足用户的需求。那么,怎么组织一个协调、高效的团队,做到项目成功,客户满意,企业和合作伙伴互利双赢?答案是:专业的项目管理。
另一方面,激烈的竞争又要求企业,只有快速响应市场、缩短产品周期才能盈利。不仅如此,多家的竞争还带来了残酷的价格大战。据有关统计,目前我国从事教育软件研制和开发的厂家约1500余家,市场上销售的教育软件大约在3000种以上,其竞争之激烈可想而知。面对激烈的竞争,企业怎么保证既快速,又低成本地响应市场的需求?只有依靠行之有效的项目管理。
强有力的过程管理是软件项目质量保证的必要条件
众所周知,软件开发项目是智力密集型的项目,其质量保证历来让人大伤脑筋。软件项目的质量保证不像传统制造业的质量检查,软件项目大多是投入巨资来实现一个特定的应用软件,如果在工程即将竣工时再进行质量检查与确认,显然为时已晚。所以,决定软件质量的不仅仅是人和技术,过程控制被提到越来越突出的地位,如果把软件开发比作一个三条腿的板凳,人、技术、过程这三条腿缺少任何一条,板凳都是废品。严谨的过程控制不仅可以在每个阶段回顾和纠正项目的偏差,识别项目的风险甚至果断中止项目,而且可以将人才流动所带来的不利影响减少到最小。
项目管理知识体系对项目生命过程进行了明确划分,并将各个阶段的所做工作及合理安排部署这些工作的方法都纳入其中。只有全过程地项目管理才能很好的把握项目阶段性成果,识别项目风险。
成功的项目管理依赖于项目团队的人员素质
项目管理作为一门新兴的学科正在全球范围内飞速发展,当前国际项目管理的特点是正朝着全球化、多元化、专业化发展,社会上逐渐形成了证书制热、培训热、软件热等三大热点,企业领导者对项目管理的渴求空前高涨。但有一个危险的倾向,就是有的企业领导错误地把企业的全部希望寄托在咨询机构身上,幻想咨询师针对企业的情况开一济灵丹妙药,一切问题都迎刃而解了。这种想法忽视了企业自身人员素质的重要性,事实上,专业的项目管理人员和受过专门培训的研发人员才是项目管理成功实施的基础。
项目领导班子的素质
在国内IT界,企业中绝大多数的部门经理和项目经理,都是对企业有过突出贡献的技术专家提升上来的。到了经理岗位上,他们角色没有及时调整,工作重心没有及时转移,管理技能没有提高。项目经理只关心自己的专业工作,可能使他的目光从企业的大目标转移开来,把团队的工作置于脑后,换句话说,他们更像兼职管理者。软件项目的特点决定了外行管内行比较吃力,所以项目经理出身技术专家本身是件好事,但必须意识到, 这时,不能以他个人对企业作出的贡献和他个人的专业技艺标准来衡量他的成就,而要以提高团队的战斗力和凝聚力为使命,要强调只有团队的成功才是个人的成功。
搞研发的项目经理,除了要有一定的专业背景和开发经验外,还要具备专业的项目管理知识和技巧。要把握项目本身的一些规律,如时间、质量、成本三者间的制约关系等;要掌握多种项目管理的方法和工具,如项目分解、项目计划、网络计划技术、进度估计、费用估算、风险评估与分析、项目控制等;还要具备管理者应有的管理技能和领导艺术,如激励方法、目标管理、绩效考核、沟通技巧等。
研发人员的素质
光有一个高素质的项目经理,而项目团队中其他研发人员的素质普遍低下也无济于事。因为项目中大量工作是普通研发人员完成的,如果他们没有必要的技能,或者不能准确领会领导的意图,怎么可能作好项目?国内的许多程序员,甚至不知道编码前还要设计,打个腹稿就去写代码,写完就试,错了改过来再试,试完了也不测试就提交用户,根本没有流程的概念,整个过程不留一句文档,曾经有位工程师跟我讲写文档就是文员干的活,他才不干呢。
大家知道,印度的软件业发展独树一帜。为什么呢?我国一个知名度很高的IT企业在印度成立了一个研究所,在当地招聘工程师时进行笔试,让前来应聘的程序员用C语言实现同一个功能,结果发现,众位应聘者写出来的代码如出一辙,连空行、缩进都惊人的一致。如果换了我们国家的程序员,则可能十个人十种写法,甚至还有人故意用高难语句实现,以显示他的水平。一位资深中国程序员在印度工作过一段时间后感慨:"我从事软件开发已有九个年头了,可我现在仍然不能说自己是个合格的软件工程师,更不用谈 什么合格的管理者?quot; 一份报道说,瑞士洛桑一权威机构把中国的科技综合竞争力从原来的第 十三位调到二十多位,原因是他们调整了一些评估标准,其中有一条是中国合格工程师的可获得性非常低。
所以,教程序员写规范的代码、学研发的流程、学写文档、学书面沟通、学按设计编码等基本技能不仅是需要的,而且是迫切的。
优化人才环境,提高从业人员素质是IT产业腾飞的必由之路
提高企业的人员素质有两个途径,一是引进高级人才,一是开发人力资源。很多企业喜欢来快的--挖人。挖人的确是一个快捷有效地办法,但毕竟是短期行为,有四个缺点。第一,代价高。没有足够诱惑的薪资人家不会跳槽,挖来挖去结果把工资水平都抄高了,前段时间跟几个IT业的同行聊天,他告诉我说有好多软件公司都不盈利,甚至亏损,员工的工资却很高,由此可以略见一斑。第二,风险高。挖来的人可能是技术骨干,脾气较大,他的跳槽导致原公司的巨大损失,如果有一天新公司让他稍感不适或外来有更高的诱惑,他照样跳槽,那时同样给新公司带来很多不利。第三,挖来的人不一定适应。且不说专业方向上的细微差别会导致一个专家变为外行,即使一个很真正的高手,在新的团队里也有一个适应磨合过程。第四,不利于地域人才环境。我们说一个地域的同行从业人员构成这个行业的人才环境。A企业的领导以为只有他们单位的研发人员没有研发流程概念,过两天招来一个来自B企业的程序员,结果发现他编程也是不搞设计的,这就反映了人才环境的问题。如果把人才环境比作森林的话,一味挖人就是只砍树,不植树,总有一天会出现青黄不接的。
人力资源不同于其他资源的突出特点是伸缩性很强,人力资源越开发,人员能力越强。培训是人力资源开发的重要手段。国内某著名通讯公司有一句口号--不相信空降兵,意思是领导干部、技术骨干注重从基层培养,没从基层锻炼的员工不予提升。只有企业自己培养的员工才真正符合企业自身的要求,对企业有深入的了解,才适合当企业领导。有的老板总担心,我辛辛苦苦把员工培养成了,他要跳槽怎么办?首先,企业培训员工要专,要有针对性,让他具备他所在岗位的能力要求就可以了,不要什么知识都培训,这样他的选择面相对较窄,跳槽的机会也就少了;其次,对知识型员工要站在认同企业价值观和企业文化的层面来管理,如果他对企业文化不认同,道不同,不相谋,也没什么好挽留的;第三,退一步讲,一个训练有素的员工跳槽了,也是对人才环境作了贡献,如果每个企业都树立培养人才的思想,人才环境得到改善,企业新招的人员素质也会提高。
由此可见,只有每个企业都注重人力资源的开发,才会提高从业人员的总体素质,才会优化地区人才环境,进而推动IT产业的整体发展。
IT企业如何培养人才
上面谈了企业培养人才的意义,总结一条,企业置身于人才环境之中,要为环境的优化作出贡献,人才培训绝不是少数企业的事,像人人都要有环保意识一样,人才培训需要大家参与。但有一点可以肯定,早一点注重项目管理和员工培训的企业会得到优先发展。
谈到企业如何培养人才,首要的是要分层次培训。如企业文化的培训、专业人员的培训、管理层的培训,决策层的培训。
企业文化的培训
IT企业大多是知识型员工。知识型员工个人思想型强,传统的"管"的办法对他们并不很有效,而以启发、说服、团结,最终统一在以企业文化和价值观为纲领的利益联盟层面上管理才能使员工自我约束和自我提高。让员工认识到工作干不好,不仅是对不起企业和客户,而是对不起自己。在好的企业文化下,员工会自发放弃公休日,努力自我开发管理,自我修炼,自我超越。
软件开发需要彻夜不睡的钻劲,所以,IT业的企业更需要企业文化培训。企业文化培训是大范围的,不分岗位和职别的,凡是企业员工都要学习。
业务知识培训
如果说企业文化培训是教员工学会作企业人,那么,业务知识培训就是教员工学会做企业事。对新员工,要根据岗位要求和员工自身水平的特点,针对性地进行培训,以帮助他尽快适应本职工作,很多单位沿用了国营企业传统的师傅带徒弟的办法,收到一定成效。问题是,那些带徒弟的师傅们本身水平有限,搞研发全无章法,写文档敷衍了事,怎么可能带出优秀的徒弟?所以,强化业务人员素质训练,花大力气雕琢研发工艺流程、树立全员质量意识才是真正的出路。可惜的是,很多企业的老员工整天疲于救火,忙于犯错误,哪有时间进行培训?
管理层和决策层的培训
对管理层的要分为团队管理的培训和业务管理的培训。前者是如何管人,如亲和力、影响力、激励、考核等;后者是如何管事,如计划方法、目标管理、风险评估、费用、进度控制等。尤其是后者,包含着许多专业如统计学、系统论的思想和方法,是当前项目管理人员最为缺少的东西。
决策层的培训主要是意识培训,因为决策层把握着企业的发展方向。这方面就不多谈了。