软件项目实施管理规范
编制:董翼枫 日期:20xx年3月
1. 项目实施管理规范概述
由于**公司相关软件与**等相关硬件集成,用户购买相关产品之后,不能立即使用,需要公司技术人员进行软硬件集成、系统调试、功能实现、人员培训、设备安装、软件上线、后期维护等一系列的工作。项目是否成功,用户体验是否成功,是否提高了用户的工作效率和能力水平,不仅取决于产品本身的质量,软件项目实施的质量效果也对后期用户应用的情况起到非常重要的影响。项目实施管理规范主要包括项目启动阶段、需求调研确认阶段、软件功能实现确认阶段、数据初始化阶段、系统培训阶段、系统安装测试及试运行阶段、总体验收阶段、系统交接阶段等八个阶段工作内容,每个阶段有不同的工作事项,彼此承上启下。
2. 项目实施管理规范说明
2.1. 项目启动阶段
此阶段处于整个项目实施工作的最前期,由成立项目组、前期调研、编制总体项目计划、启动会四个阶段组成。
公司在合同签定后,指定项目经理,成立项目组,授权项目组完成项目目标。 公司项目组:进行前期项目调研,与用户共同成立项目实施组织,编制《总体项目计划》,召开项目启动会。
1 / 8
商务经理:配合公司项目组,将积累的项目和用户信息转交给项目组。将项目组正式介绍给用户,配合项目组建立与用户的联系。
用户:成立项目实施组织,配合前期调研和召开启动会,签署《总体项目计划》和《项目实施协议》。
1、成立项目组
部门经理接到实施申请后,任命项目经理,指定项目目标,由部门经理及项目经理一起指定项目组成员及成员任务,并报总经理签署《项目任务书》。
2、前期调研
项目经理及项目组成员,在商务人员配合下,建立与用户的联系,对合同、用户进行调研。在项目商务谈判中,商务经理积累了大量的信息,项目组首先应收集商务和合同信息,并与商务经理一起识别哪些个体和组织是项目的干系人,确定他们的需求和期望,如何满足和影响这些需求、期望以确保项目能够成功。
3、编制《项目总体计划》
《项目总体计划》是一个文件或文件的集合,随着项目信息不断丰富和变化,会被不断变更,主要介绍项目目标、主要项目阶段、里程碑、可交付成果。通常包括以下几方面内容:
? 项目描述、项目目标、主要项目阶段、里程碑、可交付成果、职责分配
(包括用户的);
? 沟通管理计划,确定项目干系人对信息和沟通的需要:即什么人何时需
要什么信息以及通过什么方式将信息提供给他们;
? 质量管理计划,确定适合于项目的质量标准和如何满足其要求。
? 未解决事宜和未定的决策
如果有必要,可以包括上述每一个计划,详细程度根据每个具体项目的要求而定。
2 / 8
4、启动会
项目组与用户共同召开的宣布项目实施正式开始的会议。
会程安排如下:
1) 共同组建项目实施组织,明确实施组织的权利和职责;
2) 双方签署《项目实施协议》。
3) 项目组介绍《项目总体计划》和《项目实施协议》,包括以下内容: ? 项目目标、主要项目阶段、里程碑、可交付成果、所计划的职责分配(包括用户的);
? 项目实施中项目管理的必要性和如何进行项目管理;
? 项目的质量如何控制;
? 项目实施中用户的参与和领导的支持的重要作用;
? 阶段验收、技术交接和项目结束后如何对用户提供后续服务。
2.2. 需求调研确认阶段
此阶段的主要工作是项目实施人员向用户调查用户对系统的需求,包括管理流程调研、功能需求调研、报表要求调研、查询需求调研等,实施人员调研完成后,需编写《用户需求说明书》,并交付用户进行确认,待用户对《用户需求说明书》上所提到的需求确认完毕后,项目实施人员将以此为依据进行软件功能的实现。
如果用户又提出新的需求,实施人员将分析需求的难度及对整个系统的影响程度来确定是否给予实现。
需求调研阶段具体包括如下内容:
1) 进行需求调研准备;
2) 编制《需求调研计划》;
3 / 8
3) 内部评审是否通过《需求调研计划》,项目组、部门经理、商务等人员根据合同要求和项目实际情况对《需求调研计划》草稿进行评审,如评审通过,则在稍后的时间内签署,如评审不通过则重新修改;
4) 用户签署《需求调研计划》,如用户签署《需求调研计划》,则作为以后需求调研工作的指南。否则重新修改;
5) 《需求调研计划》是否有变更,如果计划存在变更,则执行变更控制流程,否则按计划进行后续工作;
6) 编写及发出《需求调研通知》,项目组编写《需求调研通知》,确定进行需求调研的相关事宜,发给用户,为顺利完成需求调研工作做准备;
7) 需求调研,项目组以《需求调研计划》为依据,从业务流程、单据使用、报表内容等方面展开深入和全面的调研,并搜集用户的个性化需求;
8) 需求调研分析根据调研的结果,项目组和公司其他技术人员将进一步进行分析,确定合理、可行的需求,将分析结果形成《用户需求说明书》草稿;
9) 内部评审《用户需求说明书》。项目组、部门经理、公司其他技术人员对《用户需求说明书》草稿进行评审,如评审通过,则在稍后由用户签署,如评审不通过则重新修改,直至内部评审通过。
10) 编写及发出《用户需求说明书确认通知》。项目组编写《用户需求说明书确认通知》,发给用户,确定进行需求确认的相关事宜,告之相关部门及人员安排好工作,准时参与需求确认工作,为顺利完成需求确认工作做准备。
11) 用户确认《需求分析报告》。如果用户确认,并签署了《用户需求说明书》,则需求调研阶段工作结束,进行后续的软件功能实现的工作;如没有确认,则进一步进行调研、分析,直至用户最终确认并签署《需求分析报告》。双方签署了《用户需求说明书》,需求调研工作结束
4 / 8
之后,如果用户提出新的需求或是变更已有的需求,则执行需求新增
及变更流程。
2.3. 软件功能实现确认阶段
此阶段的主要工作是项目实施人员根据需求调研阶段确认的《用户需求说明书》中的用户需求内容进行具体软件功能的实现工作。在软件功能实现的过程中,项目实施人员将记录软件实现的详细过程。便于公司售后服务之用。每一个实施技术人员必须严格按照要求记录、存档。按照调研要求的所有功能实现完毕后,项目实施人员将编制《软件功能确认表》,将定制好软件功能待用户确认,用户根据《软件功能确认表》上的功能逐一确定软件功能是否达到要求,对不满足要求的功能,项目实施人员将会记录下来并进行功能修改,直到满足用于要求。
2.4. 数据初始化阶段
此阶段的主要工作是项目实施人员指导用户进行系统标准化资料的准备工作,并对用户进行初装资料的软件操作培训,以便用户能够及时的将标准资料录入系统,初装完成后,项目实施人员会对资料初装的情况进行核查,为以后具体业务功能的开展做好基础。
2.5. 系统培训阶段
系统培训阶段工作是整个项目实施工作中比较重要的工作,用户对软件的操作功能是否熟练将直接影响到后面的软件应用效果,所以项目实施人员和用户双方要对此阶段的工作给予足够的重视。要充分认识培训的重要性和艰巨性。在项目实施之前对用户的相关人员进行系统和规范的产品培训是非常必要的,达到让用户了解软件产品,最终自己能够解决使用中的具体的问题。
此阶段的培训工作中将用户参加产品培训的人员划分为三个层次:决策层、维护层、操作层,对不同层次的用户参加产品培训人员的培训内容分别是:
决策层:领导在实施中的作用与重要性、决策查询。
5 / 8
维护层:系统维护知识、操作方法。
操作层:操作方法。
具体的培训工作流程为:
1) 调研培训信息:在培训开始前3天由用户实施负责人,将参加培训
的部门和人员情况填入《受训人员情况一览表》;
2) 编制培训计划:结合调研结果,与用户实施负责人商议具体培训内
容、时间,场地,人员等。项目组编制《培训计划》;
3) 签署培训计划:用户签署《培训计划》,进一步确认培训安排。
4) 发布培训通知:培训开始前2天,按照签署的《培训计划》,将培
训内容、时间,场地,人员等信息通知用户实施负责人;
5) 搭建培训环境:项目组在培训开始前,将培训环境搭建及检查妥当,
将培训提纲及培训手册准备好;
6) 组织培训:项目组培训负责人与用户实施负责人组织相关人员参加
培训,按培训制度严格考核。由用户将考勤情况填入《培训人员签
到表》;
7) 培训总结:公司项目组培训负责人与用户实施负责人一起将出勤情
况及考核情况做出总结,填入《培训总结报告》,及时向相关负责
人汇报。
2.6. 系统安装测试及试运行阶段
此阶段的主要工作是在用户真实环境下,对用户网络及硬件设备进行测试,对软件系统进行容量、性能压力等测试。测试及试运行的目的在于确保系统各项功能均能正常使用,并且符合用户签署的《用户需求说明书》中描述的需求,同时把尽可能多的潜在问题在正式运行之前发现并改正;同时目的还在于在正式运行前用户的有关人员能进一步提高操作水平,掌握操作规范。
此阶段的主要工作内容为:
6 / 8
1) 编制计划:与用户实施负责人商议具体测试及试运行时间,地点,
人员等安排,项目组编制《测试及试运行计划》;
2) 签署计划:用户签署《测试及试运行计划》,进一步确认测试及试
运行安排;
3) 发布测试及试运行通知:在测试及试运行开始前2天,按照签署的
《测试及试运行计划》,将时间,地点,人员等信息通知用户实施负责人;
4) 搭建环境及数据准备:在试运行开始前搭建好软件环境、硬件环境、
网络环境、调通线路;检查软件、硬件、网络、线路等各个环节是否有问题;
5) 组织测试及试运行:用户相关各级领导给予全面配合,组织相关人
员进行测试及试运行。
公司项目组负责担当指挥,检查用户人员组织情况并给予指导,跟踪检查如下情况:
? 跟踪业务流程执行状况。
? 跟踪新资料登录环节。
? 观察操作人员操作表现。
? 观察系统运行速度及异常表现。
? 观察关键数据的正确性。
及时纠正错误操作、对于新发生的问题及时与相关人员沟通,确定解决办法。
6) 测试及试运行总结:测试及试运行完成,总结试运行中设备、软件
的运行情况,总结试运行中业务流程和操作环节的情况,以书面总结形式将测试及试运行结果通知相关负责人。
7 / 8
2.7. 总体验收阶段
此阶段是对项目总体的完成情况进行验收。验收分阶段进行,在每一项目阶段结束时,用户对这一阶段的可交付成果进行验收,在测试及试运行结束后,对系统进行总体验收。
需要验收的可交付成果:
2.8. 系统交接阶段
此阶段是项目实施的最后一个阶段,主要工作是公司项目组向用户移交项目,包括产品、项目实施过程中所生成的各种文档,并签署《售后服务协议》,项目将进入售后服务阶段。公司项目组还需要让用户填写《用户满意度调查表》,对公司项目实施人员的整个项目实施情况进行评价,公司将听取用户的意见,再今后的项目实施管理中进行加强和改进。
8 / 8
第二篇:软件项目开发和管理规范V1.0
软件项目开发和管理规范
版本V1.0
20xx年1月15日
目 录
1.
2.
3. 软件项目管理概述 ................................................................................................. 3 软件项目管理过程 ................................................................................................. 3 软件项目管理内容 ................................................................................................. 5
3.1.
3.2.
3.3.
3.4.
3.5.
3.6.
3.7. 需求阶段管理 ................................................................................................. 5 设计阶段管理 ................................................................................................. 7 开发阶段管理 ................................................................................................. 7 测试阶段管理 ................................................................................................. 8 维护阶段管理 ................................................................................................. 8 工具管理 ........................................................................................................ 8 软件项目估算与进度管理................................................................................ 9
3.7.1.
3.7.2.
软件项目估算....................................................................................... 9 进度安排............................................................................................ 10
1. 软件项目管理概述
软件项目管理是软件工程和项目管理的交叉学科,软件项目管理的概念涵盖了管理软件产品开发所必须的知识、技术及工具。根据美国项目管理协会PMI对项目管理的定义可以将软件项目管理定义为:在软件项目活动中运用一系列知识、技能、工具和技术,以满足软件需求方的整体要求。
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展。
软件生存周期包括可行性分析与项目开发计划、需求分析、设计(概要设计和详细设计)、编码、测试、维护等活动,所有这些活动都必须进行管理,在每个阶段都存在着权限角色控制、文档管理、版本控制、管理工具等,软件项目管理贯穿于软件生命的演化过程之中。
2. 软件项目管理过程
为保证软件项目获得成功,必须对软件开发项目的工作范围、要完成的任务、需要的资源、需要的工作量、进度的安排、可能遇到的风险等做到心中有数。软件项目的管理工作开始于技术工作开始之前,在软件从概念到实现的过程中持续进行,最后终止于软件开发工作结束。
根据公司的实际情况,结合软件工程及软件过程标准等,特制定我公司软件项目管理流程如下:
软件项目管理规范流程图
注:带书名号《》的为项目开发过程中需提交的文档。
项目管理的过程分为如下几个步骤: (1) 启动软件项目
启动软件项目是指必须明确项目的目标和范围、考虑可能的解决方案以及技术和管理上的要求等,这些信息是软件项目运行和管理的基础。
(2) 制定项目计划
项目计划在项目开始的时候制定,并随着项目的进展不断发展,项目计划为管理者提供了根据计划定期评审和跟踪项目进展的基础。计划的制定以下面的活动为依据:
? 估算项目所需要的工作量
? 估算项目所需要的资源
? 根据工作量制定进度计划,继而进行资源分配
? 做出配置管理计划
(3) 跟踪及控制项目计划
在软件项目进行过程中,严格遵守项目计划,对于一些不可避免的变更,要进行适当的控制和调整,但要确保计划的完整性和一致性。
(4) 评审项目计划
对项目计划的完成程序进行评审,并对项目的执行情况进行评价。
(5) 编写管理文档
项目管理人员根据软件合同确定软件项目是否完成。项目一旦完成,则检查项目完成的结果和中间记录文档,并把所有的结果记录下来形成文档而保存。
3. 软件项目管理内容
3.1. 需求阶段管理
需求分析是软件生命周期中相当重要的一个阶段,是软件设计的基础,也是用户和软件工程人员之间的桥梁。简单地说,软件需求就是确定系统需要做什么,严格意义上,软件需求是系统或软件必须达到的目标与能力。
? 目标
需求管理是一种获取、组织并记录软件需求的系统化方案,同时也是一个使客户与项目开发组对不断变更的软件需求达成并保持一致的过程。在需求管理中,软件工程组的工作是采取适当的措施来保证分配的需求,即要将分配的需求文档化,控制需求的变化,负责项目实施过程中需求的实现情况。
需求管理的目的是在客户和处理客户需求的软件项目组之间建立对客户需求的共同理解。需求管理的目标有两个:
? 使软件需求受控,并建立供软件工程和管理使用的需求基线。 ? 使软件计划、产品和活动与软件需求保持一致。
在需求管理过程中,为实现第一个目标,必须控制需求基线的变动,按照变更控制的标准和规范的过程进行需求变更控制和版本控制;为实现第二个目标,必须就变更和软件项目各小组达成共识,对软件项目计划做出调整,其中包括人员的安排、用户的沟通、成本的调整、进度的调整等。
需求管理是一个对系统需求变更了解和控制的过程,它贯穿于整个软件项目过程,在软件项目进行的过程中,无论正处于哪个阶段,一旦有需求错误出现或任何有关需求的变更出现,都需要需求管理活动来解决,提交《需求变更控制报告》。
? 原则
为进行有效的需求管理,一般要遵循如下五条原则:
? 需求一定要分类管理
? 需求必须分优先级
? 需求必须文档化
? 需求一旦变化,就必须对需求变更的影响进行评估
? 需求管理必须与需求工程的其他活动紧密整合
? 主要工作
需求阶段分为系统需求和系统分析两个阶段。
系统需求阶段的主要工作是:
? 调研用户需求及用户环境
? 论证项目可行性
? 制定项目初步计划
系统分析阶段的主要工作是:
? 确定系统运行环境
? 建立系统逻辑模型
? 确定系统功能及性能要求
? 编写需求规格说明、测试计划
? 确认项目开发计划
? 完成文档
需求规格说明书、项目开发计划、测试计划
3.2. 设计阶段管理
? 主要工作
软件的设计阶段可分为概要设计和详细设计两个阶段。 概要设计的主要工作:
? 建立系统总体结构,划分功能模块
? 定义各功能模块接口
? 数据库设计(如果需要)
详细设计的主要工作:
? 设计各模块具体实现算法
? 确定模块间详细接口
? 完成文档
概要设计完成文档
? 概要设计说明书
? 数据库设计说明书(如果有)
详细设计完成文档:
? 详细设计说明书
3.3. 开发阶段管理
? 主要工作
? 编写程序源代码
? 进行模块测试和调试
? 编写测试方案
? 编写测试用例
? 编写用户手册
? 完成文档
? 系统源程序清单
? 测试用例
? 测试方案
3.4. 测试阶段管理
? 主要工作
? 执行测试
? 测试整个软件系统(健壮性测试) ? 完善用户手册
? 编写开发总结报告
? 完成文档
? 测试报告
? 用户手册
? 开发工作总结
3.5. 维护阶段管理
? 主要工作
? 为纠正错误,完善应用而进行修改 ? 对修改进行配置管理
? 编写故障报告和修改报告 ? 修订用户手册
? 完成文档
? 故障报告
? 修改报告
3.6. 工具管理
? 开发工具管理
Microsoft Visual Studio 2005/2008开发环境
VSS版本管理
? 测试工具管理
XX缺陷管理工具(暂定bugfree)
Loadrunner8.1性能测试工具
3.7. 软件项目估算与进度管理
3.7.1. 软件项目估算
软件项目估算包括工作量估算和成本估算两个方面。软件估算作为软件项目管理的一项重要内容,是确保软件项目成功的关键因素。估算是指通过预测构造软件项目所需要的工作量的过程。初步的估算用于确定软件项目的可行性,详细的估算用于指导项目计划的制定。
3.7.1.1. 软件规模
对软件项目进行估算遇到的第一个问题就是软件规模,即软件的程序量。软件规模是软件工作量的主要影响因素。软件项目的设计有一个分层结构,这一分层结构就对应着工作分解结构(WBS,Work Breakdown Structure),它将软件过程和软件产品结构联系起来。下图是一个典型的WBS结构:
有了工作分解结构之后,必须定义度量标准用以对软件规模进行估计。常用的软件规模度量标准有两种:代码行LOC(Lines Of Code)和功能点FP(Function Points)。
? 代码行
代码行LOC是常用的源代码程序长度的度量标准,指源代码的总行数。源代码中除了可执行语句外,还有帮助理解的注释语句。
? 功能点
功能点度量是在需求分析阶段基于系统功能的一种规模估计方法,该方法通过已经初始应用需求来确定各种输入、输出、查询、外部文件和内部文件的数目,从而确定功能点数量。
3.7.1.2. 成本估算
成本估算是对完成软件项目所需费用的估计和计划,是软件项目计划中的一个重要组成部分。
3.7.2. 进度安排
在确定了项目资源(总成本、人员、时间等),把其分配到各个项目开发阶段中,即确定项目的进度。进度的合理安排是如期完成软件项目的重要保证,也是合理分配资源的重要依据,建议进度安排使用Gantt图(甘特图)。
项目整体进度安排的过程如下:
1) 根据项目总体进度目标,编制人员计划。
2) 将各阶段所需要的资源和可以取得的资源进行比较,确定各阶段的初步
进度,然后确定整个项目的初步进度。
3) 对初步进度计划进行评审,确保该计划满足要求,否则就重复上面的步
骤。
进度安排的详细程度取决于相应工作分解结构的详细程度,而工作分解结构又取决于项目当前所处阶段与历史经验,进度安排计划随着项目的进展而动态调整,逐渐趋于更加详细准确。
在软件项目进行过程中,要及时更新项目进度,以使管理者及时了解项目进展情况。