企业信息化项目管理的困惑与对策.doc
企业信息化项目管理的困惑与对策 摘要 :为了充分满足本单位的业务需求 ,降低软件开发成本 ,很多具有软件开发实力的企业纷纷自主开发软件项目。企业自主开发相比专业化的生产具有很多优势。但由于用户水平和开发人员技术能力、项目管理能力的制约 ,依然存在进度失控的局面。我们结合企业自身特点 ,采用快速开发策略进行项目管理收到了良好的效果。 关键词 :信息 ;项目管理 ;快速开发 随着信息技术的飞速发展 ,企业的管理者越来越清晰地意识到信息化建设是企业加强科学管理、推动技术创新、提升核心竞争力的重要手段。由此 ,信息化管理部门在企业中的地位也日趋突出。为了促进管理创新 ,有效解决管理中的突出问题 ,提高企业市场竞争力 ,设计开发与本企业管理业务密切结合的应用系统成为企业信息化部门的一项重要工作。 同软件商业公司的命运相同 ,企业的信息化部门在自行设计开发本公司的软件系统时 ,也常常面临着进度失控的处境。虽然 ,这里面的原因很复杂 ,既有用户方的责任又有软件开发者的责任 ,但是 ,无论如何 ,众所周知 的事实是软件没有按照既定的计划完成。也就是说 ,项目管理失败了。 如何通过正确的开发策略和原则 ,避免典型错误 ,有效地进行风险管理 ,是项目经理们急需解决的问题。 1 概述 1.1 信息化项目管理 信息化项目管理是针对信息化项目 ,采用项目管理的基本方法并结合信息化特点开发的管理方法 ,对信息化工程项目进行全面的计划、跟踪、控制 ,保证项目本身和项目的结果达到预期目标。 1.2 什么是快速开发 所谓快速开发策略 ,是通过应用详细规划 ,发挥人的积极性 ,有效提高质量 ,减少重复工作等实践来达到快速开发的 目的。 实现快速开发 ,可以采取以下四种策略 :避免典型错误 ;打好开发基础 ;管理风险 ,以避免灾难的发生 ;三种面向进度的实践 (面向速度的实践、面向进度风险的实践、面向可视化的实践 )。 一个项目可能的最佳进度取决于以上四点。 1.3 影响开发速度的四个关键要素 任何一个项目 ,都有四个重要因素 ,即 :人员、过程、产品和技术。 软件开发中的开发人员是最大的资源。对人员的配置、调度安排贯穿整个软件过程 ;人员的组织管理是否得当 ,是影响对软件项目质量的决定性因素。 过程几乎与人员一样是影响开发速度的一个 重要因素。关注过程 ,可以解决工作效率低下、工作目的交叉重复的现象。 产品是项目的结果 ,产品规模和产品特性提供了缩短开发时间的机会。 选择有效的工具并管理好由此所带来的风险也是争取快速开发主动权的关键之一。 1.4 快速开发的一般分类 不同场合会有不同的开发时间承诺。不同开发方式要考虑的权衡数据如上表 : 2 企业自主开发软件项目的优势 相对于软件供应商 ,企业自行设计开发软件可以形象地比喻为裁缝量体裁衣、度身制作。这样做出来的服装 ,款式可能不时尚 ,做工可能不完美 ,但是可以根据自己的喜好随 意选择面料和颜色 ,可以根据自己的体型特点调整比例 ,可以根据自己的要求增添口袋、花边等装饰 ,等等。企业自主开发软件项目有以下几大优势 : 可以大幅度降低软件开发成本。除支付开发人员正常的工资和奖金外 ,无任何额外人工支出。 开发人员作为企业的一名员工 ,了解企业的文化、经营策略、经营模式、组织机构、业务流程以及信息化水平、对项目的预期目标等等 ,能够站在企业的立场 ,根据项目最终能给企业带来的效益 ,把握项目时间进度和计划成本 ,更好的满足用户需求。 开发人员与用户之间易于沟通。由于供职于同一个公司 ,彼此之间的 熟悉程度总会大于陌生人。 易于项目后期的维护与改进 ,能做到随时解决项目出现的任何问题并及时整改。 3 企业信息化项目如何实现快速开发 为使软件项目开发获得成功 ,关键问题是必须对软件项目的工作范围、可能风险、需要资源 (人、硬件 /软件 )、要实现的任务、经历的里程碑、花费工作量 (成本 )、进度安排等做到心中有数。但由于认识的误区、经验的不足 ,有许多项目在需求调研阶段就没有明确的范围或偏离了方向 ,进度、资金、工作量估计严重不足 ,用户往往在项目交付后才学会提需求 ,使项目没完没了。而开发技术人员由于管理水平的 低下和软件本身的智力密集性 ,研发过程处于失控状态。 3.1 企业信息化项目管理面临的困难与困惑 3.1.1 混淆了技术与管理之间的关系 在计算机技术和网络技术日益普及发展的今天 ,信息化建设水平已成为一个部门、一个企业的现代化管理标志。但是 ,受对信息技术了解程度的制约 ,部分用户不知道哪些目标计算机能够实现 ,而哪些目标计算机不能实现 ,在没有理顺管理关系的前提下 ,企图通过信息化技术化解管理上的矛盾。基于这种想法提出的项目需求 ,由于流程不清晰、任务不明确 ,往往使管理上的矛盾更加突出。 3.1.2 项目需求目标不明确 用户往往对信息技术了解不是很多 ,但是为了迎合当前信息化建设的热潮而提出项目需求 ,但这种需求没有明确的要求和目标 ,需要项目开发人员协助其整理思路 ,与其耐心沟通。 3.1.3 项目周期要求短。企业中的一部分项目来自于生产、管理、工艺等方面的改革或创新 ,为了尽快体现改革创新成果 ,用户需求往往比较急 ,要求开发的周期短 ,以至于需要将项目的几个管理阶段同时进行。 3.1.4 工期管理更加困难。由于企业组织机构精简 ,即便专职的信息化技术人员也不一定是专职的程序员 ,或是一个项 目组的成员 ,往往在肩负一项开发工作的同时还要负责其他项目的维护工作 ,精力无法集中在一个项目上 ,从而不能严格按照时间进度完成计划。 3.1.5 知识结构老化。企业的项目开发人员由于缺少必要的培训 ,对系统内核、开发工具没有更深入的研究学习 ,会导致开发的项目技术含量低 ,难以保持持续发展的动力。 3.2 实现快速开发的策略 企业的信息化项目管理是一项复杂的活动 ,涉及到单位的管理、技术、人员等各方面 ,影响因素众多 ,关系复杂 ,其设计、开发、实施都需要进行有效的管理 ,才能保证项目的成功。 企业自主开发项目 ,主要依赖于自身的信息技术人员。作为企业的一个部门 ,专职从事软件开发工作的人员相对较少 ,根据这个特点 ,再结合 Steve McConnell的方法 ,我们从以下几方面改进了管理。 3.2.1 人员管理 信息化项目建设中 ,项目团队组建是一项重要任务 ,项目的成功主要取决于人员的素质、人员的配合与人员的管理。根据人件 (peopleware)的研究结果 ,表明人件比其他因素对软件性能与软件质量的影响更大 ,而且 ,整个项目团队的效率差异变化在 3:1~5:1 之间。 企业的项目主要是围绕企业的业务进行 ,所以对于业务的 了解可能更加重要。因此 ,在组建项目开发小组时 ,应根据项目的特点进行不同模式的组合 ,并尽量组成较小团队。 针对相对较大、需要多个部门协作完成的项目 一定要有企业的主管领导担任项目组的组长 ,协调各单位的利益关系 ,解决不明确的需求定义 ,负责整个项目的决策 ;相关单位各指派一名全面了解业务的工程师或业务员负责沟通相关的业务问题 ;视编码量大小 ,确定 2~3 名技术工程师 ,其中一名为主程序员 ,负责最终成果的完整性 ;一名作为协助程序员 ,负责部分代码编写、文档编制、程序调试等 ,并作为联络员在业务与技术之间进行沟通 ;另一名 人选的工作任务视情况而定 ,但这个人必须具有良好的协作能力 ;