1、第 1 页,共 52 页软 件 开 发 管 理 制 度第一节 总 则第一条 为规范自有软件研发以及外包软件的管理工作,特制定本制度。本制度适用于公司总公司软件研发与管理,分公司参照执行。第二条 本制度中软件开发指新系统开发和现有系统重大改造。第三条 本制度中自行开发是指主要依赖公司自身的管理、业务和技术力量进行系统设计、软件开发、集成和相关的技术支持工作,一般仅向外购置有关的硬件设备和支撑软件平台;合作开发是公司与专业 IT 公司(合作商)共同协作完成 IT 应用的项目实施和技术支持工作,一般形式是公司负责提供业务框架,合作商提供技术框架,双方组成开发团队进行项目实施,IT 系统的日常支持由研
2、发部和合作商共同承担,研发负责内部支持,合作商负责外部支持;外包开发是指将 IT 应用项目的设计、开发、集成、培训等任务承包给某家专业公司(可以是专业的 IT 公司或咨询公司等) ,由该公司(承包商)负责应用项目的实施。第四条 软件开发遵循项目管理和软件工程的基本原则。项目管理涉及立项管理、项目计划和监控、配置管理、合作开发管理和结项管理。软件工程涉及需求管理、系统设计、系统实现、系统测试、用户接受测试、试运行、系统验收、系统上线和数据迁移。第五条 除特别指定,本制度中项目组包括业务组(营销部、运维部) 、IT 组(研发部和合作开发商) 。第二节 立项管理第六条 提出开发需求的营销部、运维部等
3、业务部门参与公司层面立项,研发部进行立项的技术可行性分析,共同编写立项分析报告 (附件一) ,开展前期筹备工作。 立项分析报告应明确项目的范围和边界。第七条 应用系统主要使用部门将立项分析报告上交公司进行立项审批,以保证系统项目与公司整体策略相一致。第 2 页,共 52 页第八条 立项分析报告得到批准后,成立项目组(如果是外包开发,则成立外包商项目组;如果是合作开发,则与外包商共同成立合作开发项目组,以下统称“项目组” ) ,项目组应包括业务组(由公司相关业务部门组成)和IT 组(自行开发为研发部;外包开发为外包商成员;合作开发为研发部和外包商成员) 。公司委派一名员工负责监督项目的进度,进行
4、项目管理工作,确保开发能及时完成并能满足业务需要。项目组人员的选择应满足项目对业务及技术要求,项目组人员应有足够的业务和 IT 技术方面的专业知识来胜任项目各方面的工作。第三节 需求分析第九条 立项后业务组对用户需求进行汇总整理,出具业务需求说明书 (附件二),并确保业务需求说明书中包含了所有的业务需求。 业务需求说明书经系统使用单位(用户)确认,作为业务需求基线。第十条 IT 组在获得业务需求说明书后,提出技术需求和解决方案,并对系统进行定义,出具系统需求规格说明书 (附件三) 。 系统需求规格说明书需详细列出业务对系统的要求(界面、输入、输出、管理功能、安全需求、运作模式、关键指标等) 。
5、 系统需求规格说明书需要由业务组提交给用户相关业务流程负责人确认。第十一条 当业务需求发生变更时,业务组应提交需求变更申请 (附件四) ,IT 组组长审批后交给业务组与用户确认方可实施。第十二条 项目组应对需求变更影响到的文档及时更新。第四节 项目计划和监控第十三条 软件开发采用项目形式进行管理。项目经理(监理)负责整个项目的计划、组织、领导和控制。第十四条 需求分析过程中,项目经理(监理)组织制定详细的项目计划书 (附件五) ,包括具体任务描述和项目进度表等。第十五条 在项目的各个阶段,业务组组长和 IT 组组长需配合项目经理(监理)制定阶段性项目计划。业务组组长和 IT 组组长需配合项目经
6、理(监理)对项目计划执行情况进行监控,确保项目按计划完成。第 3 页,共 52 页第十六条 项目计划需要变更时,项目经理(监理)填写项目计划变更说明 (附件六) ,并提交公司主管领导审批,通过审批后,交给业务组组长和 IT 组组长执行。第五节 系统设计第十七条 系统设计应分为概要设计和详细设计,系统设计要遵循完备性、一致性、扩展性、可靠性、安全性、可维护性等原则。第十八条 在系统设计阶段中,用户应充分参与,确保系统设计能满足系统需求。第十九条 项目组进行详细设计,出具设计说明书 (附件七)和单元测试用例(附件八) 。 设计说明书中需要定义系统输入输出说明和接口设计说明。公司主管领导组织相关人员
7、对概要设计进行评审,出具设计评审报告(附件九) 。业务组组长和 IT 组组长应参加此评审并对评审意见签字确认。第二十条 设计评审均以业务需求说明书和系统需求规格说明书为依据,确保系统设计满足全部需求。第二十一条 对已确认通过的系统设计进行修改需获得管理部门、业务组组长和 IT 组组长的审批后方可进行。第二十二条 对系统设计的修改的文档须由文档管理人员进行归档管理。第六节 系统实现第二十三条 项目组根据设计说明书制定系统实现计划,并提交项目经理(监理)对计划可行性进行审批。第二十四条 系统实现包括程序编码、单元测试和集成测试。第二十五条 项目组保证开发、测试和访问环境独立,为各环境建立访问权限控
8、制机制,并明确项目成员的职责分工。对开发环境、测试环境与访问环境在物理或逻辑方面应该做到隔离;如果环境的分隔是通过逻辑形式实现的,应定期检查网络设置。项目组对已授权访问环境的人员进行详细记录,并对该记录进行定期检查,确保只有经授权的人员才能访问。第二十六条 项目组进行单元测试和集成测试,测试人员签字确认测试结果。第 4 页,共 52 页第七节 系统测试和用户测试第二十七条 项目组制定系统/用户测试计划 (附件十) ,并提交项目经理(监理)对计划可行性进行审批。第二十八条 系统/用户测试计划必须定义测试标准,并明确各种测试的测试步骤和需要的系统设置要求。第二十九条 项目组向数据拥有部门申请获取测
9、试用业务数据的使用权,对获取的数据进行严格的访问控制,确保只有相关项目人员才能访问及使用。第三十条 项目组负责测试数据准备,测试用数据要足够模拟使用环境中的实际数据。对已评定为敏感信息的数据进行敏感性处理和保护。第三十一条 IT 组或合作开发商建立测试环境进行系统测试。在系统测试中对新系统内部各模块之间的接口和与其他系统的接口进行充分测试。出具系统测试报告 (附件十一) ,测试人员签字确认测试结果。第三十二条 系统测试通过后,IT 组配合业务组建立用户测试环境,业务组根据用户测试用例进行用户测试,出具用户测试报告 (附件十一) ,业务组组长和IT 组组长应在用户测试报告中签字确认。第三十三条
10、项目组完成系统帮助文档(其中包括用户操作手册和安装维护手册 )。凡涉及应用系统的变更,应对系统帮助文档及时更新。第八节 试运行第三十四条 系统主要使用部门根据项目规模及影响决定试运行策略。第三十五条 项目组制定试运行计划 (附件十二) ,并制定试运行验收指标,上报公司主管领导审批。 试运行计划中应包含问题应对机制,明确问题沟通渠道和职责分工。第三十六条 项目组联合试运行单位进行相关系统部署工作,准备培训资料,对相关用户和信息技术人员进行培训。用户培训的完成度应为实施后评估的指标之一。第三十七条 项目组根据试运行计划进行系统转换和数据迁移。系统转换前,检查系统环境,确保运行环境能满足新应用系统的
11、需要。系统转换时必须详细记录原系统中的重要参数、设置等系统信息,并填写试运行报告相关内容。系统参数、设置的转换工作作为系统上线的验收的评估指标之一。第 5 页,共 52 页第三十八条 数据迁移前,应制定详细的数据迁移计划 (附件十三) , 数据迁移计划中应包含迁移方案、测试方案、数据定义,新旧数据对照表、迁移时间、回退计划等信息。数据迁移计划需经项目经理(监理)和主管领导签字审批。第三十九条 数据迁移后,项目组对数据迁移的完整性和准确性作出检查,出具数据迁移报告 (附件十四) ,其中包括数据来源、转换前状态、转换后状态,数据迁移负责人、对完整性检查情况、对准确性检查情况等内容。各相关部门验收转
12、换结果后在该报告上签字确认。第四十条 系统转换和数据迁移由试运行单位业务部门和公司主管领导共同监督并进行验收。第四十一条 系统转换和数据迁移验收通过后,正式启动试运行。在试运行过程中,试运行单位办公室把系统运行情况(系统资源使用,反应速度等)记录到试运行报告中。必要时,项目组应根据系统运行情况对应用系统进行优化。第四十二条 试运行达到试运行计划规定的终止条件时,项目组编写试运行报告 (附件十五) 。此报告应由项目组和试运行单位签字确认,并提交公司主管领导审阅。公司主管领导审阅试运行结果,决定试运行结束或延期。第九节 系统验收第四十三条 系统主要用户单位及公司项目组联合组成独立系统验收小组,也可
13、授权原项目组作为验收小组。验收小组从功能需求及技术需求层面对系统进行综合评估。 第四十四条 验收小组应根据验收情况整理形成系统验收报告 (附件十六)提交系统主要使用部门和公司审阅。第四十五条 系统主要使用部门和研发部负责人根据系统测试、试运行情况签署验收意见。 第十节 系统上线第四十六条 系统上线应遵循稳妥、可控、安全的原则。第四十七条 通常情况下,系统上线包含数据迁移工作。第四十八条 项目组制定系统上线计划 (附件十七) ,上报公司主管领导审批。在上第 6 页,共 52 页线计划得到批准后才能开始部署上线工作。第四十九条 系统上线计划内容应包括但不限于:1、部署方式和资源分配(包括人力资源及
14、服务器资源) ;2、上线工作时间表;3、上线操作步骤以及问题处理步骤;4、项目阶段性里程碑和成果汇报(项目执行状态的审阅、进度安排等) ;5、数据迁移的需求和实施计划;6、完整可行的应急预案和“回退”计划;7、用户培训计划(包括:培训计划、培训手册、培训考核等) ;8、总公司下发的系统标准参数配置。第五十条 上线单位在上线初期需加强日常运行状态监控,出现问题时应及时处理,对重大问题应启动紧急预案。第五十一条 在完成上线后要填写系统验收评估报告 (附件十八) ,上报总公司项目组汇总整理。 系统验收评估报告内容包括:数据准确性、系统性能及稳定性、接口问题、权限问题、业务操作影响度、问题处理情况、备
15、份、批处理等。第五十二条 上线单位管理层要对系统验收评估报告进行审批签字。第五十三条 公司主管领导批准结项后,业务组和 IT 组将整理的文档提交各自部门统一管理。第十一节 合作开发管理第五十四条 合作开发商的选择应遵循公司相关规定,合作商资质认定参见第三方管理制度。第五十五条 合作开发商必须遵循公司软件开发管理制度 。第五十六条 项目经理同合作开发商明确规定项目变更的范围和处理方式,重点关注需求和设计变更。第五十七条 项目经理负责监控合作开发商的项目管理及软件开发活动。合作开发商应按计划定期向项目经理报告进展状态,并提交阶段性成果文档。发生重大问题时,合作开发商需及时向项目经理汇报。第五十八条
16、 IT 组组长派专人监控合作开发商的质量保证过程。第五十九条 项目组同合作开发商商定验收的标准和方法。第六十条 以上各要求需要在开发合同中明确。第 7 页,共 52 页第十二节 外包开发管理第六十一条 立项申请得到公司主管领导的审批后,选定开发商,签订外包开发合同。第六十二条 项目经理负责监控外包开发商的项目管理及软件开发活动。外包开发商应按计划定期向项目经理报告进展状态,并提交阶段性成果文档。发生重大问题时,外包开发商需及时向项目经理汇报。第六十三条 项目经理监控外包开发商的质量保证过程。第六十四条 项目组同外包开发商商定验收的标准和方法。第六十五条 以上各要求需要在开发合同中明确。第十三节
17、 角色与职责表第六十六条 主要角色及其职责如下表所示。企业在应用时,可以将各个角色映射到企业原有的岗位上,也可以依据角色建立新的岗位。一个人可以被赋予多个角色,视具体情况而定。常设角色 职责简述软件工程过程组(SEPG)(1)制定适合于本机构的过程规范。(2)在机构范围内推广该规范(如培训、考核) ,评估机构过程能力等。机构过程改进角色 质量保证小组(QAG)(1)监督规范的实施,确保所有项目以及相关部门准照规范开展工作。(2)分析并解决机构内存在的共性质量问题,协组 SEPG 完善规范。机构领导(1)是机构内所有项目的主管,对立项管理和结项管理有最终决策权。(2)监督项目经理的工作,审批项目
18、经理的各种申请。项目管理过程角色 项目经理(1)向机构领导汇报工作。(2)是项目规划、项目监控、风险管理和需求管理过程域的负责人。(3)监督项目成员的工作,审批项目成员的各种申请。需求分析员 调查、分析并定义需求,撰写相应的需求文档,尽最大努力使需求文档能够正确无误地反映用户的真实意愿。系统设计师 根据需求文档设计软件系统的体系结构、用户界面、数据库、模块等,并撰写相应的设计文档。程序员 (1)根据系统设计文档,编写软件系统的代码。(2)随时测试和检查自己的代码,及时消除代码中的缺陷。项目研发过程角色测试员 从事单元测试、集成测试和系统测试,主要工作包括制定测试计划、设计测试用例、执行测试和撰
19、写测试报告。第 8 页,共 52 页配置管理员(1)为项目制定配置管理计划 。(2)创建并维护配置库,如分配权限、清除垃圾文件、备份配置库等。质量保证员(即 QAG 成员)(1)为项目制定质量保证计划 。(2)周期性的开展“过程与产品质量检查” 。(3)跟踪质量问题,给出质量改进措施。外包管理员 (1)挑选最合适的承包商,签订外包开发合同。(2)监控外包开发过程,验收外包开发成果。采购管理员 (1)挑选最合适的供应商,签订采购合同。(2)验收采购物品。培训管理员 制定机构(或项目)的培训计划 ,监督该计划的实施,撰写培训评估报告 。客户服务人员 为客户提供与产品相关的服务(如技术咨询) ,快速
20、响应客户的要求,给客户一个满意的解答。机构支撑过程角色产品维护人员(1)纠错性维护:及时解决用户遇到的技术故障和消除产品中的缺陷。(2)完善性维护:在资源允许的情况下,不断改善产品功能与质量。临时角色 职责说明立项建议小组(1)开展立项调查、产品构思和可行性分析,撰写相应文档。(2)申请立项,并在立项评审会议上答辩。立项评审委员会 由机构领导、各级经理、市场人员、技术专家、财务人员等组成,委员会按少数服从多数原则投票决定是否同意立项。结项评审委员会对项目的有形资产和无形资产进行清算,对项目进行综合评估,总结经验教训等。结项委员会的人员组成与立项评审委员会的类似。技术评审委员会对工作成果进行正式
21、技术评审,尽早地发现工作成果中的缺陷,并帮助开发人员及时消除缺陷。该委员会由项目内外的技术专家组成。配置控制委员会 对配置管理各项活动拥有决策权(例如审批计划,审批变更请求等) 。第十四节附则第六十七条 本制度由公司研发部负责解释和修订。第六十八条 本制度自发布之日起开始执行。第 9 页,共 52 页附件一 立项分析报告文件标识:当前版本:作 者:文件状态: 草稿 正式发布 正在修改 完成日期:版 本 历 史版本/状态 作者 参与者 起止日期 备注1. 项目介绍1.1. 项目目的提示:用简练的语言说明本项目 “是什么 ”, “实现什么目的 ”。描述简练且清晰。1.2. 项目背景提示:阐述项目背
22、景,重点说明 “为什么 ”会产生本项目。( 1)公司的短期、长期发展战略;( 2)业务需求及发展趋势;( 3)技术状况及发展趋势;( 4)特殊的业务需求等。1.3. 项目范围提示:根据对现有需求的了解来确定项目基本范围,说明本系统 “应当包含的内容 ”和 “不包含的内容 ”。2. 项目计划2.1. 项目团队提示:说明项目团队的角色、知识技能要求、建议人选、人数、工作时间,如下表所示。角色 知识技能要求 建议人选、人数 工作时间项目经理需求开发人员 第 10 页,共 52 页系统设计人员 编程人员 测试人员质量保证人员配置管理人员服务与维护人员2.2. 成本估计内容 成本(人民币) 备注人力资源软硬件资源差旅费会议费接待费2.3. 项目时限:根据用户要求和公司研发能力设定计划研发完成时间3. 总结提示:给出清晰的建议结论,便于上级领导决策。