求知 文章 文库 LIb 视频 iProcess 课程 角色 咨询 工具 讲座 Modeler   Code  
会员   
 
 
 
|
 
追随技术信仰 
随时听讲座
每天看新闻
 
 
 

位置: iProcess -> Process -> iProcess过程改进模型
iProcess过程改进模型

作者
俎涛
单位
北京火龙果软件工程技术中心
日期
2009-5-19

目录

iProcess过程改进模型

什么是iProcess

过程是一种生活

可执行的过程才有机会成为有效的过程.

关注当前的工作方式

改进最迟在下周见效

锻炼自己的改进能力

iProcess核心思路

过程元模型.

改进方法

改进需求

改进计划

改进过程实例

建立过程规范

规范校验

规范应用

规范改进

什么是iProcess

火龙果iProcess是一个基于过程现状问题的过程改进方法,关注您的当前过程基础与问题,不提倡海市蜃楼式的过程改进,核心宗旨:

  1. 过程是一种生活
  2. 可执行的过程才有机会成为有效的过程
  3. 锻炼自我的改进能力
  4. 关注当前的过程基础
  5. 参考其他的过程经验
  6. 采用进化式的改进
  7. 改进永无止境

    ——俎涛/ 火龙果软件

从关注软件工程到关注软件过程改进,可以说提出了无数的过程模型,不过最后都不了了之,总会人说“没有银弹”,不过大多数人都深陷过程混乱的泥沼,期望下一个“银弹”,直到有一天,我们听说,某某大师又有了一定好帽子,这顶好帽子很快被很多人当作“另一个银弹”,传播与崇拜,因为是新的方法,又有足够的 “酷词”,还有一些高手推波助澜,直至诞生了又一个 “银弹”,以前还说“没有银弹”的人,因为种种利益,也会说“这是一个不是银弹的银弹 ,关键靠你的灵活运用”,问题是怎么灵活运用,大部分的人并不知道这意味着大师级别的意识和经验。

iProcess首先声称“不期望被当做银弹”,也不是另外一定帽子。

过程是一种生活

过程改进在很多过程模型中都被作为一种革命,例如CMMI的 1-2年的过级评估,XP的某些颠覆式的工作方式。革命的一般情况是:中国上下5千年,成功地寥寥无几,而那时改朝换代,如果把软件的过程当作一种改朝换代的方式进行革命,那一定意味着要很多的代价,风险极高,带来的可能不是成功的收获,而是混乱。可能绝大部分人不能生存到新朝代的建立。

iProcess的核心理念是:过程是一种生活。

  • 生活意味着不可能一个贫民一天就变成爆发户,我们应该不断努力,明天会比今天更美好,一点一点地前进、发现今天的问题,记住今天的问题,明天改进,过得更美好。
  • 生活意味着应该有一个生活的平和心态,不可以急功近利,也不可以不求进取,在自己能够承受的压力下追求相对的改进。
可执行的过程才有机会成为有效的过程

经历过痛苦的人都知道,再好的过程,也需要有真正的执行,事实情况是,很多好的过程,都有产生的背景和土壤,也一定是经验的结晶,而这种背景和经验,在另外一个团队中可能完全不是一样的情形,而且很多过程框架诞生在国外,国内和国外可以说工作的文化就有很大的差异,这就造成了一个团队不断的尝试 各种过程,不断地不了了之,无果而终。问题的关键在于一个陌生的过程,很难在短时间内产生克执行力,必然意味着大量的学习和磨练,这个过程如果过长,代价过高,就会让执行者产生怀疑,丧失信心,也就无法具备有效的执行。所以过程不在于多好,关键在于可执行力,具有可执行力的过程一定是当前团队熟悉的过程,而不是天外来客。所以应该立足于自己当前的工作,建立过程,每个人都把自己工作例的问题提出来,自己思考解决的方法,然后是其它团队成员思考解决方法,最后问一问自己“还有更好的方法么”,再问问过程专家“您知道还有更好的方法么”,注意要在朴素与务实的氛围下进行问题内容的沟通,而不是新概念的展示,最后发现,好的方法还是自我提出来的那些,不过缺乏系统的整理,如果把这些方法由专业过程人士和团队一起进行整理,然后建立一个过程,团队成员就会有足够的熟悉感,没有另外的借口,自然具备强大的执行力。

关注当前的工作方式

存在即合理,虽然现在的工作问题多多,但是应该是在很长的时间里面互相碰撞,磨合形成的一套方法,有句话说的好“走得人多了,便是路”。所以过程改进不能总是盯着别人,首先要好好观察自己,自己的工作的道理是什么,问题在哪里?这些都应该好好的思考,这时,我们就会发现,平时因为工作压力疏忽掉的方法整理,其实存在很多好的经验,也存在很多凌乱与冲突,这时如果能够悉心整理,一定能够形成一个比较可行的过程模型。

改进最迟在下周见效

只有能够让团队成员尝到改进的甜头,才会有真正的自我动力,那种有外部顾问不断说明天多美好,结合明天永远在前头的改进目标构想,无疑经过几次痛苦努力,还是海市蜃楼的失望后,会极大地打击团队成员的改进动力,所以iProcess强调改进最迟在下周见效,就是为了让团队在收获中前进,改进的快乐中前进,而不是痛苦中摸索。iProcess也的确有正确的机制保证这个其实很难的目标的实现,那就是“过程是一种生活,关注当前的工作方式”。

锻炼自己的改进能力

一个优秀的团队,不是一个掌握神器的团队,而应该是一个可以研发神器的团队,只有这样,才能根据形势的变化,塑造自己的利器。iProcess基于过程的当前工作方式,让团队自己结合问题追求面向问题的改进,可以不断锻炼团队的改进能力,最终实现自我改进的能力。

iProcess核心思路

iProcess改进过程的核心思路是基于客户近期的历史项目进行过程改进,改进首先基于具体的项目,选择有代表性的项目,然后诊断项目的问题,提出改进错误,对项目出现的问题进行改进,然后把改进的项目过程类型化,提升为规范,对于类似的项目可以采用此规范定制具体的过程,这个过程是一个不断反复的过程,类型项目规范可以进一步提炼为通用的过程规范。

iProcess认为过程改进的核心是基于历史项目,构想未来项目的理想化过程,所以历史项目的改造非常重要,这是过程改进所能够基于的最主要事实。

过程、规范与时间

过程元模型

软件过程主要由人员、工作、工件以时间的方式展开,形成过程。还涉及到工具,具体时间化的过程体现为工作计划。对于以上元素的类型化会形成比较通用的规范。也就是人员角色、文档模板、工作指南、过程指南。

标示颜色说明:
  • 黄色的是规范
  • 橙色的是实际项目
多个同类对象的关系:
  • 多个人员有协作关系
  • 多个工作有先后顺序
  • 多个工件有追踪关系
  • 多个计划有依赖关系
  • 多个过程有并发关系
我们认为工作之间的顺序是工作流程
工作计划中按照时间分布的工作的组成了过程
改进方法

确定改进的目标
确定改进的范围
确定改进将解决的问题
选择符合改进目标+范围+问题的项目历史实例
改进历史项目实例:
  • 重现过程
  • 诊断过程
  • 改进过程
  • 项目重演
  • 改进过程
建立过程规范
项目实例推演
改进过程规范,规范应用,改进,规范应用......

改进需求

确定改进的目标
确定改进的范围
确定改进将解决的问题

改进计划

识别改进风险
获得改进资源
选择符合改进目标+范围+问题的项目历史实例
制定改进计划

改进过程实例

选择一个客户历史案例(实施过的)
诊断客户案例现有过程现状
  • 重现过程
    • 角色
    • 活动
    • 制品
    • 阶段
    • 工作流程
    • 工具
  • 分析经验与问题
  • 构想问题解决方法
改进历史项目过程
  • 分析当前开发过程的适用标准
  • 逐一解决过程问题,
  • 综合解决方法为新的过程
  • 案例重放,按照改进的过程,重新编排原项目过程
  • 构想,评审检验改进的有效性

建立过程规范

  • 对实例项目类型化
  • 对实例项目元素类型化,
  • 对适用的环境环境条件化,
  • 增加应用灵活性说明

规范校验

  • 启动项目
  • 分配角色
  • 分配工作
  • 分配工件
  • 定制过程
  • 项目演进构想与展现
  • 总结与讨论
  • 过程规范修订

规范应用

实际项目启动
选择适用的规范
识别项目特殊条件
在项目计划中进行过程计划
项目执行
识别过程问题,过程调整
项目总结,问题与解决方法记录

规范改进

问题积累到一定数量
问题归类
解决方法分析
归纳问题与解决方法为过程要素
过程集成