第2章软件项目启动管理项目的来源渠道要获得软件项目,必须分析来源渠道,通常它表现为一个全方位的搜索过程。在经过大量的数据分析和整理工作,甚至是市场分析后,才可以最终获得一个软件开发项目。从软件开发企业自身来说,软件项目的获得渠道,通常有几种产生方式:(1)市场寻找(2)客户提出(3)寻求外包(4)其他渠道开发项目的选择在面对各种项目机会时,要作好项目的选择,必须重点考察项目的以下四个要素。(1)项目的合法性。(2)项目的含金量。(3)项目的成熟度。(4)项目的适用性。2.1.3项目需求的识别不管项目来自于何种渠道,都需要作好用户需求的识别,否则项目风险会大大增加。从客户所在的角度而言,识别需求是项目启动过程和整个项目生命期的最初活动,客户通过识别商业或市场需求、机会,确定投资方向和项目机会。从开发方的角度而言,识别需求是得到客户需求建议书后,与客户有效地沟通,准确分析需求和问题,为制定可行、合理、正确的技术及实施解决方案提供依据。如果是软件企业自行选择开发的面向特定市场的项目,更需要认真分析其实际需求。2.1.4需求建议书的提出需求建议书(RequestForProposal,简称RFP)是从客户的角度,对项目进行的全面、详细论述。需求建议书一般包含以下主要内容。(1)满足需求的工作陈述。(2)客户提出的相关要求。(3)项目所应提交的交付物。(4)客户供应条款、合同形式、付款方式。(5)客户对项目建议书的要求。客户背景的分析在为客户开发软件之前,先要分析客户的相关背景。这主要包括以下几个方面:(1)了解客户的基本情况。(2)了解客户的发展前景和本项目对该公司的战略重要性度。(3)了解客户主要竞争对手的情况。(4)了解客户对此项目的目的和期望。(5)了解和项目实施相关的客户方面的业务流程、人员安排、项目成果的最终用户以及他们的真正想法等信息。2.2.2项目环境信息的分析启动软件项目之前,需要了解如下的项目环境、项目背景等信息:(1)项目发起人是否有权开展项目。(2)项目是否有财务支持。(3)项目是否以前有人开发过,当时主要出现了什么问题。(4)项目是否有合理的开始时间和截止时间。(5)项目是否有行业相关国家标准或者国际规范。(6)项目是否有要求明确的最终交付结果。2.2.3项目干系人的分析对每个软件项目,都有几种不同的项目干系人,也称为项目利益相关者。他们在项目运行过程中扮演着不同的角色,同时也可能会对项目持不同态度。项目管理者要了解他们的想法,这有利于协调工作、调动相关人员的积极性。重点需要分析以下五类项目干系人:(1)项目组成员。(2)公司现有业务、现有项目的成员。(3)资源提供者。(4)用户。(5)潜在利益相关者。可行性分析的作用可行性研究立足于从管理上、技术上、经济上、实现上的难点进行阐述,逐步理清客户的需求,并在需求的基础上,规划总体解决方案,以作为项目投入产出评估的依据、产品选型的依据,以及后续实施方案的约束。总体来讲,可行性研究具有如下几点作用:(1)为科学决策提供参考。(2)为项目设计和实施提供依据。(3)为项目评估提供标准。(4)为商务谈判、签订合同提供指南。2.3.2可行性分析的内容可行性研究是建立在初步调查基础之上的,它包括实现的可能性和开发的必要性两个方面。如果企业管理者或决策者的需求不迫切,就是不具备必要性;而如果各种条件尚不完善,就是不具备必要性。软件项目的可行性分析,应该从以下三个方面进行考虑。1.技术可行性分析2.经济可行性分析3.运行环境可行性分析2.3.3可行性分析的步骤可行性分析一般包括初步可行性分析、详细可行性分析、给出分析结论、提交可行性分析报告四个阶段。每个阶段都是一个独立的过程,根据项目情况也可以跨越某些阶段。1.初步可行性研究2.详细可行性研究3.给出可行性分析的结论4.撰写可行性分析报告项目核准与立项一个项目只有在可行性研究通过之后才能正式启动。一般包括编写立项报告,在通过审批后召开启动会议,任命项目经理,项目正式启动。对于一个小项目,只要可行、合法,不必经过有关部门的批准就可以实施。但是,对于一些大的项目,一般需要向有关部门进行申报核准,待审批后通过才能正式启动。这一过程称为项目立项。立项报告是项目启动阶段的重要文档,需要将从意向提出、需求确认,到可行性方案论证,到产品选型各阶段产生的重要内容整理形成文档。2.4.2项目启动的准备在正式的项目启动之前,需要作好项目启动的准备工作,具体可以准备一个项目启动检查清单,以确保项目启动工作的完整、有序。一般说来,启动准备工作包括:建立项目管理制度、整理启动资料等。2.4.3招开项目启动会议项目启动的准备工作完成后,就可以召开项目启动会议。启动会议是项目开工的正式宣告,参加人应该包括项目组织机构中的关键角色,例如管理层领导、项目经理、供应商代表、客户代表、项目监理、技术人员代表等。项目启动会议的任务包括:阐述项目背景、价值、目标;项目交付物介绍;项目组织机构及主要成员职责介绍;使双方人员彼此认识,清楚各个层次的接口;项目初步计划与风险分析;项目管理制度;项目将要使用的工作方式。2.4.4成立项目组织机构除了用户与开发方会同召开的项目启动大会外,软件开发单位内部也要召开项目组成立大会。在项目组成立大会上,要成立项目组织机构,选定项目组成员,任命项目经理并确定其职责、权限等。2.4.5制定项目管理章程在项目组成立大会上,还有一件重要的事情——制定项目管理章程,其中要对项目进行完整定义,确定好项目的内容、项目负责人的权限、项目团队的成员、项目的开发周期、项目需要的设备以及资金数量等。项目章程必须由总经理和项目经理签字,并在项目组成立大会上宣读。项目章程应包括如下要素:项目名称、发起人、项目经理及其职责、目标和交付成果、时间安排、资源、预算、成员等。2.5案例与讨论案例2-1讨论题1.周俊伟遇到了什么问题?其产生根源是什么?2.开展项目启动的目的是什么?其中需要注意什么问题?3.项目启动大会的任务有哪些?应该要求哪些人员参与?4.在项目启动时为什么要给项目经理授权?本例中老板是怎么做的?2.5案例与讨论案例2-2讨论题1.对于该项目的启动,你觉得陈东目前主要会面对哪些困难因素?2.你个人觉得陈东想到启动计划的哪一项内容最为重要?请详细展开谈谈。3.如果让你站在陈东的位置,在进行项目启动前,你还会想到什么内容?4.假设该项目已经顺利启动,进入实施阶段之后,你觉得陈东最需要注意什么问题?