软件外包流程及相关规范XXXXXXXXX网络科技有限公司目录一、外包前的准备工作............................................................................................................31.1项目负责人的确定..........................................................................................................31.2需求文档的制定..............................................................................................................31.3《软件开发方案》及接包方的确定...............................................................................31.4接包方责任人的确定......................................................................................................4二、软件在开发过程中的管理................................................................................................42.1软件需求的细化..............................................................................................................42.2开发过程中的管理及协调..............................................................................................42.3软件需求变动..................................................................................................................4三、交付验收过程管理............................................................................................................53.1软件交付前的内测..........................................................................................................53.2软件交付时的公测..........................................................................................................53.3软件验收交付的内容......................................................................................................63.4软件的验收......................................................................................................................63.5软件验收报告..................................................................................................................6四、交付后的程序及源代码管理............................................................................................74.1软件交付后的程序BUG处理.........................................................................................74.2软件交付后的功能更改..................................................................................................74.3程序发布及源代码管理..................................................................................................7一、外包前的准备工作1.1项目负责人的确定外包项目确定启动前,我方应制定一个专门人员,作为软件外包的项目负责人,全权处理外包项目的所有事务。1.2需求文档的制定由项目负责人,对项目软件的使用范围、用户人群定位等进行详细分析,规划出软件的主要功能,同时结合我们现有平台软件,对软件的开发环境、应用环境做出规范要求,以此制定出《软件需求文档》。《软件需求文档》在经项目组讨论后生效。《软件需求文档》应包括以下内容:项目软件的中英文名称、预计开发周期;软件的技术规范,如开发环境、应用环境、数据库标准、数据交换接口等;软件的适用范围、主要应用思想;主要功能模块及功能详细说明;业务基本流程;1.3《软件开发方案》及接包方的确定1.《软件需求文档》确定后,根据需求文档预选定接包方;2.接包方同项目负责人沟通技术细节后,由项目接包方根据需求方案,对开发流程进行细化,制定《软件开发方案》及相关DEMO;3.项目负责人根据《软件开发方案》和DEMO确定最终的接包方,双份针对软件开发、后期应用、源代码交付方式等细节进行磋商,签订《软件开发合同》。《软件开发方案》中应包括以下内容:项目整体的开发进程,应包括开发、测试、验收、交付等关键环节的进度安排;软件各模块划分及定义;软件开发计划,应包括开发进度安排、详细的工期明细;1.4接包方责任人的确定软件接包方确定后,接包方应确定软件开发的负责人,协同我方项目负责人对整个项目开发过程中的所有事情进行沟通和协调处理。二、软件在开发过程中的管理2.1软件需求的细化开发方案确定后,接包方需根据开发方案书,对软件的需求进行细化,包括各模块的具体实现、子功能模块的划分、数据描述和相关报表内容等,并需及时同我方项目负责人进行沟通,以确认可行性。2.2开发过程中的管理及协调1.接包方在软件开发过程中,应该保留详细的软件开发文档,以便于后期源码程序的移交;软件开发文档应包括:模块设计说明、业务流程说明、数据库设计说明、代码中的注释等内容;2.在开发过程中,开发负责人应至少每周一次向我方项目负责人提交《开发进度报告》,以方便我方了解开发进度;3.开发负责人在开发过程中遇到需同我方进行数据对接等测试需求时,应及时同我方项目负责人联系沟通,项目负责人应及时提供测试环境,以免影响项目进度;4.开发过程中,如果因为技术或是其他原因导致功能无法实现,开发负责人应及时同项目负责人进行沟通,并进行“软件需求变动”流程;5.软件部分模块或是初步成型后,开发负责人,需联络项目负责人申请进行软件的模块测试或是初步测试;项目负责人需组织开发人员,对软件的模块及雏形框架进行测试,以保证软件符合原本设计要求;2.3软件需求变动1.在双方确认软件需求后,如有功能上的调整,双方负责人需针对新的需求进行讨论论证,并制定《软件需求变动书》;2.软件需求变动确定后,双方应根据需求变动书进行开发周期的估算,接包方需合理安排工作量,以确保整个开发进度不会延误;3.对于确实因需求改变而造成工作量加大,可能会导致开发进度延误情况,需要开发及项目负责人双方进行协调处理;三、交付验收过程管理3.1软件交付前的内测1.软件交付前,开发负责人、项目负责人需要组织我方测试人员协同开发负责人对软件进行内测。内测时,需模拟真实的使用环境,重点对软件的功能进行测试,保证功能的正常、业务流程的畅通。主要测试以下内容:1)软件各模块的名称、界面的正确及合理性;2)软件各模块功能的完整性;3)软件各业务流程运行的正确性;4)其他开发需求文档中未列到的细节问题;2.内测时,开发负责人、项目负责人,要对发现的问题进行详细的记录,并出具《软件内测报告》;3.内测结束后,接包方对内测出现的问题进行修改和调整;4.内测可能需要进行多次,直到软件没有问题符合公测要求时止;3.2软件交付时的公测1.在完成内测后,外包项目负责人,需组织实际用户对软件进行小范围的公测;主要测试以下内容:1)软件的用户体验,软件使用起来是否方便快捷等;2)在实际使用中各种参数设置的合理性;3)软件功能模块设置的合理性;4)软件功能上的新的需求;5)软件的负荷;2.公测时,接包方要同时提供《软件使用帮助》文档;3.公测时,项目负责人需及时沟通实际用户,了解实际用户对软件的意见及建议,收集整理后,汇总为《软件公测报告》;4.项目负责人需针对公测报告中的问题进行分析,然后整理汇总后,交接包方进行修改;5.接包方修改无问题后,完成软件公测;3.3软件验收交付的内容在完成公测后,进入软件的验收流程。接包方需向我方提供以下内容:1.软件的所有源代码包括软件所有的源代码、所使用的自定义类库等内容。源码应规范、完整,包含详尽的注释说明;2.软件发布好的程序包括完整的发布文件、安装程序、部署配置文档、帮助手册、软件硬件使用环境等;3.软件所有的开发文档包括软件模块设计文档、数据库设计文档、业务流程设计文档、开发环境配置文档、接口规范文档、开发过程中的需求变动书等;4.软件的相关培训等接包方需要对我方人员进行软件开发环境搭建、软件部署、软件使用等的培训;3.4软件的验收软件的验收主要包括以下内容:1.软件源代码的验收1)软件验收组根据接包方提供的开发环境文档,搭建开发环境,对软件进行编译,并对编译后的程序进行测试,以确认源代码的正确及完整性;2)组织软件验收组,对软件源码进行分析,以确认软件的可读性;2.软件相关文档的验收软件验收组对接包方提供的相关文档进行检查,确保文档完整、无误。3.5软件验收报告在软件完成公测完成后,由项目负责人组织软件验收组,汇总软件内测、公测的数据、软件的相关文档、源码后,出具软件验收报告,以完成软件测试。四、交付后的程序及源代码管理4.1软件交付后的程序BUG处理1.软件通过验收交付后,由软件项目负责人将所有源码、文档、程序进行封存,并编唯一版本号;2.封存后,如发现严重的功能缺陷及BUG,由项目负责人提出,并提交软件修改需求,接包方需对问题进行处理;问题处理后,如果修改的文件不多,则只发布更新过的文件,采用补丁包的方式对程序进行更新,程序的版本号不变化;如修改的文件较多,需同项目负责人沟通发布方式;3.封存后,如遇功能修改上的问题,只要不影响程序正常运行,暂时只对问题进行收集、整理和汇总;4.2软件交付后的功能更改1.在软件功能修改经过论证后,项目负责人可提出新的软件修改需求,对软件的功能进行修改;2.软件项目负责人将软件修改需求同开发负责人讨论后,接包方对软件进行修改和调整;3.软件进行功能调整并发布后,对软件的版本号进行升级;4.3程序发布及源代码管理1.软件在进行更新发布后,项目负责人需组织人员先对修改后的BUG或是功