保证了信息沟通的及时性和准确性。
(3)不确定性。IT项目的不确定性是指IT项目往往不能完全在规定的时间内、按规定的预算由规定的人员完成。IT项目中各项活动往往受到人为因素的影响,而难以精确预测。IT项目中人员流动性大,这很大程度上影响了开发的进度。人员分工不明确也导致项目存在不确定性,另外,在项目开发过程中还会遇到各种始料未及的“风险”,使得项目不能按原有的计划来运行。以上种种因素直接导致IT项目的计划和预算在项目执行过程中与实际情况往往会有很大偏差。
因此,针对以上IT项目中的特殊性,我们认为IT项目管理不同于一般工程项目管理。最显著的差别是,IT项目中还必须从范围管理中特别提出一个需求管理的概念,而且IT项目中的需求管理是做好一切IT项目管理的基础。建立在优秀的需求分析基础上,适合客户需要,真正了解使用者真实需求是一个优秀软件诞生的基础,更是一个IT项目成功完成的最基本保证。
2 IT项目中的需求管理及其存在的问题
一个完整的IT项目需求管理一般包括业务需求、用户需求、功能需求、非功能性需求和需求分析报告等5个主要内容[3] 。
其中业务需求来源于业务发展的需要,它主要针对不同行业的业务特点,有前瞻性地提出行业的业务发展目标,通常在项目定义与范围文档中予以说明;用户需求来源于用户的实际工作的要求,描述用户使用产品必须要完成的任务,应在使用实例或方案脚本中予以说明;功能需求来源于业务部门管理的流程及思路,描述了系统展现给用户的行为和执行的操作等,它包括产品必须遵从的标准、规范和约束,操作界面的具体细节和构造上的限制等;非功能性需求来源于用户的使用习惯及爱好;需求分析报告是在项目IT分析人员结合前述的内容进行汇总、分析及提炼,描述软件系统所应具有的外部行为,在开发、测试、质量保证、项目管理以及相关项目功能中起着重要作用[4] 。
可见IT项目建设的需求源头来自于系统的使用者,即系统用户,项目建设应按照系统使用者的要求来建设。需要开发方与客户方引起足够的重视,投入足够的人力来完成各阶段的工作,提交满足要求的需求分析报告。
但目前很多企业普遍存在的这样一种现象 [5] :项目的客户(使用者)一方面工作很忙,竞争压力很大,认为自己只要将问题提交给开发方,剩下的工作就与我无关了。甚至认为没有必要在项目的建设中与IT人员沟通,或者经常三言两语就把开发人员“打发”了。业务人员的笼统、感性的描述对开发人员就像是“雾里看花”。 IT项目开发人员受项目时间限制及无法取得“真经”就凭自己的理解来开发系统,最终等到系统交付时,一方面客户不满意, 另一方面IT人员一副吃力不讨好的哭相,往往会导致系统难以上线,或上线后使用困难。特别是在一些开发方没有经验的领域,这一矛盾尤为突出。
众所周知,如果需求有误或者需求分析不到位,整个IT项目的控制将变得没有任何意义。有统计表明,IT软件项目中40%~60%的问题都是在需求分析阶段埋下的“祸根”。所以说从某种意义来讲,IT项目的成功基于项目需求管理的成功,而IT项目的需求管理有别于其他项目管理的重要一点是,需求管理可能贯彻整个项目实施的始终。
3 案例分析及解决方案——某中小企业ERP系统开发
案例中的中小企业是一家实力雄厚的港资企业,现已发展成为一家专业从事毛织行业的大型公司。由于公司规模不断扩大,业务不断增长,现有管理信息系统不能满足当前各方面需要,因此委托笔者所在开发团队开发一套ERP系统。
3.1 系统开发实施初期双方沟通存在的问题