第1页,共40页软件开发管理制度第一节总则第一条为规范自主软件研发以及外包软件的管理工作,特制定本制度。本制度适用于集团软件研发与管理。第二条本制度中软件开发包含新系统开发和现有系统升级改造,此类工作均需要以项目制管理。第三条本制度中自主开发是指主要依赖信息中心自身的管理、业务和技术力量进行系统设计、软件开发、集成和相关的技术支持工作;合作开发是信息中心与专业IT公司(合作商)共同协作完成IT应用的项目实施和技术支持工作,双方组成开发团队进行项目实施,IT系统的日常支持由信息中心软件研发部承担;外包开发是指将IT应用项目的设计、开发、集成、培训等任务承包给某家专业公司(可以是专业的IT公司或咨询公司等),由该公司(承包商)负责应用项目的实施。第四条软件开发遵循项目管理和软件工程的基本原则。项目管理涉及立项管理、项目计划和监控、配置管理、合作开发管理和结项管理。软件工程涉及需求管理、系统设计、系统实现、系统测试、用户接受测试、试运行、系统验收、系统上线。第五条除特别指定,本制度中项目组包括业务组(或需求提出组)、开发组(可能包括合作开发商)。第二节立项管理第六条提出项目需求的部门参与立项,信息中心提供立项的技术可行性分析,编写《立项分析报告》(附件一),开展前期筹备工作。《立项分析报告》应明确项目的范围和边界。第七条信息中心将《立项分析报告》交相关部门会签后,上交集团总经理进行立项审批,以保证系统项目与集团整体策略相一致。第八条《立项分析报告》得到批准后,成立项目组(如果是外包开发,则成立外包商项目组;如果是合作开发,则与外包商共同成立合作开发项目组,以下统称“项目组”),项目组应包括业务组(由信息中心需求管理组和相关业务部门组成)和开发组(自主开发为技术研发部开发组;外包开发为技术研发部指定的开发组长和外包商成员;合作开发为技术研发部开发组指定人员和外包商成员)。信息中心委派一名项目经理负责监督项目的进度,进行项目管理工作,确保开发能及时完成并能满足业务需要。项目组人员的选择应满足项目对业务及技术要求,项目组人员应有足够的业务和IT技术方面的专业知识来胜任项目各方面的工作。第2页,共40页第三节需求分析第九条立项后业务组对单位具体需求进行汇总整理,出具《业务需求说明书》(附件二),并确保《业务需求说明书》中包含了所有的业务需求。经系统使用部门确认,作为业务需求基线。第十条业务组在获得《业务需求说明书》后,提出技术需求和解决方案,并对系统进行定义,出具《系统需求规格说明书》(附件三)。《系统需求规格说明书》需详细列出业务对系统的要求(界面、输入、输出、管理功能、安全需求、运作模式、关键指标(KPI)等),最好是采用原型方式表达。《系统需求规格说明书》需要由业务组提交给相关业务部门负责人确认。第十一条业务需求发生变更时,业务组应提交《需求变更申请》(附件四),需求部门签字确认,项目经理确认技术方案后交给业务组组长和开发组组长执行。第十二条项目组应对需求文档及时更新。第四节项目计划和监控第十三条软件开发采用项目形式进行管理。项目经理负责整个项目的计划、组织、领导和控制。第十四条需求分析过程中,项目经理组织制定详细的《项目计划书》(附件五),包括具体任务描述和项目进度表等。第十五条在项目的各个阶段,业务组组长和开发组组长需配合项目经理制定阶段性项目计划。业务组组长和开发组组长需配合项目经理对项目计划执行情况进行监控,确保项目按计划完成。第十六条项目计划需要变更时,项目经理填写《项目计划变更说明》(附件六),并提交集团相关领导审批后,交给业务组组长和开发组组长执行。第五节系统设计第十七条系统设计应分为概要设计和详细设计,系统设计要遵循完备性、一致性、扩展性、可靠性、安全性、可维护性等原则。第十八条在系统设计阶段中,需求部门应充分参与,确保系统设计能满足系统需求。第十九条项目组进行设计,出具《设计说明书》(附件七)和《单元测试用例》(附件八)。《设计说明书》中需要定义系统输入输出说明和接口设计说明。第二十条《设计说明书》以《业务需求说明书》和《系统需求规格说明书》为依据,确保系统设计满足全部需求。第二十一条对已确认通过的系统设计进行修改需获得项目经理、业务组组第3页,共40页长和开发组组长的审批后方可进行。第二十二条对系统设计的修改的文档须由文档管理人员进行归档管理。第六节系统实现第二十三条开发组根据《设计说明书》制定系统实现计划,并提交项目经理对计划可行性进行审批。第二十四条系统实现包括程序编码、单元测试。第二十五条开发组保证开发、测试和生产环境独立,为各环境建立访问权限控制机制,并明确项目成员的职责分工。对开发环境、测试环境与生产环境在物理或逻辑方面应该做到隔离;如果环境的分隔是通过逻辑形式实现的,应定期检查网络设置。项目组对已授权访问生产环境的人员进行详细记录,并对该记录进行定期检查,确保只有经授权的人员才能访问到生产环境。第七节系统测试和用户测试第二十六条测试组制定《系统测试计划》(附件九),并提交项目经理对计划可行性进行审批。第二十七条《系统测试计划》必须定义测试标准,并明确各种测试的测试步骤和需要的系统设置要求。第二十八条开发组向数据拥有部门申请获取测试用业务数据的使用权,对获取的数据进行严格的访问控制,确保只有相关项目人员才能访问及使用。第二十九条开发组负责测试数据准备,测试用数据要足够模拟生产环境中的实际数据。对已评定为敏感信息的数据进行敏感性处理和保护。第三十条开发组或合作开发商协助技术研发部测试组建立测试环境进行系统测试。在系统测试中对新系统内部各模块之间的接口和与其他系统的接口进行充分测试。技术研发部测试组出具《系统/用户测试报告》(附件十),测试人员签字确认测试结果。第三十一条系统测试通过后,开发组配合业务组建立用户测试环境,业务组根据用户测试用例进行用户测试,出具《系统/用户测试报告》,业务组组长和开发组组长应在用户测试报告中签字确认。第三十二条项目组完成系统帮助文档(其中包括《用户操作手册》和《安装维护手册》)。凡涉及应用系统的变更,应对系统帮助文档及时更新。第4页,共40页第八节试运行第三十三条系统主要应用部门根据项目规模及影响决定试运行策略。第三十四条项目组制定《试运行计划》(附件十一),并制定试运行验收指标,《试运行计划》中应包含问题应对机制,明确问题沟通渠道和职责分工。第三十五条项目组联合试运行单位进行相关系统部署工作,准备培训资料,对相关使用人和信息技术人员进行培训。培训的完成度应为实施后评估的指标之一。第三十六条项目组根据《试运行计划》进行系统转换和数据迁移。系统转换前,检查系统环境,确保运行环境能满足新应用系统的需要。系统转换时必须详细记录原系统中的重要参数、设置等系统信息,并填写试运行报告相关内容。系统参数、设置的转换工作作为系统上线的验收的评估指标之一。第三十七条试运行达到计划规定的终止条件时,项目组编写《试运行报告》(附件十二)。此报告应由项目组和试运行单位签字确认,并提交公司主管领导审阅。公司主管领导审阅试运行结果,决定试运行结束或延期。第九节系统验收第三十八条系统主要应用部门及技术研发部联合组成独立系统验收小组,也可授权原项目组作为验收小组。验收小组从功能需求及技术需求层面对系统进行综合评估。第三十九条验收小组应根据验收情况整理形成《系统验收报告》(附件十三)提交系统主要应用部门和技术研发部审阅。第四十条系统主要使用部门和信息中心负责人根据系统测试、试运行情况签署验收意见。第四十一条在系统验收通过后,项目组对运维组进行系统维护培训后交付运维组。第十节系统上线第四十二条系统上线应遵循稳妥、可控、安全的原则。第四十三条项目组发起《通知公告申请流程(集团)》,填写系统上线内容,得到批准后才能开始部署上线工作。第四十四条上线初期需加强日常运行状态监控,出现问题时应及时处理,对重大问题应启动紧急预案。第四十五条上线单位管理层要对《系统验收报告》进行审批签字。第四十六条集团相关领导批准结项后,业务组和开发组将整理的系统文档第5页,共40页提交各自部门统一管理。第十一节合作开发管理第四十七条合作开发商的选择应遵循集团相关规定。第四十八条合作开发商必须遵循信息中心《软件开发管理制度》。第四十九条项目经理同合作开发商明确规定项目变更的范围和处理方式,重点关注需求和设计变更。第五十条项目经理负责监控合作开发商的项目管理及软件开发活动。合作开发商应按计划定期向项目经理报告进展状态,并提交阶段性成果文档。发生重大问题时,合作开发商需及时向项目经理汇报。第五十一条开发组组长派专人监控合作开发商的质量保证过程。第五十二条项目组同合作开发商商定验收的标准和方法。第五十三条以上各要求需要在开发合同中明确。第十二节外包开发管理第五十四条立项申请得到集团领导的审批后,选定开发商,签订外包开发合同。第五十五条项目经理负责监控外包开发商的项目管理及软件开发活动。外包开发商应按计划定期向项目经理报告进展状态,并提交阶段性成果文档。发生重大问题时,外包开发商需及时向项目经理汇报。第五十六条项目经理监控外包开发商的质量保证过程。第五十七条项目组同外包开发商商定验收的标准和方法。第五十八条以上各要求需要在开发合同中明确。第十三节附则第五十九条本制度由信息中心负责解释和修订。第六十条本制度自发布之日起开始执行。第6页,共40页附件一立项分析报告文件状态:[√]草稿[]正式发布[]正在修改文件标识:ProjectName-当前版本:X.Y作者:完成日期:Year-Month-Day版本历史版本/状态作者参与者起止日期备注1.项目介绍1.1.项目目的提示:用简练的语言说明本项目“是什么”,“实现什么目的”。描述简练且清晰。1.2.项目背景提示:阐述项目背景,重点说明“为什么”会提出本项目。(1)公司的短期、长期发展战略;(2)业务需求及发展趋势;(3)技术状况及发展趋势;(4)特殊的业务需求等。1.3.项目范围提示:根据对现有需求的了解来确定项目基本范围,说明本系统“应当包含的内容”和“不包含的内容”。2.项目计划2.1.项目团队提示:说明项目团队的角色、知识技能要求、建议人选、人数、工作时间,如下表所示。角色知识技能要求建议人选、人数工作时间项目经理需求开发人员系统设计人员第7页,共40页编程人员测试人员维护人员……2.2.成本估计内容成本(人民币)备注人力资源软硬件资源…2.3.进度表提示:制定项目开发的进度表(建议给出项目里程碑计划)。例如:编号里程碑名称预计结束时间备注需求调研完成项目计划完成需求分析完成概要设计完成详细设计完成实现完成集成测试完成系统测试完成验收测试完成试运行结束项目验收3.总结提示:给出清晰的建议结论,便于集团领导决策。第8页,共40页附件二业务需求说明书文件状态:[√]草稿[]正式发布[]正在修改文件标识:ProjectName-当前版本:X.Y作者:完成日期:Year-Month-Day版本历史版本/状态作者参与者起止日期备注1概述1.1业务调研人员名单【可选】序号职能部门姓名主管联系电话备注1.2业务范围此处描写总体业务的概要分类。1.3业务目标从集团利益的角度提出本业务系统的期望目标,以及评价标准。1.4相关文档说明:列出本文档的所有参考文献(可以是非正式出版物),包括现有规范、标准、批文、引用到的文件、资料等。1.5业务词汇表说明:列出本文档的所引用的专属领域词汇、术语等,以便于业务需求的提供者和接收者是建立在一致的业务理解基础之上的。2组织结构及业务2.1业务相关组织结构、人员组织结构说明:如果单位岗位设置复杂可分别设置,业务组织结构和人员组织结构第9页,共40页2.2组织机构描述2.3角色职责说明:将业务涉及的具体人员进行一定程度的分类和抽象,描述该抽象角色的操作职责。2.4管理综述【可选】说明:主要描述该业务的管理特点和管理模式。例如:典型按库存生产模式。生产计划以年度销售计划为指导,并综合考虑设备能力、生产天数、库存、历史销售记录。采购计划的制订以生产计划为依据。2.5现有业务