一、制度目的
为规范项目研发、加强项目管理,保证信息系统符合业务一致性、内控合规性、系统稳定性、系统安全性,使我公司新产品开发能够严格遵循科学管理程序进行,公司根据企业实际情况和研发产品的特点,特制定本制度。
二、适用范围

本制度适用于产品技术人员及其关联公司的产品开发与项目管理全过程。附件涵盖《产品需求申请表》模板,《产品设计PRD文档》模板,《产品测试文档》模板。
三、制度说明

1.本制度中软件开发指新产品系统开发和现有产品系统升级改造。
2.本制度中软件开发遵循项目管理和软件工程的基本原则。项目管理涉及立项管理、项目计划和监控、配置管理、合作开发管理和结项管理。软件工程涉及需求管理、系统设计、系统实现、系统测试、验收测试、试运行、系统验收、系统上线和数据转换。
3.各软件开发项目组应严格遵循本制度所附流程和模版,若需调整需经过相关评审。
四、主要角色及职责
五、开发管理过程
(一)需求管理
依据公司业务开展及软件产品应用现状所提出的需求,均须遵循本制度内容执行。
1.需求分类:
(1)根据其紧急程度,分为紧急类需求和非紧急类需求;
(2)根据其实施优先级,分为紧急、高、中、低级四个级别;
2.审批流程
(1)需求申请人提交《产品需求申请单》(详见附件1)至业务归管部门进行业务评审,评审通过后,报至产品技术中心。
(2)产品技术中心根据产品需求进行分析,形成评审报告进行内部评审,评审通过后列入部门工作计划,并提交至公司中高决策层。评审报告内容主要包括预计工作量和成本、风险、可行性分析等(详见附件2:《产品需求文档(PRD)模板》)。
(二)立项管理
经评审确认后的产品需求由产品技术中心提交公司中高决策层,讨论通过后立项。
(三)项目计划与监控
对于产品需求,软件开发采用项目形式管理,项目经理负责整个项目的计划、组织、协调和控制。技术总监配合项目经理、产品经理与项目干系人进行有效沟通,在项目目标、项目计划和工作方法上达成一致。
(四)系统设计
1.在系统设计阶段中,邀请用户或者业务一线人员充分参与,确保系统设计能满足系统需求。
2.项目组结合需求规格说明书或者系统原型,进行数据库设计和功能设计,并形成《DB设计书》。项目组组织相关人员对核心功能的相关设计进行评审,出具《评审报告》,评审人员应对评审意见签字确认。
3.项目组进行详细设计,出具《单元测试案例》。《详细设计说明书》中,需要定义系统输入输出说明和接口设计说明。
4.详细设计评审和DB设计评审均以《业务需求规格说明书》为依据,确保系统设计满足全部需求。
5.对已确认的系统设计进行修改,需项目经理及技术组负责人及测试负责人审批。
(五)系统实现
1.系统实现包括程序编码、单元测试和集成测试。
2.在系统实现时保证开发、测试和生产环境独立,为各环境建立访问权限控制机制,并明确项目成员的职责分工。对生产环境、测试环境与开发环境在物理或逻辑方面应该做到隔离。
3.项目组进行单元测试和集成测试,出具《单元测试报告》、《集成测试报告》和《系统测试用例》,测试人员签字确认测试结果(详见附件3:《×××系统_测试报告》、附件4:《×××系统_测试用例》)。
4.项目组完成《用户操作手册》(参照附件5),凡涉及应用系统的变更,应对手册及时更新。
(六)系统测试及验收测试
1.项目测试组依据项目整体计划制定项目测试计划。
2.产品技术中心确保开发、测试、验收、上线运营环境独立,为各环境建立访问权限控制机制。
3.搭建验收环境供内部测试,网络运营中心在验收测试环境进行验收测试,并在《验收测试报告》签字确认。
4.业务部门邀请合作伙伴参与测试,确保与系统控制活动相关的功能得到充分的测试,确保系统生成的与编制财务报告相关的报表的正确性。
5.验收测试通过后,进一步完善《用户操作手册》。
(七)系统试运行
1.网络运营中心根据项目规模及影响决定试运行策略。
2.研发事业部组织制定《试运行计划》并提交网络运营中心审批。
3.研发事业部进行相关系统部署工作,准备培训资料,对相关用户和信息技术人员进行培训。
4.试运行达到《试运行计划》规定的终止条件时,项目组编写《试运行报告》。此报告应由项目组和试运行单位审批确认,并提交系统主要使用部门负责人审批。
(八)系统验收
1.研发事业部及业务归管部门组织验收小组,从业务需求和功能需求及技术需求进行系统评估验收。
2.验收小组依据验收情况整理形成《产品验收报告》提交信息系统研发事业部及业务归管部门审阅。
(九)系统上线
1.系统上线应遵循稳妥、可控、安全的原则。
2.研发事业部提交系统上线发布申请。
3.研发事业部在系统发布前检查经测试人员、相关业务归管部门负责人审批确认的《系统发布申请》、相关《测试报告》是否齐全,并提交公司决策层审批确认。
(十)数据转换
1.研发事业部配合数据转换/初始化各相关部门,根据网络运营中心和研发事业部负责人签字确认的《数据迁移计划》/《数据初始化计划》进行数据转换/初始化操作。
2.研发事业部将数据转换/初始化结果记录在《数据迁移结果报告》/《数据初始化结果报告》中,由网络运营中心负责人审阅并签字确认。
(十一)结项管理
系统结项后,将系统交由运维团队进行维护支持工作。
(十二)配置管理
1.产品技术中心统一使用SVN进行版本控制。
2.软件开发过程中各项目管理文档和工作成果均作为配置项进行管理,其中包括:需求文档、设计文档、代码、测试用例、测试数据、数据转换记录以及项目相关文档。
六、开发模式
我公司采用混用开发模式,以传统瀑布式开发模式加入敏捷开发特点,多讨论、多沟通,减少冗杂,做到项目的科学管理,完成产品的快速迭代升级。
(一)前期准备、评审阶段
此阶段主要内容为需求分析,制定相应的解决方案,并对方案进行分析。
1.需求分析:专业业务需求人员需明确产品需求,分析其版本功能、业务背景、需解决问题、用户操作场景等主要信息。
2.解决方案:包括系统功能、技术方案等,内容格式可自由扩展,但需明确满足产品需求的方式、方法。
3.方案评审:须经业务专家级人员及业务经验丰富的人员参与评审,做出关键评审意见,在此基础上进一步充实解决方案,形成项目列表。同时完成针对每个开发功能, 拆解为详细的开发步骤, 估算出工作量。
(二)项目实施阶段
本阶段重点内容为确立产品最终需求,使团队成员更加清晰了解产品需求、开发、测试等多个环节,合理安排工作任务,做到科学规范,合理裁剪,快速敏捷。项目实施所涉及的过程管理,参照本制度中开发管理过程等内容。
工作任务安排如下图:
(三)迭代开发阶段
本阶段实施过程中,需遵循科学的开发管理过程,并根据实际情况进行相应的调整。
1.跨越版本升级过程中的小版本迭代升级,为短周期迭代,周期半个月,一个月,两个月不等。快速迭代过程中,技术团队应时刻重视团队合作,每个迭代过程必须遵循科学的开发管理过程,根据实际的情况进行裁剪。
2.迭代开发周期结束后,需提交可验证的交付物,团队成员针对此迭代阶段进行评审、总结,在下一个迭代过程发扬优势,规避劣势。
3.迭代开发交付的成果为经过测试团队严格测试、需求分析人员认可、满足本次迭代需求的有价值的成果。
4.迭代过程监控:涵盖晨会、夕会、周会、站立会,时间为10-20分钟。团队成员需做如下总结:昨天的成果、今天的计划、遇到的问题。项目可视化方式包含:任务燃烧图, BUG趋势图, 明细任务显示图等。
(四)集成测试阶段
本阶段按《测试计划》(详见附件5:《xx系统_测试计划_模板》)进行兼容性测试、功能测试、性能测试,确保产品整体稳定性,可靠性;制定BUG趋势图,测试工程师需对出现的BUG进行跟踪管理,可采用禅道项目管理软件等。
(五)产品上线
产品开发经过以上过程,完成内部评审后,方可上线。
产品开发过程管理
下面的附近太多了,我就不一一发了,有需要的可以留言,我打包发给大家: