早在读研究生的时候,自己负责着实验室的项目,就一直在思索如何建立一套简单又高效的研发管理体系,能够在保证项目高质量顺利进行的同时还能够提升团队成员的技术level。后来在自己在校的几次小的创业中,也做过一些尝试。直到毕业后进入前东家,在几个项目的参与过程中,见到了大公司的研发管理是如何进行的。直至加入目前的公司,将研发体系梳理一遍,且学且抄且实践,对这一套东西算是有了一定的实践感悟。
对于一个研发管理体系,其核心是围绕着产品的整个生命周期来进行的。因此,根据一个产品的生命周期,可以把研发体系划分为几个关键的环节,如图所示:
更为具体的一个研发流程则如下图所示,标注了每一个环节的参与角色。
可知,即时沟通和技术提升虽然不属于研发流程中的某一个环节,但它们是贯穿整个研发体系不可或缺的一部分,有着不可替代的作用。此外,任务管理需要对任务做整个研发生命周期的管理,除了作为其中的一个关键环节,也是贯穿整个研发流程的。
任务管理
文档协作
代码协作
质量保证
自动化部署
故障管理
即时沟通
技术提升
任务管理任务管理是产品整个生命周期首要的环节,其对研发体系也是至关重要的。项目生命周期模型,传统的有五种:瀑布模型、原型模型、螺旋模型、增量模型、V模型,而现在最为流行的是迭代开发模型,敏捷开发则是采用迭代模型的一种典型项目管理方法集合。Scrum是目前敏捷开发中最为大家熟知的开发模式(XP极限编程也是一种比较常见的敏捷开发模式),其开发流程的概览如下图所示:
简单来说,Scrum是依赖于三种角色、四种会议的自组织、信息透明化、成员平等的一种敏捷开发流程。更为详细的描述,可参见此篇文章:关于北京白癜风的治疗北京白癜风哪家医院最好