资源描述
XXX股份有限公司
生效期:
作业指导文件
版本:1.0
页数:7页
主题:
软件开发过程
文件编号:
拟制:
日期:
审核:
日期:
批准:
日期:
目录
目录 1
1. 目的 2
2. 适用范围(必写) 2
3. 定义 2
4. 过程概要 2
4.1 项目开发流程介绍 3
4.1.1 活动目的 3
4.1.2 启动条件 3
4.1.3 输入 3
4.1.4 角色与职责 3
4.1.5 软件研发流程大致步骤 3
4.1.6 输出 5
4.1.7 退出条件 5
4.1.8 方法 6
5. 实施建议 6
6. 涉及到的相关文件和表单 6
1. 目的
指导软件开发过程相关活动。
2. 适用范围(必写)
适用于本公司所有软件开发项目。
3. 定义
裁剪:可根据项目情况增加或者删除开发流程的某些活动、文档等。
4. 过程概要
为指导本公司项目更科学的进行项目研发和管理,公司项目开发部负责建立了一套流程体系。本体系主要从“软件开发流程”和“支持及跟踪管理流程”两条线路来分别建立了众多子流程以指导各环节的工作。
其中,“软件开发流程”主要是描述从项目售前支持、立项,经历需求开发、需求管理、系统设计、编码与集成、系统测试、部署上线、结项并直到维护各环节的具体流程的实施过程。“支持及跟踪管理流程”主要是描述贯穿整个研发流程的管理和支持过程:项目监控、风险管理、同行评审、缺陷管理、配置管理、质量保证、度量以及组织级培训、过程改进过程。
在此,我们分别简述各流程的主要内容,详细的过程细节活动均请参考各子流程。
项目整体流程图如下(中间开发阶段流程可迭代):
4.1 项目开发流程介绍
4.1.1 活动目的
规范项目从商机识别,到售前阶段、研发、实施、直到维护结束的整个开发过程。
4.1.2 启动条件
客户商机线索
4.1.3 输入
项目商机
4.1.4 角色与职责
角色
主要职责
售前
l 制定方案并演示
商务
l 竞标
l 商务谈判
l 签订合同
业务部部门经理
l 根据预算安排项目经理和项目组成员
需求分析员
l 进行需求调研
l 进行需求分析
l 参与需求评审
项目经理
l 制定项目计划
l 分配任务
l 监督项目执行
l 周期汇报项目进展及问题。
l 根据需求基线创建《需求跟踪矩阵》
l 维护《需求跟踪矩阵》
l 保证项目分析设计成果与需求一一对应关系
开发组
l 进行需求分析
l 完成概要设计
l 完成详细设计
l 完成编码及单元测试,集成测试
测试人员
l 进行系统测试
l 产出测试用例、测试报告
4.1.5 软件研发流程大致步骤
1、 业务部或销售部发掘商机。
2、 技术部评估项目商机,并派遣售前工程师支持。
3、 售前调研客户需求,根据招标书完成解决方案,并给客户展示。
4、 售前与销售参与客户竞标,商务谈判通过后,签订合同。
5、 项目正式立项,部门经理确定项目经理和项目组成员。
6、 由项目经理协助,SQA依据《组织标准过程裁剪指南》对项目进行裁剪,制定《项目裁剪报告》。
7、 由PM制定初步项目计划。
8、 由PM指派的需求分析员通过与客户会面、调查问卷、直接参观现有流程等各种方式进行需求调研,了解客户需求以及取得需求相关资料,调研过程中可用问答分析法(参见《需求开发过程》中需求调研的方法),也可结合原型法将客户的需求快速开发形成页面原型并与客户反复讨论,最终形成《需求调研报告》。
9、 根据《需求调研报告》和其他客户需求资料,需求分析员进行需求分析并形成《需求规格说明书》,PM负责组织开发组(需求、设计、测试和QA人员)与客户方相关负责人对需求规格说明书进行评审确认(参见《需求管理过程》的“需求确认”活动)。
10、 需求评审通过后,PM根据项目情况选择合适开发模型,估算工作量和进度,并制定详细的项目进度计划(mpp格式)和《项目管理计划》,评审《项目进度计划》和《项目管理计划》。识别项目存在的风险和问题,完成《风险管理列表》和《问题管理列表》,之后PM负责监控项目执行,定期发布《项目周报》、《风险管理列表》和《问题管理列表》(视问题和风险严重程度选择及时或者定期发布),同时通过《需求跟踪矩阵》管理、跟踪《需求规格说明书》中分解的功能点。
11、 注意:需求评审之后的任何阶段,客户提出的任何需求变更均要按照公司《需求管理过程》中“4.3变更控制流程”进行申请和审批,之后才能由PM组织开发组实施、测试并验证。PM也要在《需求规格说明书》中添加变更的功能点 ,并在《需求跟踪矩阵》中对需求变更的功 能点进行管理。
12、 需求评审后,系统设计人员根据《需求规格说明书》和相关资料进行概要设计,搭出项目开发构架,产出《概要设计说明书》,之后由PM组织项目组内外资深需求、设计和编码人员对《概要设计说明书》进行评审并修订。
13、 需求评审后,测试人员根据项目经理的安排,根据《需求规格说明书》完成《测试计划》并设计系统测试用例,产出《测试计划》(可在项目计划中完成)和《测试用例》,之后由PM组织需求、测试人员对《测试计划》和《测试用例》进行评审。
14、 按照各模块优先级以及PM的安排,开发组成员逐个完成各个模块的详细设计、编码和评审工作。如选择迭代开发各个模块,那么首先需求分析员将根据评审后的《需求规格说明书》就单个模块进行详细需求调研并完善《需求规格说明书》,然后模块的设计人员根据模块需求完成《详细设计说明书》和《数据库设计说明书》;编码人员根据设计进行代码开发及单元测试。在每次《详细设计说明书》完成后,PM均要组织客户及开发组相关人员进行评审;模块代码完成后,PM要组织设计、编码人员和测试人员(视测试人员具体情况而定)对代码进行评审。
15、 单个模块完成后,可视项目情况让测试人员介入并进行单个模块的系统测试。
16、 所有模块代码完成后,即实现了模块的集成,此时要进行联调并修改BUG。
17、 设计完成后,由开发人员根据设计文档进行集成测试用例设计,在各模块集成后,由开发人员进行集成测试并产出《集成测试报告》。
18、 集成测试完成后,由测试人员根据系统测试用例进行系统测试并产出《测试报告》。
19、 系统测试ok后,由PM安排人员负责上线准备,完成《上线计划》(可在项目计划中完成)和其他必要文档。
20、 PM安排人员给客户安装部署和培训,并由客户确认,之后由部署人员完成《上线报告》。
21、 部署上线完成后,由PM负责打包提交客户要求的各种开发文档,客户需要试运行一段时间,Close试运行阶段Bug后,由PM协助客户完成《试运行报告》(或PM完成报告,由客户签字),进入终验时期,一段时间的试运行后无问题,完成《终验报告》并完成收款。
22、 项目结项(研发组),进行结项评审,形成《项目总结书》。
23、 项目进入维护期。
24、 维护期结束,项目结束。
注意:
l 整个开发过程中的活动均要项目组QA直接或间接的参与,在项目计划制定时,QA也要制定《XX项目QA计划》并评审,指导项目组按照项目裁剪的流程执行。
l 项目所有的工作产物和版本均要由项目的配置管理员SCM在配置管理工具(SVN或VSS)中统一管理,SCM 也要根据《项目计划》完成《SCM计划》并评审。
4.1.6 输出
客户要求的各种文档和公司要求文档(见流程图中各活动的输出):
《SOW》、《解决方案》、《项目合同》、《立项意见表》、《项目启动报告》《项目裁剪报告》《需求调研报告》、《需求规格说明书》、《概要设计说明书》、《详细设计说明书》、《数据库设计说明书》、《需求跟踪矩阵》、《问题管理列表》、《风险管理列表》、《项目计划》、《项目周报》、《上线报告》、《测试用例》、《测试报告》、《试运行报告》、《项目总结书》等
4.1.7 退出条件
维护期合同到期。
4.1.8 方法
《组织标准过程裁剪指南》
5. 实施建议
裁剪建议:
可以根据项目情况裁剪以下的活动:
l 竞标,部分项目不存在此活动。
l 评审,开发过程中并不一定所有里程碑产物均要评审,可视重要程度裁剪部分评审,但《需求规格说明书》的评审一定要执行。
l 单元测试和集成测试,如进行了代码评审,可视情况裁剪单元测试;如人力资源不允许,可视情况裁剪集成测试。
l 开发流程中部分活动的输入、输出文档,可视项目具体情况裁剪,如《开发框架.ppt》。
具体裁剪请参见各子流程的裁剪建议。
6. 涉及到的相关文件和表单
对于各阶段详细过程步骤,请参考以下详细过程文档:
1、 《售前支持过程》
2、 《立项过程》
3、 《项目计划》
4、 《需求开发过程》
5、 《需求管理过程》
6、 《系统设计过程》
7、 《编码与集成过程》
8、 《系统测试管理》
9、 《上线过程》
10、 《结项过程》
11、 《维护与服务过程》
以下是“支持及跟踪管理过程”
12、 《项目监控过程》
13、 《风险管理过程》
14、 《同行评审过程》
15、 《缺陷管理过程》
16、 《配置管理过程》
17、 《质量保证过程》
18、 《度量管理过程》
19、 《组织培训过程》
20、 《过程改进过程》
21、 《组织标准过程裁剪指南》
文件修改记录
文件编号
版本号
拟制人/
修改人
拟制/修
改日期
更改理由
主要更改内容(写明修改条款项号)
是否基线
评审编号
注1:每次更改归档文件(指归档到公司档案室的文件)时,需填写此表。
注2:文件第一次归档时,“更改理由”、“主要更改内容”栏写“无”。
展开阅读全文