轻量级过程改进之综述

轻量级过程改进(Light-weight process improvement,LPI)是一种针对中小型团队软件研发过程中普遍存在的重技术轻管理、研发管理缺乏规范、过程改进理念淡薄等现状和问题而整理的一种“软件过程改进方法和规范”。有众多轻量级过程改进域组成,主要对中小型团队持续地改进其软件过程能力提供一些參考,内容组织上尽量保持其通用性,但个人水平和经验有限,非常多改进域可能仅仅局限于特定团队和场景,须要大家依据各自团队的现状做裁剪和扩充。

一.轻量级过程改进

轻量级过程改进參考了眼下业界主流研发管理理念和模型,包含PACE、IPD、CMMI、SCRUM、XP、LEAN以及PMBOK中的内容。个人觉得这些理念和模型都有其独到之处,但也各有其局限性,如PACE和IPD主要面向大型团队且须要与团队绩效等组织层面工作模式紧密结合,中小型团队通常不适合;CMMI模型仅仅是回答了“达到XX级别的软件过程应该长什么样”这个问题,并没有说明“怎么做才干达到XX级别”。并且本身也是过于复杂,中小型团队实施过程须要精简和剪裁。SCRUM模型看似简单。但对团队要求太高。要想达到理想效果难度偏大;XP偏重于project实践,在管理理论体系上不够完好;LEAN眼下还处于理论体系研究和完好阶段。缺乏详细可操作的模式和工具;PMBOK则偏重于通用性的项目管理,而不是软件研发过程的管理。

初创型团队或亟需过程改进的团队通常不建议也无法照搬上述模型中的不论什么一个,而须要结合团队实际情况博採众长和集思广益,这也是LPI的思路。这里的轻量级的含义就是我们的做法是尽量简单以确保可以得到团队的认可并进行广泛推广,我们的目标也不是可以做到100分。而是一个从不及格到60分的过程。假设我们哪一天可以站在60分的角度去看问题了,那可能我们就会採用其它的模型来帮助我们做更高层次的过程改进。

二.改进域

轻量级过程改进不是一个完整模型。也不是一套解决方式,关注点在于“改进”,即从研发团队中存在的问题出发提出解决这个问题的方法论和实践模式,而问题来自于研发团队的方方面面,个人梳理这些问题并把它们整理成五个大类,各自是:

  • 产品管理:涉及产品设计的战略、平台和规划管理,以及产品调研、需求分析等方面
  • 项目管理:涉及从项目启动到项目验收的全过程,主要把握范围、计划和客户惬意度等方面
  • 研发管理:涉及从获取需求到服务交付的全过程,主要把握系统设计、开发、測试等方面
  • 运营管理:涉及怎样进行服务公布、市场推广、客户请求管理等方面
  • 团队管理:涉及团队的组建、培训、协作以及过程资产建设等方面

上述五大类涵盖了一个研发团队中须要进行过程改进的主要工作领域,每一个大类中我们再依据工作的性质和内容细分详细的改进域。本文中共计梳理20个改进域。详细包含:


产品管理


改进域描写叙述


高效决策


对怎样进行有效决策以促进团队对产品开发达成一致进行分析和改进


产品平台


对怎样创建产品化平台以促进产品的稳定构建进行分析和改进


标准化管理


对怎样通过产品标准化管理促进高速开发和项目实施进行分析和改进


需求开发


对怎样针对详细产品需求进行需求分析和开发进行分析和改进


项目管理


改进域描写叙述


项目启动


对怎样从销售线过度到项目线从而有效启动项目进行分析和改进


项目计划


对怎样创建、管理项目范围和时间进行分析和改进


需求管理


对怎样进行需求调研、需求管理进行分析和改进


项目监控


对怎样进行需求变更、问题跟踪和风险管理进行分析和改进


客户验收


对怎样进行产品试执行和验收进行分析和改进


研发管理


改进域描写叙述


系统集成


对怎样在多人、多系统开发环境下进行高效集成进行分析和改进


技术评审


对怎样使用技术评审进行研发过程和代码质量把控进行分析和改进


配置管理


对怎样进行版本号控制、基线管理等进行分析和改进


质量保证


对怎样进行产品和过程质量保证进行分析和改进


量化管理


对怎样进行研发过程的信息透明、开发度量进行分析和改进


运营管理


改进域描写叙述


服务运营*


对怎样高效的收集、分析服务用户数据并促进产品优化进行分析和改进


客服管理*


对怎样高效的响应、统计和分析客户请求进行分析和改进


团队管理


改进域描写叙述


跨职能团队


对怎样创建、建设和管理研发团队进行分析和改进


团队培训


对怎样开展团队培训提高团队总体战斗力进行分析和改进


过程资产建设


对怎样建设团队的过程资产、管理团队知识进行分析和改进


绩效管理


对怎样进行团队绩效管理进行分析和改进

*相对企业级应用。运营管理和客服管理更加偏重于面向互联网的产品管理

每个改进域通过下面简单结构进行组织:

  • 改进域主要概念和规程介绍
  • 现状表述与问题分析
  • 改进的切入点和思路
  • 改进的模式和实践

伴随改进域的分析、展开和总结,可能会有文档及过程资产等须要梳理。在每一个改进域中也会有对应的描写叙述并提供简要的模板说明。

三.角色与职责

轻量级过程改进主要环绕研发团队展开工作,同一时候包含研发团队外围的部门和团队,本文中提到的每一个改进域都是站在研发团队的角度上看问题,研发团队角色是其基本的參与角色,但可能也包含一些配合型的、非研发团队角色。

研发团队主要角色和职责总结例如以下:

  • 过程改进小组:依据团队的现状分析、计划和裁剪过程改进模型,并负责在团队中推广、实施详细的过程改进措施。过程改进小组类似CMMI中的SPEG。本文就是站在过程改进小组这一角色的立场上阐述怎样进行轻量级过程改进
  • 项目经理:是项目管理过程改进域的主要负责人,团队中的项目经理、项目实施人员等构成了项目管理团队,这里抽象成项目经理这一统一角色
  • 产品经理:是产品管理过程改进域的主要负责人,团队中的产品经理、需求分析人员等构成了产品管理团队,这里抽象成产品经理这一统一角色
  • 运营经理:运营经理通常和产品经理紧密协作。可能隶属于产品管理团队,但也能够形成独立的运营管理团队,是运营管理管理改进域的主要负责人。

    有些组织可能把运营团队和研发团队区分成两个独立的团队。但工作模式大致类似

  • 开发者:泛指团队中全部的技术人员,包含设计人员、编码人员等
  • 測试人员:泛指团队中进行測试工作的人员,这里把測试人员(QC)与质量保证人员(QA)做区分。现实中可能是一人同一时候担当两种角色
  • 质量保证人员:定期/不定期的开展“过程与产品质量检查”、跟踪质量问题,给出质量改进措施
  • 配置管理人员:通常能够由其它角色兼任,主要负责维护中央配置库,并进行配置项、基线等配置管理

外围团队主要角色和职责总结例如以下:

  • 客服团队:客服团队会与产品团队、质量保证团队有较多交互,面向终端用户。负责收集产品上来自用户的各种请求、问题和反馈
  • 市场团队:市场团队主要会与研发团队中的运营管理团队进行交互共同进行产品的推广活动
  • 销售团队:销售团队在项目初期与项目管理团队会有较多交互,并在涉及项目需求变更和终于验收过程中发挥作用
  • 人力资源团队:人力资源团队主要在团队组建和培训方面会有一定的參与

四.小结

过程改进的目标是改进研发团队的总体绩效。过程改进是一项重要和长远的工作。一定要依据机构的实际情况(如发展战略、研发实力等)来梳理过程域和改进方案,并要充分考虑过程改进的成本和效益。轻量级过程改进的宗旨是针对没有专设过程改进部门的中小型研发团队,通过比較低的代价有效地改进过程能力。目标是能达到适合团队发展的过程能力。过程改进的推行者应当具备一定的软件project和项目管理知识。再通读主流的软件开发管理模型和过程改进模型,并进行裁剪和扩充。本系列兴许文章将对详细的改进域逐一展开讨论,非常多内容见仁见智,不当之处欢迎一起交流。

时间: 2024-10-01 05:26:25

轻量级过程改进之综述的相关文章

轻量级过程改进之需求管理

需求管理在于管理产品研发过程中的客户需求,建立项目相关干系人对需求的共同理解,维护需求与所开发产品之间的一致性,并控制需求的变更.需求管理的重要性不言而喻,在前面讲到的项目启动.项目计划以及接下去要讲的项目监控这几个改进域中,客户需求都是我们开发工作的输入和基础,研发团队存在的意义也是围绕着客户的需求,以满足客户需求.提高客户满意度为工作的目标,项目管理团队更是如此.本文主要阐述在项目需求管理过程中涉及的主要规程.可能存在的问题.分析这些问题并提出相应的改进措施. 一. 需求管理的规程 关于需求

轻量级过程改进之需求开发

需求开发是指通过对用户需求进行分析,开发产品需求的过程.需求开发在于把面向用户的需求转换为面向研发团队的需求的过程,回答研发团队"我们要做什么样的产品"的问题.需求开发直接面向研发团队,是用户需求传递到研发团队中的必要一环.本文主要阐述在项目需求开发过程中涉及的主要规程.可能存在的问题.分析这些问题并提出相应的改进措施. 一.需求开发的规程 在轻量级过程改进系列的上下文中,关于需求管理和需求开发的区别和联系已经在"需求管理"这一改进域中有明确说明,这里不再展开.该上

轻量级过程改进之绩效管理

绩效管理是对团队成员进行工作评估和激励的过程,虽然很多时候会由人事部门进行员工的绩效管理,但对研发团队而言,技术人员的绩效管理很难把控,所以很多团队往往对绩效管理避而远之,采用管理层主观判断的方法进行绩效把控:有些团队虽然会做一些绩效管理,但只是关注于绩效考核,而忽略绩效背后的工作计划.评估.激励以及过程改进.个人认为研发团队的绩效管理是一项很有挑战性的工作,但难度再大首先还是要理一下思路,尤其作为轻量级过程改进的一环,绩效管理的目的并不是说能够达到很完善的程度,而是先做到60分,然后通过团队整

轻量级过程改进之项目计划

项目计划的目的包含两个主要方面,对内是为项目的研发和管理工作制定合理的行动纲领,以便所有相关人员按照该计划有条不紊地开展工作:对外是为客户提供项目的统一视图,确保所有干系人能够根据计划进行工作配合.进度同步并最终提高客户对项目实施进度的满意度和认可度.本文主要阐述在项目计划过程中涉及的主要规程.可能存在的问题.分析并提出相应的改进措施. 一.项目计划的规程 项目计划过程涉及面很广,按照集成项目管理理念,项目计划除了项目实施计划之外还需要集成各种子计划,如<配置管理计划>.<质量保证计划&

轻量级过程改进项目启动

项目开始时的研究和开发的源泉,在r \\ u0026研发团队而言是一个很大的事情,然而,项目启动是不是easy事儿,这个过程必须满足很多条件才能真正启动项目,否则,非正规甚至是不合理的项目才会开始进行研究和开发工作陷入困局.本文主要侧重于过程中涉及的项目启动程序.可能出现的问题.措施. 本文中的场景指的是产品线的已有产品须要通过项目实施推广给客户的过程. 一.项目启动的规程 项目启动是一项跨部门活动.通常包含的规程有: 1.      项目立项建议 目的:项目立项建议的目的是通过前期客户接触和分

轻量级过程改进之项目启动

项目启动作为研发工作的源头,对研发团队而言是一件大事情,然而项目启动却不是一件容易的事情,在流程上需要满足很多条件才能真正启动项目,否则不正规甚至是不合理的项目启动只会为让研发工作陷入困局.本文主要阐述在项目启动过程中涉及的主要规程.可能存在的问题.分析这些问题并提出相应的改进措施.本文中的场景指的是产品线的已有产品需要通过项目实施推广给客户的过程. 一.项目启动的规程 项目启动是一项跨部门活动,通常包括的规程有: 1.      项目立项建议 目的:项目立项建议的目的是通过前期客户接触和分析,

软件工程过程 第7章 软件工程过程改进

1.软件工程过程评估模型描述了作为有效过程特征的元素的结构化集合.这些评估模型提供了:P201 过程改进的出发点 业界过去经营的结晶 共同的语言和共享的构想 活动优先次序的框架 2.基于软件工程过程评估模型进行过程改进可以帮助组织或个人建立过程改进的目标和优先次序,协助改进过程,并为确保建立一个稳定.有能力的以及成熟的过程提供指南.P202 ISO 9001 CMM/CMMI ISO/IEC 15504 (SPICE) 3.软件质量管理体系由三部分要素构成:软件质量管理体系的框架.生存期基本活动

CMMI过程改进反例

?? 最近一直在看CMMI的资料,越看觉得越有意思,今天看到过程改进的时候,突然想起来之前所在的公司发生的过程改进相关的事儿来. 公司通过CMMI3级认证之后,PMO部门经理(公司还有质量管理部门经理.也有EPG)说要在下次复审之前把18个过程域的改进工作做好,平均一年6个,上半年3个,下半3个. 于是,某一天,该部门经理把一个刚毕业半年的小姑娘喊到跟前说:"去写一个关于MA的过程改进提案."可怜小姑年连MA是什么都还不知道就硬着头皮接下这个活儿了,先找到MA,然后把MA的资料打印了厚

【过程改进】从常见问题优化你的细节(一)

一. 业务逻辑层的事务问题 如果你的程序分层清晰并且系统禁用复杂存储过程,那么在DA中的职责比较单一.程序的逻辑通过BLL调用各种不同模块的DA来实现数据操作.如果当需要不同模块在一个事务的时候,问题就产生了. 如果你在bll引用System.Data...或者你在DA中穿插各种复杂逻辑的时候基本上你的工程已经不能算是好的程序了, 1. 使用TransactionScope TransactionScope可以使代码块成为事务性代码.但是需要开通MSDTC权限,并且TransactionScop