话题(五)通俗理解的软件过程改进(发言人:吴超英)
软件过程改进,是指在软件开发过程中对当前过程的执行及其结果的改进的一系列活动。涉及到过程至少三个层次:
1. 组织级业务目标和方针,如缩短交付工期、提高技术有效性(性能)、减少延期率,降低交付缺陷率、客户满意度等
2. 软件开发过程,如瀑布、迭代…,同时包括支持过程,如配置管理、质量保证等,还有管理过程
3. 过程活动中使用的模板、方法、检查单等
改进过程都要以组织业务目标为驱动。因此要针对过程这三层次的不同,看看当前过程的目的、过程描述、活动执行的步骤、入口准则、出口准则、使用的方法和工具,当然也包括人员的技能要求等,以及涉及到的软件开发过程和支持过程等方面是否有存在影响过程目标和业务目标的地方。如果一个组织内其规范性比较弱,那么组织文化要与过程改进同时进行,从管理层营造支持改进的氛围和基础设施,如EPG、QA等,组织方针也要随之改变。当然,还要考虑待改进的地方对组织改进需要的优先级。这些是解决我们做事中常提到的“What”, “Where” ,“when”和“Who”的问题。
因此,过程改进是一个系统工程,要有计划和方法的进行,这样才能做得有效。大家都提到SEI IDEAl模型,就是一个过程改进的过程的有效方法,遵循这个方法来实施改进,改进的成功率就非常高,投资回报也会逐渐提高。在实施IDEAL中,EPG组和过程行动组(解决特定技术和方法方面的action,由有经验的人员组成,他们总结经验,学习业界最佳实践),这个就支持了改进中的“How to do”的问题。
希望我的解释是对通俗理解“什么是过程改进”有帮助,请大家指正。
止于至善的博客 http://tyou1215.csai.cn/