开发者学堂课程【研发效能提升和敏捷实施36计:互联网时代研发效能的挑战及应对之道】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/615/detail/9375
互联网时代研发效能的挑战及应对之道
互联网时代是来自马云的一次演讲,他说,过去20年互联网从无到有,未来30年互联网从有到无。“无”指的是:“无所不在”。将来任何一个企业都在互联网的基础上发展,也可以说就是互联网企业。
对于研发效能提升的背景如下:
就像 IOT 它一定是软件加硬件。甚至有的需要的不仅仅是软件加硬件还需要更长的链条。产业互联网更复杂,它会涉及到金融,物流,电商等等。
比如说自己自己的营销涉及到战略,涉及到生产,涉及到原材料,涉及到供应链等等。
那这时候其实对就研发的协作提出了更高的要求。那这时候如果不能很好的去应对它的话,其实研发效能啊它是会有下降的趋势的。
用一个简单的东西和一个复杂的东西是不一样的。这就是现实,就是这个图里面这个是红色的,红色的线这一条就现实中研发效能会有下降的趋势。
包括接触到了外面,
还有一些人主动来联系对研发项,这个词可能变得越来越越热。对原先问题这样的那个提升诉求是越来越强烈,那可能是共同的。其实谷歌百度上搜一下,发现有很多相关的一些讨论。
总结一下,就是现在的技术复杂度也越来越高。还有另外一个场景也越来越复杂,所以说对这些东西来说可能越复杂,效能肯定会往下降,但其实另外一个方面呢,如果只是这样的话,它另外出现了一个趋势,就是一个一个组织的研发,现在的期望却越来越高,要快。因为面临的竞争越来越竞争越来越激烈。
而且那个用户的选择越来越多,就是用户就往往会用假投票。有的时候叫选择权的转移,选择权是会从那个供应方向消费者这一边去去转移。所以如果谁能更快的去响应用户的要求,更好的去响应用户的要求,才能取得竞争的优势,否则会变成互联网的材料。
也就是说,不仅是互联网的材料,这个创新的材料就可以就给淹没掉。所以今天讲这门课,讲研发的效能提升,就是我们在里面看到的这个绿色的向上的箭头,就是要把线就是要弥补这个线的这个现实和期望的差距。
这是我们想去努力去做的。我们也是要把这个红色的和绿色的这根线之间弥补掉的。
所以说从刚才的角度来说呢,因为越来越复杂,场景也越来越多所以说软件交互的创新成为这个业务竞争的核心能力。
人更快交付的更好,这个时候才有很好的变化。那这样就提出了一个新的问题啊,那就是说这样的环境里头,要适应这个时代的要求,怎么样来去提升这种研发效能。这样好像有很多类似的主流此类的一些方式方法。
到底用这些方法来解决这些问题,那么去追求这些方法就有它的意义,但是如果去当你单纯只去看方法是不太好的,其实要的究竟是什么?就是这里面的讲读,指的是这个形式是要注水,要的价值就是说要的价值究竟是什么要解决的问题究竟是谁,这个是最重要的。所以说如果忘记了你的价值,就会忘记你的初心要解决的问题。那么你再多方法去模拟,再多的方法,也得不到想要的结果,或者拿至少是拿不到你希望的业务的监管。
比如说像 strong 看板,nice ,还有say nice 是什么,因为basketball is regarding,然后这样来创造的。
那么今天的这个主题就是研发效能的提升。要看到为什么要去提升这个研发项目,就是究竟面临什么样的互联网时代研发效能的挑战,在应对究竟面临什么样的问题或者挑战,要解决什么样的问题,然后怎么去做。那就来看一下对它的一个理解,就是一切的努力啊,都是为了达成用户或者业务的目标。也可以说是通过完通过实现用户的目标来实现用户的成功。但是为了做到这个达成量的目标呢,需要可能需要交付产品的特性。
有的时候称之为业务场景,是产品特性,业务场景这两个可能会缓用啊,然后为了实现一个业务场景,可能需要多个功能的组合才可以。就是说通过功能的组合来实现一个业务的场景,满足业务的满足一个业务的用户的需求。但是为了实现一个功能的话,可能需要分解成多个开发任务。这些开发任务可能是自己完成的。开发前的开发有可能外部是有时候比如说给你提供了一个切割替代这样的东西,那这样一来的话,就是说整个团队在通过那个协作完成一个任务来交付一个产品的功能,是它实现一个完整的业务场景,是达成一个业务目标。这是这个过程,这是真正的价值所在。
所以说从这个图里面看到把它分成两层的话啊,第一层就是从产品特性的业务目标的功能需求这一层觉得我们怎么规划有效的需求,这个是属于那个业务创新。就刚刚讲这个有效的事情,后面的不仅仅是规划,有的时候还需要探索,也要验证,验证是探索的一个前提了。然后就是规划的需求,怎么高效的去交付它,称之为区域。在这个图里面有业务创新和需求交付。最终就是目标有更好的协作,相互有效的需求,实现有意义的场景来达成目标。这是真正的价值所在。
这个课程就是希望帮大家去解决好这个问题。然后产品特性都是为了完成这样一个业务目标或者实现用户价值。
产业目标,这些方式方法是来帮助我们,就是这样一个过程。一定会聚焦驾驶和帮助,要用不同的方法实现这个实现这个价值,实现这个目标。
所以说从这个角度来说,我们其实要去解决的问题是一个如何线上高质量的交付有效价值这样一个问题。就顺畅高质量的交付,有效的价值。就是它其实如果真正的话也分为三个关键词,分两部分交付,快速的交付和两个交付。实际方面保证这个交付的东西有意义。怎么样有意义就是能帮用户解决问题。就是在实现这个过程中究竟会面临哪些具体的阻碍。
这个图里面也讲了,其实局部的繁忙,就是去一家创业公司,或者像阿里比较简单的大公司去看,其实每个人都是很繁忙的。但那个问题是就是在这里面就局部的繁忙和局部的效率不意味着高效的交付。因为可能去一家企业家就说每个人都很忙,就是在这里面希望局部的效率变成一个高效的交付。要高效交付,因为这里面经常听到那个研发人员会回报,就做了很多东西,最后又没用。
如果这里面就水平的一条线,就是把就每个人的努力能够变成一个高效的交付使用。高效的交付的东西能转化为业务的成功。但是也看到很多团队,比如阿里有很多这样的团队。
因为那个工作能力的积累,然后因为中台,这个中台包括业务中台和技术的技术工程能力的积累。其实在做一个新业务的时候,做第二个业务的时候,会比第一个业务更快。
比如:
你以前是做外卖业务的,其实会发现很多已经积累了很多可重用的中台软件的这种效率是越来越快。
但是很多就是特别是那个初创企业 ,就是高效价服务还不够,还要持续的去高效。这些东西局部的效率会带来高效的交付,或者说高效交付就一定可以带来成功。但事实是,局部的高效,局部的效率并不等于高校交付,或者说高校交付也并不等于业务成功。希望是就我们期望持续高效,
并且带来业务成功了。就是政府统计那个绿色的这一部分是最终追求的是两个目标,持续高效又成功。就是如何达成右边和下面这两个绿色的东西,为了让局部的效率转化为高效,其实要以流动效率为核心,提升团队持续交付的能力。
流动效率,这个流动效率就是局部效率看的是什么?看的是每个人忙不忙接触内部组织内部能不能很快,就开发的快不快,甚至用户的价值。用户的需求在整个组织中,比如说从产品打出来,打出来是它流动的过程,是不是高效的,是不是顺畅,是不是无阻碍的,这个称之为流动效率。
其实换一个视角,有的时候带来的方法体系也会被冲动。所以要以流动效率为核心来提升团队持续交付。当然持续交付的用户的价值是需求的能力。所以会用这个视角来重新组织和构建,然后度量整个这个研发的过程。这是可以去甚至可以替代的。会发现整个可能会希望大家带来一个全新的认知,全新的方法。高效交付是不等业务成功。
一个核心的价值主张。我们的价值是什么呢?是以用户价值为核心来规划和探索有效的产品。
要看这个就是用户价值这件事情又是一个新的概念。所以可能就是说看上去很有道理。比如说到底什么是用户价值呢?然后另外一个就是说其实用户价值我们也会在后面的系统课程里头也会做更深入的一些探讨。
就是用户价值这个事情肯定正确,政治上很正确,解决用户问题,但这个东西一定要把它落到实践,落到落到一个一个的实践里面去。而且是以它为核心。什么叫核心?
就是一贯的核心就是从头到尾就是怎么以用户价值为核心来分析业务,然后把它转化为就是产品的设计及组织和规划好产品的交付过程,以及以用户价值为核心来验证产品的调度。这是要说的一个端到端的以用户价值为核心的一个产品的设计,产品的分析,设计规划的方法,包括学校的沟通和诚信。
能做到有一定的效率为核心的,那只能证明交的很快。所以说需求流动的很快。但是如果说能做到以用户价值为核心,保证每次交付都是正确的。那这一个人就很了不得了,但是最后还会去说以长期效率为核心,沉淀优质的软件资产和工程能力。怎么做到的叫承优质的软件资产是一个工程能力软件资产,这是一个概念,就是说健身是一个资产,就是每天都要写代码性的资产。如果是工厂里面生产的话,生产出来的东西是一个资产。
它们当做一个作为一种实体市场,肯定会很好的去补给它是去没去盘点它,但软件只是去使用它,然后保证它的价值的最大化。但什么是软件资产?
就是当它怎么发挥作用的时候,比如中台化。比如理赔设计,对软件资产的评估评价是我们要讲的还有质量的提升,这是要讲的工程能力,这一块可能更容易理解一点啊。
软件代码资产还要积累了强大的工程能力。核心的思路,在其中的实践是不是已经沉淀出来算下去。因为看起来很美好,刚才也说到了要沉淀优质的软件资产啊,不要沉淀的存在。首先就是说以流动效率为核心,提升团队自己交付能力。就是刚刚提到解决的问题是局部效率。效率数据它是单个需求,对它如果单个需求,但是在这里面如果有追求效率,比如一个团队,会多弄一些攒在一起。因为批量的去做肯定会更快。
对批量的需求分析,批量的需求开发批量的需求测试肯定也很快。但是去看单个需求的话,因为这个不仅有快速的这样的价值,另一方面也快速的得到反馈。最后会去找到反馈,更快的更好的去调整。
所以要做到这一点呢,那就需要看到在这个局部就必须要去系统的,而非局部的改进。在我们这里面用了三个方面。第一个方面就是称之为经济和协作事项,是通精益和敏捷的协作事件,是来去解决这个问题的。就是说来系统麻烦,局部的改进提升就是持续快速调整价格的人。时间分成三个方面,第一个是动态化的拉通和可视化。就可见到这个用户需求。所以这个教学过程,没有做到倾听。第二个部分就是说怎么去管理这个家庭的流动活动效率。就度量和反馈永远是一个话题,永远是一个热门话题。其实它永远不简单,甚至它有很多陷阱是误区,是不是可以破解这个陷阱和误区。就是如何去度量,是去有效的度量,就是目的是帮助改进他们的折对折。需要在哪些方面改进,可以在哪些方面方面改进。
所以说以流动效率为核心,团队提升得有这种持续效率,就是如何把每个人的这种工作能够变成一个整体的一个快速的一个交付,所以说这点很重要,第二就是说以用户价值为核心,就是那个去规划和探索一下需求。
所以说用了两个词,一个叫规划,一个叫探索。
其实首先要去试图去定义有效的需求。这个有意义的有效的去学习深度的需求。就是这个事情,总之是不确定的,但是不确定的时间也没办法去确定需求,所以需要去验证这个探索规划,来探索这个有效的需求,也需要有一个方向,然后去探索。刚才讲的协作的一个过程,经常大家看到的都是这样,并且软件框架都是讲协作的。
因为大多研发也在关注这些,现在会讲两部分内容。第一第一个经济创新实践,第二个经济的经济和敏捷需求是怎样的。当然经济和敏捷需求跟那个可能跟交付还更近一点,创新可能再更宏观一点是,比如那个会直接去讲那个如何去分去做家庭的分析和业务的分析,这是一个基础。
在这个经营明确需求时间里面,对那个去做业务分析。业务分析完了以后,就是要知道解决的用户的问题是什么。业务目标是什么?它的实现的过程是什么样子的?在实现过程中有什么样的阻碍?
这是一个分析的过程。基于价值分析的过程,再去看怎么去设计需求,然后做出一个规划。如何能够在快速交付的情况下,如何就把这个需求交给开发之前,要保证它的质量。
这个质量不仅仅是写的不好的需求,比如说你要这个快速去交付的时候,然后做到有效的需求分析的话,需求智能就拆分开来了。不会把需求拆分当做一个独立的话题。但是你会发现需求拆分在过程中自然而然的发生了。
那接下来还会去讲到,组织好这些需求怎么传递给用户,可以用户传递给开发。这里面会讲到一个三角形的例子,用的一个测试和需求的一个三角形前面加了一个叫神经化,需是神经化需求的过程。实际上这出了一个陌生的概念,叫神经化需求。
其实是将通过实力来高效的呈现和分析需求的一个过程。把它想象成把需求搞清楚,或者就是把诚信和分享需求。其实在这里面我们看到两个过程,一个需求的探索的过程,一个持续交付的过程。我们希望把这两个过程真的融为一个整体,连接在一起。
连接在一起,就是说要加快这个反馈需求分析,来探索对反馈的一个循环,减少其中的摩擦。就是这个产品真正的做到以用户价值为核心,规划和探索有效的需求。但是基于创新这一部分,可能涉及到这种更多一些,比如目标的管理,比如业务验证和数据分析啊。我们要为了以用户价值为核心,规划和探索有效的产品,我们会分两个主题来讲这个过程,一个是经济的稳健需求管理,相对微观一点,但已经比一般的要高。
所以说总结一下,就是在这里要把问题给定义出来。定义出来之后,也要找到一条路径,然后怎么样把它走过去,然后除了这个之外呢,其实还有另外一个问题,核心是以长期效率为核心。就是这我们可能有两条选择,一条红线,一条绿线。如果无所作为的话,你一定会走到红线上面的。什么叫红线?
就是你开发的越多,接下来做的越慢。什么原因,还债还有利息,还有交的利息,然后你的工程能力就是你后面的测试,包括持续交付,你要跟上就还债。如果再还,如果只是还债的话啊,可能得把这条红线拉平。
但在还债的过程当中,还要做新需求,会先累积债务。就算你不累积债务,也只能把这个线拉平。所以说从这个角度来说,我们职业交付实践,有好的守护,比如说环境和有相应的一些基础设施,能够通过直接进行部署的方式。然后来去做让代码快速的流动,安全放心的发布软件。
比如发布上去之后,它的安全和运维保证它的稳定性比如服务化拆分,还有另外一个中台化。从这些角度来说,只要做好这一点,你的往上走的空间就越来越大。对其实整个设计这一块,一个重要的观点就是比较重要的一个价值主张。就是这里面引入了一个概念叫软件资产,有一种叫代码资产。比如如何真正拿到一个资产,让资产去增生,这里面讲的涉及到代码体检的时候,讲代码资产的评估评价和优化,这点可能会是一个比较新鲜的内容,是领域驱动设计和微服务。
微服务,从老年资产这个角度来去全新的去诠释它们。从这个角度来说呢,分别从这三块基本上是流动效率来去提升团队的持续交付能力。以客户价值为中心来去规划产生有效的产品。
还有另外一个就是以长期效率为核心去沉淀优质软件资产、工程能力。它们三者共同来去促进研发项目的提升。这个就是称之为叫研发效能计算之道。
那么就是它的三个推进期,整体上来说,其实整个的一个体系大概是这样,共同去支撑整个组织项目。
这个里面就要解释什么叫研发效能,其实研发效率还是研发看到的效率,如果是需求时间,然后基于形状持续交付和设计代码时间,基本上都是研发效能。不管是当前的还是账期的,研发效能最终是要为主持效能服务的。其实那些写的就是理财报里面的内容。当然其实组织项目可能还有很多还有很多。
比如如果公益是你的价值观的话,可能社会价值也是组织相同的意思。然后来看到其实经济创新事件其实是跟研发项目。就刚才讲的狭义的研发项目相对不太有关系,但是广义的研发项目顺畅,高质量的交付,有效的价值也是包含了经营创新实践,一定是包含经营创新战略的。所以这样一来,就这个特征给了一个科学一个整体的一个框架。这是要从政府一个方面进行创新经济和敏捷需求,管理经济敏捷协作、持续交付时间和涉及到代码时间这五个方面来解决研发效率的问题或者大效率的问题。
大效率这个不仅仅要是要告诉大家持续的加持续的加速度的加速,还要还要能够将这个东西是有效的。所以这个方面如果这个问题,如果中间去看的话,最左边这五个方面的实践的话,主要中间看是经济和美元协作水平。
关于技术,技术管理工程的是其实有的时候就是在不同的场合分享,有的时候可能感觉到不一样,侧重点也不同。在这里面其实希望通过这五方面的时间,如果从领先的角度来看的话,称之为全栈领军就向上。需要教授有效的东西是这样实现业务价值向下这样持续的高效是真正的能够有高效的效果。
业务是方面,也代表又画了一个新的概念啊,全在里面。其实不算什么新的概念,这是一个理想,这是一个愿景,是在无论如何都是为组织项的。其实单纯从这些时间来说,还远远不够,应该一个完整的一个体系来交付给大家。所以在整个交付角度来说,会分成三大块。一个就是说有意义的,怎么来去做好数字化。
然后另外一个就是说有效的数据化可能落地的一些赋能的一些时间,
来整体在作为一个企业来说,整体去把这个项目来去做到更好的一个提升。其实工具和这些实践也是一个负能的手段。