软件过程是软件生命周期中所有技术活动和管理活动的集合,进行软件过程改进(SPI)则是高效率、高质量和低成本地开发软件的重要手段。通过实践软件过程改进可以规范企业的软件开发活动,提升软件过程能力和水平,降低软件缺陷率,获得预期的产品和质量,进而提高企业的效益,提升企业的市场竞争力。 

然而,软件过程改进非一日之功,成功的进行过程改进需要系统的战略策划,那么什么样的企业适宜开始实施过程改进?每个公司情况并不相同,过程改进中有没有什么规律可循?实施过程改进过程中会遇到一些什么样的问题?又如何去解决?

为此,CIOAge记者独家采访了阿里巴巴过程改进专家丁烨老师,她就过程改进的问题表达了自己的看法。她谈到,过程改进团队作为为优化组织运作体系提供过程改进服务的团队,最高的目标是做到“治于病情未发作之前”,为企业带来最大价值。她还分享了过程改进实施的一个大概框架,可以从关键客户方识别,确定改进方向和目标,现状摸底及问题分析,方案汇报,组建实施小组,推动改进方案的执行落地等几个步骤实施。

如下为采访全文:

1.对过程改进团队来说,最高的目标,是做到“治于病情未发作之前”,为企业带来最大价值

记者:过程改进到底是在做什么?具体的内容能否举例说明。

丁烨:在阿里巴巴过程改进团队的定位是:为优化组织运作体系,提供过程改进服务。过程改进团队的成员分布在集团内各个BU(业务单元),关注从产品运营到研发生产,再到运维客服等各个流程环节,帮助各个团队找到提升质量,高效完成工作的方法。

我们的主要的工作有:建立和优化“运营、产品、研发、生产、客服” 各部门间和部门内的协作体系;研发工具平台的体系化建设;组织能力/质量意识提升。

记者:企业实施过程改进的重要性体现在哪里?对于企业来说,进行过程改进是否必要?

丁烨:如果把企业比作人的话,各部门就如同身体内部的器官,通过一定方式的协作来支撑企业的运作。而过程改进团队就如同他的私人医生,提供定期的体检服务,评估他身体内的各项机能是否正常运作。企业从体检报告中可以知道目前自身运作状况,比如:健康;亚健康;病入膏肓 等。当然,过程改进会根据诊断结果,开处方,对症下药,帮助企业解决内部协作的难题,确保企业能持续健康的运作下去。

对于企业来说,越早发现问题,风险越小,解决的成本约低。因此,现在越来越多的企业认识到过程改进的重要性,设置了这一岗位,用于评估和优化内部的运作机制。当然,对过程改进团队来说,最高的目标,是做到“治于病情未发作之前”,为企业带来最大价值。

记者:什么样的企业适宜开始实施过程改进?有没有一种较为具体的方法,怎样一步一步去做?

丁烨:俗话说,有人的地方就有江湖。同样的,存在人与人之间,部门与部门之间互相协作的地方,过程改进就能发挥作用。由于每个企业的文化和业务特性的不同,在具体细节实施中的方法多样化,但是可以提炼出一个大概框架:

1.关键客户方识别:如果把改进团队也当做外部顾问的话,谁愿意为过程改进的工作成果买单,这个人将是后面改进工作推进的主要源动力;

2. 确定改进方向和目标:跟关键客户确认改进的详细需求,希望达成的改进目标;

3. 现状摸底及问题分析:用访谈或者数据分析等形式,评估团队的各项情况,如:流程、工具、人等,找出关键问题,提出改进方案;

4.方案汇报:向关键客户汇报详细的改进方案,获得客户的认可和支持;

5. 组建实施小组,推动改进方案的执行落地,阶段性的review优化结果,至到改进目标成达。

2.如何提高实施改进的团队的积极性

记者:实施过程改进过程中会遇到一些什么样的问题?又如何去解决?

丁烨:针对不同团队不同方式的改进,遇到的问题不一样。但是我所了解的一个普遍性问题是:实施改进的团队的积极性不高,很难推动落地。出现这种情况,一般是由于:大伙都觉得流程和改进都是过程改进人员的事情,是制定出来约束大家的,因此从最开始就站在了对立面,要么不理会,要么不配合。所以,我们要改变这种现状,让大家参与进来一起改进:

首先,得让大家认识到,流程的owner不是过程改进人员,而是各业务方,过程改进人员是来帮大家优化协作,解决问题,从而能更好的完成业务目标。

其次,建立实施组织,该组织中应该包含团队中有影响力的核心人员,并明确了改进中各人的职责。这样就使得改进的实施是大家的事,而不是过程改进一方的事情。

最后,引导团队慢慢得自己发现问题,解决问题,具备持续自改进的能力。过程改进最后起到一个指导者和协助者的作用。

记者:过程改进中如果遇到相关领导层不配合的情况,有没有什么好的方法来解决这个问题?过程改进最好是什么职位的管理层负责比较好做?

丁烨:我在前面过程改进实施大概框架中讲到,在评估出问题点后,需要跟相关管理者做一个优先级的确认,这是非常重要的一环,直接影响到后续的改进执行和效果。在这一步,其实是把三个维度的问题,取了交集。哪三个维度呢? 1)我们识别的问题;2)管理者想去改进的问题; 3)我们能去改进的问题。

因此,取交集后的问题优先级列表,应该是“我们看到的并且有能力去改进的问题,同时也是管理者重视的”,所以,在实施环节能得到管理者的支持和配合,拿到较好的改进效果。当然,在解决方案环节,也可以巧妙得把管理者需要的配合具象化,效果会更好。

对于“过程改进最好以什么职位的管理层负责比较好做”这个问题,在不同的公司组织体系下会对过程改进团队有不同的设置,我感觉对“是否好做”的影响并不是很大,但是却会影响过程改进团队工作面向的范围。一般而言,若过程改进团队是独立于研发团队之外的组织结构下,那么它的发展道路会更广一些。

3.过程改进从公司的业务特性和企业文化入手

记者:过程改进,因为实施的公司的情况不同,整体上看有点不好把控,这中间有没有什么规律可循?

丁烨:这个问题,结合之前提到的过程改进实施大概框架,应该会比较清楚了。在框架方法上,过程改进还需要一双慧眼,去识别企业的“七寸”,即由公司的业务特性和企业文化入手,找准过程改进的侧重点。比如从业务特点上来看:像电信这样技术驱动的企业,同互联网业务驱动的企业,改进的重点是不一样的;从企业文化上来看:传统型重管理和制度的公司,和新兴行业轻量级管理的公司,在改进的具体方式上,也可以是有针对性的。这些,留给大家思考。

记者:过程改进过程中需不需要什么辅助工具?如果没有,那是如何进行过程改进的?过程改进效果如何衡量?

丁烨:辅助工具是非常需要的。过程改进在建立和优化了流程,推动执行落地后,还需要把这种执行固化下来,传承下去。那么最好的方式,就是让流程在工具平台上实施流转,这样就能避免因为人的原因而执行不到位导致流程慢慢消亡。比如,建立一个研发工具平台,保证整个研发流程(从提交需求开始到发布为止)中各角色的工作流转被严格执行并记录,这样在后期还能拿到所有的数据做分析。

而如何衡量改进的效果?则是要通过度量来体现结果,因此度量体系也是过程改进的重要工具。在改进实施前,需要定好可量化的改进目标,建立度量模型,通过一段时间的实施,收集过程中的数据来做分析,跟设定的目标进行比对。