管理信息系统开发项目管理之二
陈书勤
二、企业信息系统开发项目管理的组织机构
要想保证信息系统开发工作的顺利启动,首先要建立项目的组织机构——项目组。项目组可以由负责项目管理和开发的不同方面的人员组成,项目组由项目组长或项目经理来领导。一般来说可以根据项目经费的多少和系统的大小来确定相应的项目组。项目组根据工作需要可设若干小组,小组的数目和每个小组的任务可以根据项目规模、复杂程度和周期长短来确定,可以设立的小组有:过程管理小组、项目支持小组、质量保证小组、系统工程小组、系统开发与测试小组、系统集成与测试小组等等。
一个好的项目组不一定能保证项目的成功,但一个差的管理组将肯定会导致项目的失败。因此,在建立项目组时要充分利用项目组每个成员的特长,坚持将正确的开发方法贯穿始终。
1、项目经理(项目组长)
项目经理(项目组长)是整个项目的领导者,共任务是保证整个开发项目的顺利进行,负责协调开发人员之间、各级最终用户之间、开发人员和广大用户之间的关系。同时他拥有资金的支配权,可以把资金作为强有力的工具来进行项目管理,对项目经理的资金运用情况可采用定期向上级汇报等方法进行合理监督。
项目经理在实施项目领导工作时,要时刻注意所开发的系统是否符合最初制定的目标;在开发工作中是否运用了预先选择的正确的开发方法;哪些人适合于做哪些工作等。只有目的明确、技术手段适合、用人得当,才能保证系统开发的顺利进行。
对于小型项目,项目经理可以独立进行工作,直接管理各类开发技术人员,必要时可以求得外部机构的支持;对于中型项目,应划分出各个任务的界限,由不同的人去管理,项目经理通过这些人来实施各项管理工作;对于大型项目,应有专门的管理机构进行辅助管理,项目经理应能保证其思想的实施,并通过管理机构对开发技术人员的工作实施管理,同时注意对其产品的审核。
2.过程管理小组
过程管理小组的任务是负责整个项目的成本及进度控制、进行配置管理、安装调试、技术报告的出版、培训支持等项任务,这是一个综合性的机构,用以保证整个开发项目的顺利进行。
3、项目支持小组
项目支持小组的任务是保障后勤支持,它要及时提供系统开发所需要的设备、材料;负责进行项目开发的成本核算;负责合同管理、安全保证等,特别是对大型项目而言,由于其涉及的资金巨大、开发人员众多、材料消耗也多,尤其要进行科学的管理。
4.质量保证小组
质量保证小组的任务是及时发现影响系统开发质量的问题并给予解决。问题发现越早,对整个项目的影响越小,项目成功的把握就越大。
5.系统工程小组
由于信息系统开发是一项系统工程,因此可以按照工程的一般特性,用系统的观点制定出系统开发各个阶段的任务,这是系统工程小组的工作职责,即将整个开发过程按阶段划分出若干个任务,规定好每个任务的负责人、任务的目标、检验标准、完成任务的时间等。只有明确每一项任务的责、权、利,才能使得开发工作顺利进行。
6.开发与测试小组
开发与测试小组的任务是充分利用系统开发的一些关键技术、开发模型以及一些成熟的商品软件从事各子系统的开发与集成,并对各于系统进行测试。这是整个开发项目的关键,因此要组织好该小组的成员,并采用统一的方法和标准进行工作。
7.系统集成与安装调试小组
系统集成是对整个信息系统进行综合的过程,该小组成员在充分注意软件、硬件产品与所开发的信息系统之间的结合、注意最大限度地保证系统可靠性及发挥系统的最高效率的前提下完成信息系统的软件、硬件等各方面的集成,并做好整个系统的测试与安装调试工作
三、管理信息系统开发项目管理的基本内容与步骤
在具体实施管理信息系统开发项目管理时,可按下面5个步骤来进行:
1.任务分解(WBS)
任务分解(WorkBreakdownStructure),又叫任务划分或工作分解结构,是把整个信息系统的开发工作定义为一组任务的集合,这组任务又可以进一步划分成若干个子任务,进而形成具有层次结构的任务群。使任务责任到人,落实到位,运行高效。任务划分是实现项目管理科学化的基础,虽然进行任务划分要花费一定的时间和精力,但是在整个系统开发过程中将会越来越显示出它的优越性。
任务划分包括的内容有:任务设置;资金划分;任务计划时间表;协同过程与保证完成任务的条件。
任务设置是在统一文档格式的基础上详细说明每项任务的内容、应该完成的文档资料、任务的检验标准等;资金划分是根据任务的大小、复杂程度,所需的硬件、软件、技术等多种因素确定完成这项任务所需的资金及分配情况;任务计划时间表是根据所设置的任务确定完成的时间;协同过程与保证完成任务的条件是指在任务划分时要考虑为了完成该项任务所需要的外部和内部条件,即哪些人需要协助、参与该项任务,保证任务按时完成的人员、设备、技术支持、后勤支持是什么等。在进行了任务划分之后,将这些任务落实到具体的人,并建立一张任务划分表,在这张表中标明任务编号、任务名称、完成任务的责任人,其中任务编号是按照任务的层次对任务进行编码,最高度的任务为1,2,3,……,对任务1的分解为1.1,1.2,1.3,……,对任务2的分解为2.1,2.2,2.3,……,以此类推。
任务分解的主要方法有以下三种:
①按系统开发项目的结构和功能进行划分。即可以将整个开发系统分为硬件系统、系统软件、应用软件系统。硬件系统可分为服务器、工作站、计算机网络环境等,考虑这些硬件的选型方案、购置计划、购置管理、检验标准、安装调试计划等内容,制定相应的任务;系统软件可划分为网络操作系统软件、后台数据库管理系统、前台开发平台等,考虑这些软件的选型、配件、购置、安装调试等内容并制定相应的任务;对于应用软件可将其划分为输入、显示、查询、打印、处理等功能,考虑对系统进行需求分析、总体设计、详细设计、编程、测试、检验标准、质量保证、审查等内容并制定相应的任务。
②按系统开发阶段进行划分。即按照系统开发中的系统分析、系统设计、系统实施及系统实施中的编程、系统测试、系统安装调试、系统试运行、系统运行等各个阶段划分出每个阶段应该完成的任务、技术要求、软硬件系统的支持、完成的标准、人员的组织及责任、质量保证、检验及审查等项内容,同时还可根据完成各阶段任务所需的步骤将这些任务进行更细一级的划分。
③将①②结合起来进行划分。采用这种方法主要是从实际应用考虑,兼顾两种方法的不同特点而进行。
在进行任务划分过程中应特别注意以下两点。
一是划分任务的数量不易过多,但也不能过少。过多会引起项目管理的复杂性与系统集成的难度;过少会对项目组成员,特别是任务负责人有较高的要求,而影响整个开发。因此应该注意任务划分的恰当性。
二是在任务划分后应该对任务负责人赋予一定的职权,明确责任人的任务、界限、对其他任务的依赖程度、确定约束机制和管理规则。
2.计划安排
依据任务划分即可制定出整个开发及项目管理计划,并产生任务时间计划表。开发计划可以划分为配置计划、应用软件开发计划、测试和评估计划、验收计划、质量保证计划、系统工程管理计划和项目管理计划等。
计算机硬件系统、系统软件配置计划包括:
(1)建立系统基准;
(2)配置、选型、购置、安装调试过程;
(3)在变化的情况下如何保持系统基准的稳定;
(4)最终产品的文档。
应用软件开发计划包括:
(1)将用户需求转化为相应的项目;
(2)软件开发过程;
(3)集成软件的过程;
(4)测试软件的过程。
测试和评估计划包括:
(1)整个系统的集成;
(2)整个系统的测试;
(3)给用户展示系统的工作情况;
(4)准备给用户使用系统。
验收计划包括:
(1)准备验收文档;
(2)如何将最终系统提供给用户。
质量保证计划包括:
(1)验证开发质量;
(2)确定外部产品质量。
系统工程管理计划包括:
(1)管理全部系统开发任务;
(2)跟踪用户对系统开发的需求。
项目管理计划包括:
(1)何时及如何完成任务;
(2)建立完成的策略和标准;
(3)各种计划的协调。
计划安排还包括培训计划、安装计划、安全性保证计划等。当这些计划制定出采后,可以画出任务时间计划表,表明任务的开始时间、结束时间,表明任务之间的相互依赖程度。这个任务时间计划表可以按照任务的层次形成多张表,系统开发的主任务可以形成一张表,它是所有子任务时间计划表建立的基础。这些表是所有报告的基础,同时还可以帮助对整个计划实施监控。任务时间计划表的建立可以有多种方法,它可以采用表格形式,也可以使用图形来表达,也可以使用软件工具,其表达方式取决于实际的应用需求。
3.项目经费管理
项目经费管理是信息系统开发项目管理的关键因素,项目经理可以运用经济杠杆来有效控制整个开发工作,达到事半功倍的效果。在项目管理中,赋予任务负责人一定职责的同时,还要赋予其相应的支配权,也要对其进行适当的控制。
在经费管理中要制订两个重要的计划,即经费开支计划和预测计划。
经费开支计划包括:
(1)完成任务所需的资金分配;
(2)确认任务的责权和考虑可能的超支情况;
(3)系统开发时间表及相应的经费开支;
(4)如果需要变动,及早通知项目经理。
预测开支计划包括:
(1)估计在不同的时间所需的经费情况;
(2)了解项目完成的百分比;
(3)与经费开支计划相比较;
(4)允许项目经理做有计划的经费调整
4.项目审计与控制
项目审计与控制是整个项目管理的重要部分,它对于整个系统开发能否在预算的范围内按照任务时间表来完成相应的任务起着关键的作用。相应的管理内容和步骤如下:
(1)制定系统开发的工作制度。按照所采用的开发方法,针对每一类开发人员制定出其工作过程中的责任、义务、完成任务的质量标准等。
(2)制定审计计划。按照总体目标和工作标准制定出进行审计的计划。
(3)分析审计结果。按计划对每项任务进行审计,分析执行任务计划表和经费的变化情况,确定需要调整、变化的部分。
(4)控制。即根据任务时间计划表和审计结果,掌握项目进展情况,及时处理开发过程中出现的问题,及时修正开发工作中出现的偏差,保证系统开发工作的顺利进行。
对于系统开发中出现的变化情况,项目经理要及时与用户和主管部门联系,取得他们的理解和支持,及时针对变化情况采取相应的对策。
5.项目风险管理
信息系统开发项目实施过程中,尽管经过前期的可行性研究以及一系列管理措施的控制,但其效果一般来说还不能过旱地确定,它与风险联系着,可能达不到预期的效果,费用可能比计划的高,实现时间可能比预期的长,而且,硬件和软件的性能可能比预期的低,等等。因此,任何一个系统开发项目都应具有风险管理,这样才能充分体现出成本分析的优点,在风险管理中应注意的是:
(1)技术方面必须满足需求,应尽量采用商品化技术,这样可以降低系统开发的风险。
(2)开销应尽量控制在预算范围之内。
(3)开发进度应尽量控制在计划之内。
(4)应尽量与用户沟通,不要做用户不知道的事情。
(5)充分估计到可能出现的风险,注意倾听其他开发人员的意见。
(6)及时采纳减少风险的建议。
总之,风险管理也是项目管理的重要内容,是项目经理的特别职责。
风险管理过程可以划分为以下几个步骤:
第一步,风险辨识。首先列出一个潜在问题表,然后再考虑其中有哪些问题会出现风险。风险的确定应听取技术专家和广大用户的意见。潜在的风险源包括:
(1)在总体规划和系统分析阶段所进行的需求分析不完全、不清楚、不稳定、不可行,最终影响软件集成和系统集成。设计结果的可用性、可实施性、可测试性较差,影响系统的后续开发工作。
(3)在程序设计过程中,可能出现的非一致性或系统的支持较差。
(4)在整个开发过程中,遇到困难和问题时,开发人员可能出现的矛盾和不协调性将影响系统开发的质量和开发进度。
(5)在实施项目管理过程中,计划的准确性、可监控性、经费运用及分配情况等都将对整个开发工作产生影响。
第二步,风险分析。对辨识出的风险进行进一步的确认后分析风险概况,即假设某一风险出现后,分析是否会有其他风险出现,或是假设这一风险不出现,分析它将会产生什么情况,然后确定主要风险出现最坏情况后,如何将此风险的影响降低到最小,同时确定主要风险出现的个数及时间。
第三步,风险缓和。通过对风险的分析确定出风险的等级,对高级的风险要制定出相应的对策,采取特殊的措施予以处理,并指定专人负责重要风险项目的实施,同时在风险管理计划中进行专门的说明。
第四步,风险跟踪。对辨识后的风险在系统设计开发过程中进行跟踪管理,确定还会有哪些变化,以便及时修正计划。具体内容包括:
(1)实施对重要风险的跟踪;
(2)每月对风险进行一次跟踪;
(3)风险跟踪应与项目管理中的整体跟踪管理相一致;
(4)风险的内容和对项目开发的影响应随着时间的不同而相应地变化。
因此,在项目实施管理过程中,随时研究项目的风险并作出相应的对策是管理工作不可映少的。通常影响项目内在风险的因素有三个:项目的规模、业务的结构化程度以及项目的技术难度。把这三种因素的高低(或大小)组合起来,所可能产生的8种项目风险估计见表2。
管理信息系统开发项目管理之二: 采用技术的难度
|
管理信息系统开发项目管理之二: 结构化程度
|
管理信息系统开发项目管理之二: 规 模
|
管理信息系统开发项目管理之二: 风 险
|
低
|
高
低
|
大
小
大
小
|
低
很低
中等
管理信息系统开发项目管理之二: 中、低
|
高
|
高
低
|
大
小
大
小
|
中等
中低
很高
高
|
管理信息系统开发项目管理之二: 表2项目风险估计表
项目管理中风险管理方法,是根据项目风险水平进行组织和管理。为了搞好项目,管理,可采用四种措施和技术:
(1)项目组与用户结合的外部结合措施和技术。如,用户项目管理组织、用户参加的项目小组和用户指导委员会。
(2)项目组协调工作的内部结合措施和技术。如,项目评审会、备忘录和项目组参与决策。
(3)任务结构化、条理化的规范的计划措施和技术。如,关键路线图、抓重大事件以及项目审批程序等。
(4)估计项目进程的规范化控制措施和技术。如,具有差异分析的一系列正式的状态报告。
通常,任务的结构化程度越低,越需要外部与用户的高度结合。采用难度大的高技术项目通常借助于高度的内部项目结合和规范化很低的计划和控制。规范化高的计划和控制对技术难度低而规模大的项目最为有用。项目风险的管理对策见表3。
管理信息系统开发项目管理之二: 项 目
管理信息系统开发项目管理之二: 特 征
|
管理信息系统开发项目管理之二: 业务的结构化程度
|
高
|
低
|
管理信息系统开发项目管理之二: 采用的技术难度
|
寓
|
低
|
高
|
低
|
管理信息系统开发项目管理之二: 项目规模
|
大
|
小
|
大
|
小
|
大
|
小
|
大
|
小
|
管理信息系统开发项目管理之二: 处 理 风
管理信息系统开发项目管理之二: 险 的 项
管理信息系统开发项目管理之二: 目 管 理
技术
|
管理信息系统开发项目管理之二: 规范化的计划和控制
|
大量
|
大量
使用
|
大量
使用
|
管理信息系统开发项目管理之二: 中高程
管理信息系统开发项目管理之二: 度使用
|
管理信息系统开发项目管理之二: 低中程
管理信息系统开发项目管理之二: 度使用
|
少量
使用
|
少量
使用
|
少量
使用
|
使用
|
管理信息系统开发项目管理之二: 外部结合
|
低
|
高
|
管理信息系统开发项目管理之二: 内部结合
|
高
|
低
|
高
|
低
|
管理信息系统开发项目管理之二: 表3项目风险的管理对策表
显见,如果一个风险高的项目获得成功,将能得到最大的期望效益。当冒着某种风险去实现规模大、非结构化的高技术项目时,把具有不同风险和不同项目组织管理的一些项目结合起采,可以使企业获得令人满意的结果。
对信息系统的建设来说,项目管理中风险管理十分重要,因其涉及到方方面面的开发人员和广大的最终用户。为了保证系统开发的顺利进行,除了要建立一整套的管理职责和规范,坚持将一种正确的开发方法贯穿始终外,还要做好各类人员的思想沟通,“使开发项目组的全体人员自始至终都能保持一个声音说话”。
管理信息系统开发项目管理之二: 未完待续
管理信息系统开发项目管理之二: 浏览:管理信息系统开发项目管理之一
管理信息系统开发项目管理之二: 管理信息系统开发项目管理之三