软件研发流程规范
1目的
本文档的目的在于以下几点
1、 定义公司软件研发的类型
2、 定义软件研发的组织结构以及各个组织的职责
3、 定义不同类型的软件研发组织之间的协作方式
以解决日常开发过程中各个组织之间的分工不清以及写作上出现的一些问题,理顺流程,提高研发效率。
2软件研发的类型
本公司软件研发分为产品研发与项目研发。
2.1产品研发
独立进行研究开发工作,形成公司自有知识产权的软件产品(平台)。这些软件产品可以以套装的形式进行销售。
2.2项目研发
基于用户需求在公司自有知识产权的软件产品(平台)的基础上进行项目实施,通常一个项目针对一个特定的客户进行实施,销售与服务。
3研发组织结构
为了简化组织结构,精简研发流程以及避免复杂的结构所造成的沟通等成本的增加,这里研发组织只设置三种即:首席架构师、产品研发部以及项目研发部(或者应用开发部)。如图一所示。
3.1首席架构师
也可以是以首席架构师为主的架构设计小组,主要职责:
1、 公司总体技术方向,产品线发展规划;
2、 产品线以及各个独立的产品架构设计;
3、 核心组件库的建立和设计;
4、 市场以及项目研发部提交的功能需求的审核,并依据此制定产品线(或产品)的版本研发计划;
5、 指导产品研发部的技术研发工作
6、 指导项目研发部的技术开发工作;
图一研发组织结构
3.2产品研发组(部)
负责公司产品线的各个产品研发工作,同时负责组件库(基础类库)的建设和维护。主要职责:
1、按产品研发计划完成产品的开发,测试;
2、建立和维护基础类库。
3.3项目研发组(部)
负责客户项目的研发和实施。主要职责:
1、 按客户需求进行项目的开发;
2、 如果是基于公司平台,则在研发完成后需提供反馈信息给首席架构师;
3、 如果是全新研发的项目,可以在研发完成后基于项目情况向首席架构师提供关于产品研发的建议。
4研发实体间的协作
以上定义了研发组织结构以及构成结构的三类不同的研发实体,这里定义不同的研发实体之间的协作方式,以明确相互之间的接口和交互。具体如图二所示。
4.1首席架构师对外协作接口
4.1.1 输入接口
1、市场或销售捕获的用户需求;
2、项目研发组提供的产品研发建议;
3、项目研发组提供的产品Bug更正文档;
4.1.2 输出接口
1、产品线发展规划;
2、产品版本发展规划;
3、每个版本产品功能列表;
4、每个版本的产品的核心架构设计
4.2产品研发组对外协作接口
4.2.1 输入接口
1、每个版本产品功能列表;
2、每个版本的产品的核心架构;
4.2.2 输出接口
1、产品研发计划;
2、与版本发展规划相符的稳定版本的产品(平台)
4.3项目研发组对外协作接口
4.3.1 输入接口
1、稳定的产品(平台);
2、上述产品的说明文档;
4.3.2 输出接口
1、产品Bug清单(包括已经修复的或者未能修复的)
2、产品功能研发建议书
图二一个项目的研发协作活动
推荐到鲜果:


评论