轻量级过程改进之综述
轻量级过程改进(Light-weight process improvement,LPI)是一种针对中小型团队软件研发过程中普遍存在的重技术轻管理、研发管理缺乏规范、过程改进理念淡薄等现状和问题而整理的一种“软件过程改进方法和规范”,有众多轻量级过程改进域组成,主要对中小型团队持续地改进其软件过程能力提供一些参考,内容组织上尽量保持其通用性,但个人水平和经验有限,很多改进域可能只局限于特定团队和场景,需要大家根据各自团队的现状做裁剪和扩充。
一.轻量级过程改进
轻量级过程改进参考了目前业界主流研发管理理念和模型,包括PACE、IPD、CMMI、SCRUM、XP、LEAN以及PMBOK中的内容,个人认为这些理念和模型都有其独到之处,但也各有其局限性,如PACE和IPD主要面向大型团队且需要与团队绩效等组织层面工作模式紧密结合,中小型团队通常不适合;CMMI模型只是回答了“达到XX级别的软件过程应该长什么样”这个问题,并没有说明“怎么做才能达到XX级别”,而且本身也是过于复杂,中小型团队实施过程需要精简和剪裁;SCRUM模型看似简单,但对团队要求太高,要想达到理想效果难度偏大;XP偏重于工程实践,在管理理论体系上不够完善;LEAN目前还处于理论体系研究和完善阶段,缺乏具体可操作的模式和工具;PMBOK则偏重于通用性的项目管理,而不是软件研发过程的管理。
初创型团队或亟需过程改进的团队通常不建议也无法照搬上述模型中的任何一个,而需要结合团队实际情况博采众长和集思广益,这也是LPI的思路。这里的轻量级的含义就是我们的做法是尽量简单以确保能够得到团队的认可并进行广泛推广,我们的目标也不是能够做到100分,而是一个从不及格到60分的过程,如果我们哪一天能够站在60分的角度去看问题了,那可能我们就会采用其他的模型来帮助我们做更高层次的过程改进。
二.改进域
轻量级过程改进不是一个完整模型,也不是一套解决方案,关注点在于“改进”,即从研发团队中存在的问题出发提出解决问题的方法论和实践模式,而问题来自于研发团队的方方面面,个人梳理这些问题并把它们整理成五个大类,分别是:
- 产品管理:涉及产品设计的战略、平台和规划管理,以及产品调研、需求分析等方面
- 项目管理:涉及从项目启动到项目验收的全过程,主要把握范围、计划和客户满意度等方面
- 研发管理:涉及从获取需求到服务交付的全过程,主要把握系统设计、开发、测试等方面
- 运营管理:涉及如何进行服务发布、市场推广、客户请求管理等方面
- 团队管理:涉及团队的组建、培训、协作以及过程资产建设等方面
上述五大类涵盖了一个研发团队中需要进行过程改进的主要工作领域,每个大类中我们再根据工作的性质和内容细分具体的改进域。本文中共计梳理20个改进域,具体包括:
产品管理 |
改进域描述 |
高效决策 |
对如何进行有效决策以促进团队对产品开发达成一致进行分析和改进 |
产品平台 |
对如何创建产品化平台以促进产品的稳定构建进行分析和改进 |
标准化管理 |
对如何通过产品标准化管理促进快速开发和项目实施进行分析和改进 |
需求开发 |
对如何针对具体产品需求进行需求分析和开发进行分析和改进 |
项目管理 |
改进域描述 |
项目启动 |
对如何从销售线过度到项目线从而有效启动项目进行分析和改进 |
项目计划 |
对如何创建、管理项目范围和时间进行分析和改进 |
需求管理 |
对如何进行需求调研、需求管理进行分析和改进 |
项目监控 |
对如何进行需求变更、问题跟踪和风险管理进行分析和改进 |
客户验收 |
对如何进行产品试运行和验收进行分析和改进 |
研发管理 |
改进域描述 |
系统集成 |
对如何在多人、多系统开发环境下进行高效集成进行分析和改进 |
技术评审 |
对如何使用技术评审进行研发过程和代码质量把控进行分析和改进 |
配置管理 |
对如何进行版本控制、基线管理等进行分析和改进 |
质量保证 |
对如何进行产品和过程质量保证进行分析和改进 |
量化管理 |
对如何进行研发过程的信息透明、开发度量进行分析和改进 |
运营管理 |
改进域描述 |
服务运营* |
对如何高效的收集、分析服务用户数据并促进产品优化进行分析和改进 |
客服管理* |
对如何高效的响应、统计和分析客户请求进行分析和改进 |
团队管理 |
改进域描述 |
跨职能团队 |
对如何创建、建设和管理研发团队进行分析和改进 |
团队培训 |
对如何开展团队培训提高团队整体战斗力进行分析和改进 |
过程资产建设 |
对如何建设团队的过程资产、管理团队知识进行分析和改进 |
绩效管理 |
对如何进行团队绩效管理进行分析和改进 |
*相对企业级应用,运营管理和客服管理更加偏重于面向互联网的产品管理
每一个改进域通过以下简单结构进行组织:
- 改进域主要概念和规程介绍
- 现状表述与问题分析
- 改进的切入点和思路
- 改进的模式和实践
伴随改进域的分析、展开和总结,可能会有文档及过程资产等需要梳理,在每个改进域中也会有相应的描述并提供简要的模板说明。
三.角色与职责
轻量级过程改进主要围绕研发团队展开工作,同时包括研发团队外围的部门和团队,本文中提到的每个改进域都是站在研发团队的角度上看问题,研发团队角色是其主要的参与角色,但可能也包括一些配合型的、非研发团队角色。研发团队主要角色和职责总结如下:
- 过程改进小组:根据团队的现状分析、计划和裁剪过程改进模型,并负责在团队中推广、实施具体的过程改进措施。过程改进小组类似CMMI中的SPEG,本文就是站在过程改进小组这一角色的立场上阐述如何进行轻量级过程改进
- 项目经理:是项目管理过程改进域的主要负责人,团队中的项目经理、项目实施人员等构成了项目管理团队,这里抽象成项目经理这一统一角色
- 产品经理:是产品管理过程改进域的主要负责人,团队中的产品经理、需求分析人员等构成了产品管理团队,这里抽象成产品经理这一统一角色
- 运营经理:运营经理通常和产品经理紧密协作,可能隶属于产品管理团队,但也可以形成独立的运营管理团队,是运营管理管理改进域的主要负责人。有些组织可能把运营团队和研发团队区分成两个独立的团队,但工作模式大致类似
- 开发人员:泛指团队中所有的技术人员,包括设计人员、编码人员等
- 测试人员:泛指团队中进行测试工作的人员,这里把测试人员(QC)与质量保证人员(QA)做区分,现实中可能是一人同时担当两种角色
- 质量保证人员:定期/不定期的开展“过程与产品质量检查”、跟踪质量问题,给出质量改进措施
- 配置管理人员:通常可以由其他角色兼任,主要负责维护中央配置库,并进行配置项、基线等配置管理
外围团队主要角色和职责总结如下:
- 客服团队:客服团队会与产品团队、质量保证团队有较多交互,面向终端用户,负责收集产品上来自用户的各种请求、问题和反馈
- 市场团队:市场团队主要会与研发团队中的运营管理团队进行交互共同进行产品的推广活动
- 销售团队:销售团队在项目初期与项目管理团队会有较多交互,并在涉及项目需求变更和最终验收过程中发挥作用
- 人力资源团队:人力资源团队主要在团队组建和培训方面会有一定的参与
四.小结
过程改进的目标是改进研发团队的整体绩效,过程改进是一项重要和长远的工作,一定要根据机构的实际情况(如发展战略、研发实力等)来梳理过程域和改进方案,并要充分考虑过程改进的成本和效益。轻量级过程改进的宗旨是针对没有专设过程改进部门的中小型研发团队,通过比较低的代价有效地改进过程能力,目标是能达到适合团队发展的过程能力。过程改进的推行者应当具备一定的软件工程和项目管理知识,再通读主流的软件开发管理模型和过程改进模型,并进行裁剪和扩充。本系列后续文章将对具体的改进域逐一展开讨论,很多内容见仁见智,不当之处欢迎一起交流。
轻量级过程改进之综述相关推荐
- 轻量级过程改进之需求管理
需求管理在于管理产品研发过程中的客户需求,建立项目相关干系人对需求的共同理解,维护需求与所开发产品之间的一致性,并控制需求的变更.需求管理的重要性不言而喻,在前面讲到的项目启动.项目计划以及接下去要讲 ...
- 轻量级过程改进之绩效管理
绩效管理是对团队成员进行工作评估和激励的过程,虽然很多时候会由人事部门进行员工的绩效管理,但对研发团队而言,技术人员的绩效管理很难把控,所以很多团队往往对绩效管理避而远之,采用管理层主观判断的方法进行 ...
- 轻量级过程改进之我见
轻量级过程改进是一个有趣的话题. 何谓轻量级过程改进呢?我认为应该是投入少,见效快的过程改进! 如何做到轻量级的过程改进呢?我认为有以下几点: (1)经验型改进,而非定量改进. 假如你感冒了,咳嗽,如 ...
- 轻量级过程改进项目启动
项目开始时的研究和开发的源泉,在r \\ u0026研发团队而言是一个很大的事情,然而,项目启动是不是easy事儿,这个过程必须满足很多条件才能真正启动项目,否则,非正规甚至是不合理的项目才会开始进行 ...
- 过程改进建设中的常见奖励措施
常见的有四类过程改进值得考虑的奖励措施 一.Process Champion 过程冠军 奖励在过程定义.知识整理并传播中突出贡献的人 过程冠军 承担某方面过程的定义起草.编写教材,提供培训和指导. 对 ...
- SPICE:过程改进的又一种选择
根据2008年3月美国国防部直属的软件工程研究所(简称CMU/SEI)公布的年度数据显示,中国通过CMMI(能力成熟度集成模型)认证的企业总数达到448家,已超过印度(311家),居世界第二位,仅次于 ...
- cmmi文档_实施CMMI过程改进的框架介绍
已经了解了CMMI实施方法是IDEAL模型,而今天是在IDEAL模型的基础上实施CMMI过程改进的框架,该框架可以很好的帮助大家理解IDEAL模型和CMMI过程改进的核心内容.框架图如下: 框架内容介 ...
- 【过程改进】10分钟进阶Nuget
目录 nuget初识 nuget本地包 nuget解决依赖冲突 nuget是什么 .net版的maven(java)? 如果你用过windows的chocolatey,mac的homebrew或许更容 ...
- 过程改进的疑惑 - 习惯能改么?
各位同志, 大家是否可以帮助这位同志分析分析一下这个问题的关键在哪里?如何解决? 我在后面也有一点评注.请留意. 老杨 ------- 培训心得一: 过程改进的疑惑 转眼来公司已经一年,很惭愧,作为专 ...
最新文章
- BZOJ5323 洛谷4562:[JXOI2018]游戏——题解
- 网站排名优化需掌握四项基本要素
- CRM BSP里控制左右对应对齐的属性align
- python开发需要学什么_用Python进行web开发需要学习什么?
- 记录一次可能的order by注入
- java验证只能输入数字和字母_java:为什么我做的验证只能验证数字和字母不重复,不能验证汉字不重复...
- 浅谈C#ref和out
- java socket php_Web架构(二)PHP Socket与Java ServerSocket交互
- QQ空间美化高仿认证PS动态皮肤背景音乐添加快速聊天
- OSChina 周一乱弹 —— 程序猿到底是多有才?
- Python分析《三国演义》中的社交网络
- 计算机表格的名次怎么弄,excel表格函数名次怎么做
- 知识点 - 线性丢番图方程 Linear Diophantine Equations
- 深度学习基础之-2.3简单的神经网络(单个输入/多个输入)做线性回归+特征值归一化
- Ajax异步数据抓取
- 半监督学习笔记(四):熵最小化、代理变量
- PMP 模拟200题
- 快学excel-VBA创建数据透视表
- 2017年第十五届Esri中国用户大会资料分享
- RGB、YUV420p、YUV420sp之间的互相转换(C++)
热门文章
- [Java基础]--Java GC工作原理
- 两部手机怎样才能把数据都传过来_两台苹果手机怎么传数据
- Vue调用本地摄像头权限
- VC :在对话框中绘图
- linux搭建泰拉瑞亚(Terraria)服务器
- Java燕山大学_GitHub - jiajiayao/YsuSelfStudy: 燕山大学空教室查询及教务辅助系统,中国大学生计算机设计大赛省赛三等奖,已上架小米应用商店...
- 云服务器上搭建个人云笔记——leanote
- 我所首席执行主任律师王杰接受《电脑报》记者采访就sp发展发表观点
- 百度知道引流有哪些方法?一个互动式的疑问解答
- php 元旦祝福,元旦祝福语