当前位置:首页 期刊杂志

IPD&CMMI与敏捷的关系简述

时间:2024-06-01

张晓燕

(上海坦当电子科技有限公司,上海 201705)

早在10年前国内许多产品软件研发企业一旦研发团队上了规模,就会进行IPD体系的变革或CMMI的认证,目前,随着电子商务以及产业互联网化以及智慧生活的发展,快速响应和高稳定性成为最亟需的需求,敏捷开发模式应运而生。腾讯、百度、网易、阿里等公司在所有产品线软件开发团队全面推行敏捷开发。那么IPD、CMMI和敏捷究竟是什么关系呢?现在笔者借助工作多家公司多年从事软件管理体系建设经验与大家做下分享。

1 CMMI(能力成熟度模型集成)

笔者初次接触CMMI体系是在2001年在南京一家集成公司在为江苏省移动公司打造移动2.0项目中。此项目与新加坡HP咨询公司合作,将此作为项目作为公司通过CMM3.0的重点示范项目。笔者非常有幸成为EPG的成员之一,主负责此项目的过程体系以及核心域、过程文档模板的制定与落地。通过此项目,笔者对CMMI体系有了充分的了解。CMMI把软件开发视为一个过程,CMMI框架结构建立在项目管理过程和过程管理的公共特性基础之上,自行形成完整的理论与实践框架。它对软件各个阶段过程以及核心领域的定义、实施、度量、控制和改善过程做出了具体要求。它将软件阶段过程分为4个专业领域、五个等级以及25个过程域,4个专业领域即软件工程(SW)、系统工程(SE)、集成的产品和过程开发(IPPD)、采购(Supplier Sourcing),并具体定义出每个不同的等级要求。目前国内的大多数软件企业通过了CMM3.0认证。

CMMI的框架模型具体可包括:

(1)数千个公共微型小资料;

(2)每个构件是由一个或者多个微型小资料组成;

(3)通过不同的微型小资料构建不同的构件;

(4)整个框架划分为十二种构件,以此十二种构件为基础进行推演变化;

(5)通过构件不同再次重组与构建形成新的框架。

CMMI通过十二种构件来组织成不同的框架和层级,构件由微型资料构成,微型小资料均属于公共资料,通过微型小资料的改变来实现构件的改进;CMMMI将软件研发看作工程管理,建立软件工程管理制度,建立相应的度量方式和明确的度量指标,使度量易于理解与执行,从而控制软件过程的研发时间和使用费用。为了不断推进改进与改变,针对此过程建立了EPG来指导了管理者一次次将软件开发过程的不断优化和技术的变更,从而促进管理效率的不断提升,使管理标准化、管理化、自动化,实现最终目标提高生产力。笔者从事的集成公司用了3年的时间通过了CMM3.0认证,极大的标准化了研发过程的管理,使其产出得到了极大的保障,为客户带来了更稳定更有效率的极致体验。

2 IPD(集成产品开发)

IPD出现在国内最早大约2008年。当时笔者在上海一家最大的旅游公司负责整个软件管理体系的更新与改善。当时公司正处于蓬勃发展的阶段,然而公司成立以后参照基本CMM体系以及国际4000体系基础建立的软件研发体系,尤其是瀑布式的开发模式严重阻碍了业务发展。尤其是在旅游业,用户的需求多变而又琐细,如何快速的响应市场需求,尽快将相应的研发需求发布完成,以满足用户在线预定的需求,成了当时最亟待解决的问题。IPD应运而生。IPD以市场为导向,以市场需求作为产品开发与迭代的源动力,重视客户需求以及用户体验;IPD采用在公司内部组建虚拟的投资决策委员会(IPMT)对产品开发团队(PDT)的活动关键点进行决策的方式,决定投资与否;此虚拟团队以如何快、准、低成本推进产品开发为目标,通过跨部门、跨组织成员组成,打破了部门之间的沟通壁垒;为了更好地跨部门合作,IPD通过对研发过程结构化设计、异步开发,在软件系统的架构上进行调整配合,增强了中台系统,轻量化级客户端,使得数据库分层分库、虚拟化、隔离化,从而保证了系统轻盈、稳定、体验感受更加入心。

IPD核心内容包括:

(1)IPD过程包括市场管理流程、产品研发流程、技术开发流程,流经各个职能部门,从而在组织结构上更加适用于矩阵式管理;同时互为起点与改进点,形成闭环,是基于市场需求与客户交付的全流程;

(2)IPD研发流程采用分层和并行开发的思想,自上而下设计,通过最下层各种模板和SOP组成,按照阶段、步骤、任务、活动,将计划、流程与实践融为一体;

(3)IPD具体实施分为六大阶段:概念、计划、开发、验证、发布、生命周期,每项工作明确规定,定义清晰,定义唯一责任人,明确各阶段的输入、输出与样例,明确评价要素,以及各时间节点。

IPD能够更好地理解客户需求和竞争态势,以业务需求为出发点,定义和开发出具有竞争优势的差异化产品,注重产品生命周期,从而进一步实现产品的商业价值和产品持续改进,提升产品的成功率,加强自身的产品竞争力。IPD体系通过跨部门团队和流程化运行,使各领域人才在相互协作中和流程以及知识体系支撑下更全面快速成长,更具有复合型能力,也为各个行业培养了一批批综合性领军人才。经过3年的摸索与小规模试点,公司在2011年正式按照IPD管理模式进行工作。首先在组织架构上进行了改革,实行业务线管理制度,也就是事业部分化的前身,从而保证管理细节的落地与更有成效;其次,在KPI绩效管理上进行了改革,由原来的研发不参与业绩考核,更改为研发与业务人员共为一体共同承担业绩考核,同时共享业绩分红,从而保证风险共担利益共享,这极大地提升了研发人员工作积极性,一举击破业务与技术之间的隔阂;最后IPD的六大阶段明确每个阶段的产出与输入,也明确了各个时间节点,从而更有效地提升了研发效率。这三个核心的改变,使得公司更上一层楼,从原来的科技公司进阶成大型集团公司。

3 Agile Management(敏捷管理)

敏捷管理(Agile Management)是以项目、任务、人为起点,以迭代发布、循序渐进改进,以随时站会、展板、进度条、实例化等工具推进进度与加强沟通,注重人与人之间的沟通,注重协作的管理模式。首先,它是一种开发方法,指导使用者用规定的环节去完成项目的开发,小步快跑,迭代开发,小模块、小层次的进行研发,避免一次性完成项目的交付所造成的时间与成本风险。某种意义上来讲,这种开发方式的主要驱动核心是人。

敏捷式开发要求研发人员尤其是产品设计人员要与业务方面的参与者保持紧密沟通,使业务需求-产品设计-研发-测试验证-上线齐头并进,快速研发与被验证,更快的交付业务需求更快获得效益,提高市场优先权,降低改变的成本、提高系统的灵活性,降低投资的风险。敏捷开发核心做法是由分析人员对需求进行分析,架构师整体设与细分可测试化、可视化、可演示化的模块,然后交给不同的编程团队,由编程团队按照需求规格,把东西给做出来。所有的这些东西都是由不同的人在不同的时间完成的,按照计划按照不同的特性模块的优先顺序进行发布、演示,与业务相关人员进行沟通与协调,保证每一个小模块都符合业务部门的需求,最终保证最终的提交物符合业务投资的需求。更重要的是敏捷开发模式计划性强,能够有效降低改变所带来的成本与风险。

敏捷开发具有4个核心价值观和12条原则,通过这些价值观和原则根据不同团队需求的构建不同敏捷实践。敏捷的区别于其他管理模式的地方在于其将团队协作、质量、可工作的软件为关注点。它是一个高度协作、不断演进以及注重质量的软件开发方法,允许快速业务变更的开发实践。

4 三者之间的关系

任何一个组织在追求卓越的过程中,都会尝试多种途径,采用不同的原则、方法及技术。一个对敏捷实践感兴趣的组织可能也会对IPD或能力成熟度模型集成(CMMI)或六西格玛感兴趣,反之亦然,因为这些都是通向卓越的手段。因此CMMI与敏捷框架在很多方面能够相互融合,共处一室,取长补短,互为补充,甚至协同工作。管理上,如以市场为目标,IPD更加实用;如以项目为目标,敏捷更加实用。

IPD以整个产品为起点,将市场、开发(软件、硬件)、结构、生产、采购、财务等各个方面归于全流程管理,以产品概念定义、计划、开发、验证、发布、维护等阶段设置阶段性决策点,通过决策点的控制进而对产品做出调整、保证投资收益比。而CMMI与敏捷管理模式均是以软件研发过程为管理核心,注重实践。CMMI是在研发过程中一般以瀑布模型为多,注重研发过程整体控制,强调流程和管理,以整体交付结果为准,优点在于产品与研发更有整体性,缺点在于更改风险与成本较高;敏捷管理版本迭代的模式为核心,更加注重团队及时沟通,强调拥抱变化,强调在高度信任的氛围中,与客户的紧密合作,更在意被激励起来的个人之间的协作创新,优点在于及时、快速,缺点在于缺乏整体感;所以,某种意义上,CMMI可以借用敏捷的一些管理实践,如站立会议,结对编程等,敏捷管理可以借用CMMI的整体设计以及拆分细化的管理思路,从而保持团队观念一致,更有全局观。

在这三种开发模式中,IPD深刻包含了“做正确的事”以及“把事情做正确”含义,为公司级运营流程,更为关注宏观与战略;CMMI和敏捷则更加注重工程实践,可理解为同一个管理层级。某种意义上,CMMI和敏捷不具备高层决策能力,更关注战术和执行,将“事情做正确”。在实际工作中,建议以IPD的方式进行战略定位与规划,以CMMI和敏捷开发为战术,CMMI和敏捷开发在具体工作中相互补充、相互支持。由CMMI定义组织级或企业级改进的重点,回答项目应该做什么,辅以敏捷开发小步快跑,以具体项目为起点,在不断执行中获得最佳实践,使得双方在定位、执行形成很好的相互补充的态势,两者的有效结合,有效地实现了个人绩效向团队绩效、向组织绩效的转变的过程。CMMI实施过程中重文档、重流程的缺点在敏捷管理中得到了避免,在实施中以组织实际价值、客户体验以及创新为重点;另一方面,组织体系上选用CMMI组织级保证过程管控,在具体研发时选用敏捷开发模式,二者合一的模式,有力地提高了产品质量和产品发布的效率,促进开发团队成员的协作,从而大大提高客户的满意度。作者正是把这一思想实际应用到了自己工作的企业中,使得研发效率与研发质量得到了极大的提高,使工作更有秩序感,成员更有成就感,获得了公司上下一致认可。

任何一种思想都需用在实践中方可体现其价值,笔者也希望大家能够在实践中不断完善,不断实践,从而将IPD、CMMMI以及敏捷开发的模式更上一层楼,推陈出新,有更多的创新与创造,开拓更有效地管理模式。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!