风险无处不在,而且几乎无可避免。作为项目经理,我们不能乞求谁会给我们一个安全的项目。事实上没有真正意义上的风险,项目注定是要失败的:全无风险的同时,它们也几乎全无价值。这些项目我们大可不以理会,给自己节省一点时间和精力,去做些真正有价值的事。正视无可避免的风险,加以适当的识别、分析、制定计划对其管理与应对,使项目能够更加好地达到目标。
我曾在SOVO担任项目经理,项目关于SOVO内部信息共享与考勤。我们的工作一直受不断更变的需求所困扰。在最初的计划中,由于经验不足等原因,需求分析的工作不足。问题的在于初期的计划中根本没有考虑到公司的内部项目的需求会不断更变,导致项目的时间、范围、成本难以控制。虽然最后项目终于完成,但已大大超出了计划的成本,严格来说项目可以说失败了。
我们选择的系统开发语言是现在已经成熟的网站设计语言JSP(Java)+Servlet。采用基于 J2EE平台的MVC(模型(Model)-视图(View)-控制器(Controller))模式的应用架构框架---Structs+Spring架构, 主要是采用Servlet和JSP技术来实现的。而在数据库访问技术方面:应用程序采用JDBC连接数据库,并采用数据库连接池技术。连接池技术可以减少应用程序与数据库连接的时间,提高数据总体访问速度。数据库采用Microsoft SQL2000,WEB服务器使用TOMCAT5.0,系统采用WINDOWS 2000 SERVER,开发软件为ECLIPSE 3.1。
本项目从2005年10月11日开始,计划在12月11日两个月时间完成项目。在任务分配方面采用两个经理,一为执行经理,主要负责需求分析,客户联系及相关的文档整理,二为技术经理,主要负责项目开发中的项目开发规范、采用技术、解决方案等技术问题。在开发前期的需求分析中,由于客户没有及时提供资料,导致需求分析时间延迟两个星期,故整个项目延迟两个星期。在执行经理进行需求分析的同时,技术经理也在进行新技术的学习与框架的架设,其他项目代码编写成员也作相关技术的学习。而美工则进行首页及二级页面的设计并确定客户的需求。
经过一个月时间的努力,完成了需求分析,系统概要设计,页面设计,框架也架设完。但由于在短时间未能灵活使用新技术原因,同时也因为部分小组人员的辞退,没有在计划的两个星期中完成代码编写工作,而用了三个星期。剩余的一个星期作相应的系统测试和调整。
最后由于期末项目组人员要进行备考,不得不停止项目最后开发阶段。直至2006年2月28日才重新进行开发。计划在2006年3月28日完成项目。前两个星期重新设计了一些功能模块和修复上一学期遗留下来的BUG。后两个星期是进行系统测试并修复相关的BUG。最终经过两次回归测试完成了整个项目。
无论用何种方法或模式开发IT项目,风险总是比较高的,这正是IT行业有高利润的原因。在众所周知的项目管理九大知识领域中,个人认为风险管理在每一个其他管理范围内都有体现。可以说项目经理的工作就是在与风险打交道。风险管理对项目的成功有很大作用。
风险管理过程的重要作用在于风险效率。这也是不该把风险管理看做是“附加内容”或“辅助内容”,不该把重点放在“实施风险管理是不是值得”这个问题上的主要原因。风险管理应该被看作是与项目管理融为一体的“内在内容”,贯穿于项目开发的每一个过程中,是对基本项目计划过程的扩大和完善。实施风险管理要考虑的关键问题是:在这种情况下,应该以何种方式正式实施多少风险管理才最合适?
在进行风险管理时,所选择的风险分析方式必须