1、软件开发管理制度第一节 总 则 第一条 为规范自有软件研发以及外包软件的管理工作,特制定本制度。本制度适用 于公司软件研发与管理。 第二条 本制度中软件开发指新系统开发和现有系统重大改造,此类工作均需要以项 目制管理。 第三条 本制度中自行开发是指主要依赖公司自身的管理、业务和技术力量进行系统 设计、软件开发、集成和相关的技术支持工作,一般仅向外购置有关的硬件 设备和支撑软件平台;合作开发是公司与专业 IT 公司(合作商)共同协作 完成 IT 应用的项目实施和技术支持工作,一般形式是公司负责提供业务框 架,合作商提供技术框架,双方组成开发团队进行项目实施,IT 系统的日常 支持由技术研发部承担
2、;外包开发是指将 IT 应用项目的设计、开发、集 成、培训等任务承包给某家专业公司(可以是专业的 IT 公司或咨询公司 等),由该公司 (承包商 )负责应用项目的实施。 第四条 软件开发遵循项目管理和软件工程的基本原则。项目管理涉及立项管理、项 目计划和监控、配置管理、合作开发管理和结项管理。软件工程涉及需求管 理、系统设计、系统实现、系统测试、用户接受测试、试运行、系统验收、 系统上线和数据迁移。 第五条 除特别指定,本制度中项目组包括业务组(或需求提出组)、开发组(可能 包括网络管理员和合作开发商)。 第二节 立项管理 第六条 提出项目需求的部门参与公司层面立项,进行立项的技术可行性分析,
3、编写 立项分析报告(附件一),开展前期筹备工作。立项分析报告应明确 项目的范围和边界。 第七条 需求提出部门将立项分析报告交相关部门会签后,上交公司总裁与董事 长进行立项审批,以保证系统项目与公司整体策略相一致。 第八条 立项分析报告得到批准后,成立项目组(如果是外包开发,则成立外包 商项目组; 如果是合作开发,则与外包商共同成立合作开发项目组,以下统 称“项目组”),项目组应包括业务组(由公司技术研发部需求管理组和相关 业务部门组成)和开发组(自行开发为技术研发部开发组、网络管理员; 外 包开发为技术研发部指定的开发组长、网络管理员和外包商成员; 合作开发 为技术研发部开发组指定人员、网络管
4、理员和外包商成员)。公司技术研发部 PMO(项目管理办公室)委派一名项目经理负责监督项目的进度,进行项 目管理工作,确保开发能及时完成并能满足业务需要。项目组人员的选择应 满足项目对业务及技术要求,项目组人员应有足够的业务和 IT 技术方面的 专业知识来胜任项目各方面的工作。 第三节 需求分析 第九条 立项后业务组对用户需求进行汇总整理,出具业务需求说明书(附件 二), 并确保 业务需求说明书中包含了所有的业务需求。经系统使用部 门审批确认,作为业务需求基线。 第十条 业务组在获得业务需求说明书后,提出技术需求和解决方案,并对系统 进行定义,出具系统需求规格说明书(附件三)。系统需求规格说明
5、书需详细列出业务对系统的要求(界面、输入、输出、管理功能、安全需 求、运作模式、关键指标(KPI)等),最好是采用原型方式表达。系统需求 规格说明书需要由业务组提交给相关业务部门负责人确认。 第十一条 对于合作开发的项目,当业务需求发生变更时,业务组应提交需求变更申 请(附件四), 项目经理审批后交给开发组长实施。 第十二条 项目组应对需求变更影响到的文档及时更新。 第四节 项目计划和监控 第十三条 软件开发采用项目形式进行管理。项目经理负责整个项目的计划、组织、领 导和控制。 第十四条 需求分析过程中,项目经理组织制定详细的项目计划书(附件五), 包括 具体任务描述和项目进度表等。 第十五条
6、在项目的各个阶段,业务组组长和开发组组长需配合项目经理制定阶段性项 目计划。业务组组长和开发组组长需配合项目经理对项目计划执行情况进行监控,确保项目按计划完成。第十六条 项目计划需要变更时,项目经理填写项目计划变更说明(附件六 ),并提 交公司主管领导审批,通过审批后,交给业务组组长和开发组组长执行。 第五节 系统设计 第十七条 系统设计应分为概要设计和详细设计,系统设计要遵循完备性、一致性、扩 展性、可靠性、安全性、可维护性等原则。 第十八条 在系统设计阶段中,用户应充分参与,确保系统设计能满足系统需求。 第十九条 项目组进行设计,出具设计说明书(附件七)和单元测试用例(附件 八) 。设计说
7、明书中需要定义系统输入输出说明和接口设计说明。公司主 管领导组织相关人员对概要设计进行评审,出具设计评审报告(附件 九)。业务组组长和开发组组长应参加此评审并对评审意见签字确认。 第二十条 设计评审均以业务需求说明书和系统需求规格说明书为依据,确保 系统设计满足全部需求。 第二十一条 对已确认通过的系统设计进行修改需获得项目经理、业务组组长和开发组组 长的审批后方可进行。 第二十二条 对系统设计的修改的文档须由文档管理人员进行归档管理。 第六节 系统实现 第二十三条 开发组根据设计说明书制定系统实现计划,并提交项目经理对计划可行 性进行审批。 第二十四条 系统实现包括程序编码、单元测试。 第二
8、十五条 开发组保证开发、测试和生产环境独立,为各环境建立访问权限控制机制, 并明确项目成员的职责分工。对开发环境、测试环境与生产环境在物理或逻 辑方面应该做到隔离;如果环境的分隔是通过逻辑形式实现的,应定期检查 网络设置。项目组对已授权访问生产环境的人员进行详细记录,并对该记录 进行定期检查,确保只有经授权的人员才能访问到生产环境。 第七节 系统测试和用户测试第二十六条 测试组制定系统测试计划(附件十),并提交项目经理对计划可行性进行 审批。 第二十七条系统测试计划必须定义测试标准,并明确各种测试的测试步骤和需要的 系统设置要求。 第二十八条 开发组向数据拥有部门申请获取测试用业务数据的使用权
9、,对获取的数据进 行严格的访问控制,确保只有相关项目人员才能访问及使用。 第二十九条 开发组负责测试数据准备,测试用数据要足够模拟生产环境中的实际数据。 对已评定为敏感信息的数据进行敏感性处理和保护。 第三十条 开发组或合作开发商协助技术研发部测试组建立测试环境进行系统测试。在 系统测试中对新系统内部各模块之间的接口和与其他系统的接口进行充分测 试。技术研发部测试组出具系统测试报告(附件十一), 测试人员签字确 认测试结果。 第三十一条 系统测试通过后,开发组配合业务组建立用户测试环境,业务组根据用户测 试用例进行用户测试,出具用户测试报告(附件十一), 业务组组长和开 发组组长应在用户测试报
10、告中签字确认。 第三十二条 项目组完成系统帮助文档(其中包括用户操作手册和安装维护手 册)。凡涉及应用系统的变更,应对系统帮助文档及时更新。 第八节 试运行 第三十三条 系统主要使用部门根据项目规模及影响决定试运行策略。 第三十四条 项目组制定试运行计划(附件十二),并制定试运行验收指标,上报公司 主管领导审批。试运行计划中应包含问题应对机制,明确问题沟通渠道 和职责分工。 第三十五条 项目组联合试运行单位进行相关系统部署工作,准备培训资料,对相关用户 和信息技术人员进行培训。用户培训的完成度应为实施后评估的指标之一。 第三十六条 项目组根据试运行计划进行系统转换和数据迁移。系统转换前,检查系
11、 统环境,确保运行环境能满足新应用系统的需要。系统转换时必须详细记录 原系统中的重要参数、设置等系统信息,并填写试运行报告相关内容。系统 参数、设置的转换工作作为系统上线的验收的评估指标之一。 第三十七条 数据迁移前,应制定详细的数据迁移计划(附件十三), 数据迁移计 划中应包含迁移方案、测试方案、数据定义,新旧数据对照表、迁移时 间、回退计划等信息。数据迁移计划需经项目经理和主管领导签字审批。 第三十八条数据迁移后,项目组对数据迁移的完整性和准确性作出检查,出具数据迁 移报告(附件十四),其中包括数据来源、转换前状态、转换后状态,数据迁移负责人、对完整性检查情况、对准确性检查情况等内容。各相
12、关部门验 收转换结果后在该报告上签字确认。 第三十九条 系统转换和数据迁移由试运行单位业务部门和公司主管领导共同监督并进行 验收。 第四十条 系统转换和数据迁移验收通过后,正式启动试运行。在试运行过程中,试运 行单位办公室把系统运行情况(系统资源使用,反应速度等)记录到试运行 报告中。必要时,项目组应根据系统运行情况对应用系统进行优化。 第四十一条 试运行达到试运行计划规定的终止条件时,项目组编写试运行报告(附 件十五) 。此报告应由项目组和试运行单位签字确认,并提交公司主管领导 审阅。公司主管领导审阅试运行结果,决定试运行结束或延期。 第九节 系统验收 第四十二条 系统主要使用部门及技术研发
13、部联合组成独立系统验收小组,也可授权原项 目组作为验收小组。验收小组从功能需求及技术需求层面对系统进行综合评 估。 第四十三条 验收小组应根据验收情况整理形成系统验收报告(附件十六) 提交系统 主要使用部门和技术研发部审阅。 第四十四条 系统主要使用部门和信息技术部门负责人根据系统测试、试运行情况签署验 收意见。 第十节 系统上线 第四十五条 系统上线应遵循稳妥、可控、安全的原则。 第四十六条 通常情况下,系统上线包含数据迁移工作。 第四十七条 项目组制定系统上线计划(附件十七),上报公司主管领导审批。在上线 计划得到批准后才能开始部署上线工作。 第四十八条系统上线计划内容应包括但不限于: 1
14、、部署方式和资源分配(包括人力资源及服务器资源);2、上线工作时间表; 3、上线操作步骤以及问题处理步骤; 4、项目阶段性里程碑和成果汇报(项目执行状态的审阅、进度安排等); 5、数据迁移的需求和实施计划; 6、完整可行的应急预案和“回退” 计划;7、用户培训计划(包括: 培训计划、培训手册、培训考核等); 8、公司下发的系统标准参数配置。 第四十九条 上线单位在上线初期需加强日常运行状态监控,出现问题时应及时处理,对 重大问题应启动紧急预案。 第五十条 在完成上线后要填写系统验收评估报告(附件十八)。系统验收评估报 告内容包括: 数据准确性、系统性能及稳定性、接口问题、权限问题、业 务操作影
15、响度、问题处理情况、备份、批处理等。 第五十一条 上线单位管理层要对系统验收评估报告进行审批签字。 第五十二条 公司主管领导批准结项后,业务组和开发组将整理的文档提交各自部门统一 管理。 第十一节 合作开发管理 第五十三条 第五十四条 第五十五条 第五十六条 第五十七条第五十八条第五十九条第六十条第六十一条第六十二条6、完整可行的应急预案和“回退” 计划; 7、用户培训计划(包括:培训计划、培训手册、培训考核等); 8、公司下发的系统标准参数配置。 上线单位在上线初期需加强日常运行状态监控,出现问题时应及时处理,对 重大问题应启动紧急预案。 在完成上线后要填写系统验收评估报告(附件十八) 。系
16、统验收评估报 告内容包括: 数据准确性、系统性能及稳定性、接口问题、权限问题、业 务操作影响度、问题处理情况、备份、批处理等。 上线单位管理层要对系统验收评估报告进行审批签字。 公司主管领导批准结项后,业务组和开发组将整理的文档提交各自部门统一 管理。 合作开发商的选择应遵循公司相关规定,合作商资质认定参见第三方管理制 度。 合作开发商必须遵循公司软件开发管理制度。项目经理同合作开发商明确规定项目变更的范围和处理方式,重点关注需求 和设计变更。 项目经理负责监控合作开发商的项目管理及软件开发活动。合作开发商应按 计划定期向项目经理报告进展状态,并提交阶段性成果文档。发生重大问题 时,合作开发商
17、需及时向项目经理汇报。 开发组组长派专人监控合作开发商的质量保证过程。 项目组同合作开发商商定验收的标准和方法。 以上各要求需要在开发合同中明确。 第十二节 系统交付 在系统验收通过后,项目组对运维组进行系统维护培训。 项目组提交全部经审批的交付物给 PMO 存档。 项目组填写系统交付申请(附件十九 ),提交主管技术总裁审批后,交付 运维组。 第 7 页,共 53 页 技术开发管理制度 第六十三条 第六十四条 第六十五条第六十六条第六十七条第六十八条 第六十九条 第十三节 外包开发管理 立项申请得到公司主管领导的审批后,选定开发商,签订外包开发合同。 项目经理负责监控外包开发商的项目管理及软件开发活动。外包开发商应按 计划定期向项目经理报告进展状态,并提交阶段性成果文档。发生重大问题 时,外包开发商需及时向项目经理汇报。