谈 DevOps 的开发方法—看板驱动开发
Posted DevOps时代
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了谈 DevOps 的开发方法—看板驱动开发相关的知识,希望对你有一定的参考价值。
李智桦
台湾著名精益布道师
91APP 敏捷顾问
下面是李智桦老师在 DOIS 2018 · 北京站的分享:
各位在公司已经开始实行 DevOps了吗?首先DevOps从哪里开始?实行DevOps从哪里开始?
看板看得见,就是一切从看板开始,做什么事情都从看得见开始,就是整个团队开发的时候,把他们的工作步骤画在板子上面,每个人做什么,都可以看得见,一个人千万不要接受多个任务,因为你同时用几个键盘,你同时还是写一个程序,所以多个任务,会让你浪费时间。
然后你们看画面上面左边是开发的看板,下面是运维的看板,这就是一个完整的看板,所以DevOps不止是一个DevOps,所以原本应该是叫DevOps,好不容易大家都熟悉这个DevOps这个名,就不要增加它的复杂性。
今天的课程,比日常工作更重要的是,是对日常工作的持续改进,持续改进是整个看板的精神所在。
今天讲到用看板来驱动DevOps作业,好处在哪里,好处是消除浪费,而看板方法已经跟三步工作法完全不同,看板方法求快、训练回馈、追求文化改善。
你从看板上,可以看到整个 DevOps 的流程在哪里,可以享受到其中的利益。左边那一张图是现在很流行的敏捷。
看板方法用于度量,省事又省工,但是意大利有一名发明了度量法一定要把度量加进去,你怎样持续地改善,可以看到这样子做可以得到更大的利益,所以度量要加进来,但度量对正常的工作法,的程序里面加有的或者没有的东西,才可以把资料丢出来,所以对于精益而言,程序加一些原本不是属于它的东西,就叫浪费。
所以把度量加到这里面,原因是让整个的度量融入到一个开发流程,不要变成一个额外的东西,额外的东西,形成浪费的事情,那是最严重的事情。所以我才开始推动看板和度量的看法,看板和驱动开发是我这边发明了,真正一点分量。
看了一张图,最重要的一张图,敏捷走不出开发的范围,而为什么因为敏捷尊重四大宣言所有的原则,对业务而言,四大原则在哪里,他们看不见,实行DevOps,DevOps之所以会出来,就是会持续地符合这个时代,如果你中间有任何的问题,留下来,我不会回答。
左边是传统的开发方法,右边是看板驱动开发方法新增加的,右边符合第一部速度,第二回馈,第三文化,持续学习与增向你的文化。如果你要我介绍你买一本好的看板书,我会介绍蓝皮书,那是我们的史族,如果你会问本土的哪一本书做的比较好,我会推荐何勉那本书,但是印刷总是有缺点,下一次会改善的。
持续地改善,就是做这件事,当有人说回馈给你持续地改善。右边的第一个是速度、你要建立一个节,屯对快、要多快,所以这是很有趣的一件事情,很多公司一天一万次,十万次,到底比快在哪里,意义在哪里,然后再让他回顾会议的时候,把节奏变好。
你看到第二步,我特别把圈下来,利用节奏建立回馈空间,第二步工作你经常看到回馈,怎么回馈,从哪里回馈,看板上实施,每一个公司的移动都可以得到回馈,等一下我会展示如何回馈。
DevOps 国际峰会 精益/敏捷专场现场盛况 △
第三个是文化,当你看得到你怎么失败的时候,你就不需要失败,因为你就可以停顿点,当你看不见的失败,那才是失败的,你要介绍实验,最近我们在做一个实验。
然后接着再讲,可能会失败,团队会面临一种挫折,然后团队会学到东西,然后老板就跟我讲,你讲清楚,所有的老板都害怕失败,但是看板前不需要害怕失败,因为你可以看得干,所以看板的最大利益就是安全的利益,所以不用担心。
等一下可以有时间讲到,可以讲一个例子,最近带的公司,怎么样让他们失败,怎么样让老板安心地让他们失败,这是蛮困难的地方。
问一个问题,项目开始之一,第一件事要做什么?DevOps,项目开始之初,第一件事要干什么?我的课不需要正确的回答,任何项目之初,第一件是看见全貌,等你看到有实际上,一定不止这些,当你觉得看到全貌的时候,设想再把抽象度提升一点,也就是说再往后推的一点,实际上今天准备的PPT就这么多,有74张。但是大概会讲到地42张,就很成功了。
2.
项目开始之一,第一件事要看到全貌,看到全貌的目的是什么?我们在开始之前,要先看见全貌?
李智桦:看到全貌,你要知道你现在在哪里,从这里开始出发,这是很重要的一件事。看见全貌因为它一直在变,敏捷就是对物需求的变化很大,敏捷不是一个快速地开发方法,但是应变需求很快速的方法。
但是今天要讲的看板就不一样,根本就是一个快速开发的东西。因为 DevOps 的要求,就是要快,所以第一步从看板开始,让他快。
好,先问一个问题,站在看板前面,他们公司在使用看板的再举一次手,请问站在看板前面你要想什么,你如何地思考,你可能每天都站在看板面前。
你可能不知道,我带团队的时候,每隔一个礼拜,我会让他们站在看板的后面,这是很有趣的事情,你看得见的时候,每个人都知道的问题在哪里,让团队背对你们的看板,让他们下暗棋,你会觉得很有趣。
我有一个工程师说,一到这个地方,然后跑到后面去一看,找不到你的问题,很有意思。让团队实行下一个暗棋每天再做的事,反过来就看不下去,人看得见东西的时候,就更能知道在哪里。
你站在看板前面第一件事你要看什么,答案在上面咨询辐射,这个看板他发散出什么味道,第一件事,上面这个范例,资讯辐射在哪里?
圆圈因为他是红色的,很明显地散发出一种例子,第二个,你能看到最大你目光的地方,你要看什么,你要精益七大原则,开始想这个看板哪里是对的,哪里是错的。
我的书,目的就是消除浪费,我其实教看板的时候,都会用这样一本数,知道何勉的书出来,还是介绍人家,但是还是要制作精美,精美很重要的。
为什么我要写这本书,目的只有一个,因为你站在看板前面,你要知道一些什么,要用精益的原则来,精益的七大原则,第一个原则就是消除浪费,你先看团队的哪些原则是浪费,增强他们学习,尽量地延迟决策,然后尽快地交付你的东西,然后授权你的团队,接下来看见全貌,你要发现七大原则的走一遍,你大概知道优缺点是什么。
先看七大原则,然后看看改善哪些地方。那先解释什么叫看板驱动开发,就是在实行DevOps的时候,利用看板的方法,将度量监控额外加起来的东西,让他融入工作流程,让他现在一种正常的流程,而不是额外的浪费,目标让三步工作法被看见,你在做你的流程,你看得见。因为你做错误的时候,你也看得见。
说一下三步,工作价值,第一步的意思是什么,走的越快越好,所以看办做这件事,第二步回馈。请问你从哪里得到回馈,你做DevOps的时候,或者是你开发工作的时候,另外不是女士,是小姐。其他的讲师会很吃味,因为我准备了很多书,基本上是他们的3倍。
第二步工作要回馈,你问一下你的团队从哪里取得回馈,平常最多的回馈是哪里,我们请老板请客户进来,给我们回馈,这是一个最好的回馈,但是这叫事后回馈。
你在这个开发是不是做完了,是不是已经做了,那什么样可以及时地回馈?当你在看板下面,把一个工作移到下一个工作的时候,定位可以把这个移过去了,因为我完成了某一个事情我确实做完了这件事,所以我把它移到下一个测试案例。
你这个工作是完成了,谁给你回馈,测试人员给你回馈。所以你在移动的时候是及时回馈,人家回馈之后,你会得到一次自学跟学习的机会,这是最难得的。
第三步、讲到学习就讲到第三步文化。今天会对各位讲一下,怎么样改变团队的以至于改变企业的文化,今天讲到,认为自己的公司企业文化很棒的,对自己公司有信心是一件非常重要的事,但是觉得还值得再改善的呢?那一位男士谢谢。
外国的讲者,可能以为圣诞节到了,现在是7月,这个时候你看看左边的三步工作法,我已经把他切割开来了,三步工作法是一个很不好的名字,你会为一步两步三步,实际上不是这样的,应该是切割的,你们不要分步,不断地要加快你的流程,同时你也要不断地改善,持续地改善你的文化,改善的文化可能是最难的一件事。
但是这堂课结束之后,你就知道怎么改变你的文化。如果你现在已经知道怎么改变你的文化了,非常好。
有关第一步工作法,追求效率要快速地消除浪费,实际上建立节奏,建立团队开发的节奏,然后慢慢地变化,节奏是很重要的,如果你是每个礼拜尽量地维持他,但是碰到过年,绝对要不要调整,两个字团队。这一段事情,交由团队来做,因为拥有自主的团队,是比什么还难得的一件事。
好第二feedback,就是回馈,是放大回馈,有的时候回馈是风吹草动一样,你一定要让回馈激发出来,让它变大,大部分的回馈都是持续地在进行,只是你没有看见他而已,这是最可怕的一件事。
所以你需要开发中的开发,你需要运维中的回馈,不要忘了业务的回馈非常重要。回馈最重要的,就是回馈的一刹那,最重要的一件事,确认他真的是做到回馈了吗?
否则就不能移过去,请问看板是单向的还是双向来回,应该是最后面那一位,看板是单向的,拉过去不回来的,控制力很强的东西,可是你说如果出了一个问题,必须要停下来,给他一个符号,如果撤回来,你认为开始可以做,结果协调一下不行,要不要撤回来,千万不要撤回来,再开一张单子,这样做的技术历程,那个过程就知道,当初我做的时机点不对,重新去估算它,不要用旧的估算它,重新估算他再决定他的位置,所以看版是双向的,看版不能够接受这种。
再来,正视风险以达到安全、可靠的工作系统,所以DevOps做过的,正视你的回馈效应的,所以需要一个可靠的工作环境。
而第三点透过实验学习能持续改善企业文化,难哪。是那怎么样可以做到实验呢?
我最近在跟一个企业在做变革,听起来就很轻松,但是中文为什么会讲片个,实际上改善的时候,当我们组织在调整的时候,每个人会重新定位他的职责在哪里,这件事我该做还不该做,如果老板变革之后,你做这些不做这些,把你应该负的责任讲的很清楚,可是你不让团队自己实验看看,我应该负什么责任,变革的东西,不要把很细的东西指定给团队,让他们自己去摸索。
我碰到的例子是这样,就是最大的PU,要求所有的团队,站例会议的内容,简单地跟我汇报一下,我们有40多个团队,团队一个人来汇报,有规定汇报的内容,要按照什么程序吗?没有,让团队自己去摸索,第一个人来问了之后,老板你想看到看板什么东西,他说有几个人缺席,所以那几个人的工作内容不太清楚。
老板就是说,那我怎么样可以知道他们的工作内容,团队的成员回去就把所有的人历抠下来,做成一个文档寄给老板,傻瓜才这样做。他报告完之后,第二天第二个人又来报告,老板说今天的进度在哪里,他说OK,我拍一下日程给你们,但是实际上根本不需要拍,因为这个老板坐在他的位置上,就可以看到工作流程。
那我为什么不跟他讲,你每天报告的是哪些,我们让一个个的成员带回去,跟团队讨论,这叫做实验,经过这个实验学习之后,大家一个乐百之后,每个成员都知道报告,但是每个团队报告的不一样非常有趣,这个团队的组成形式,跟他的报告会呈一个仔细,如果你没有做过,让团队实验学习成长,团队自然会做的很好,OK完全不需要规范他们,一旦规范他们,报告1、2、3、4、5,这是最糟糕的当中,回去以后会试一试看的请举手。
实验看看呢?你才知道结果,你不是刚刚已经拿过了吗?都给那一位,所以三步工作法你要完成第一步,第二步,第三步。
所以KDD第一步方向是重点,你跑错方向你再快没有用,这就是为什么要看见全貌,然后度量可以看见什么,你做这个工作的最大和最小的差异,因为我做完三个月的顾问之后,老板会说我得到什么,你顾问完了之后,老板是什么,企业改善这么多,这是很有趣的。
实际上所有的顾问,都应该这样子,我帮你免费做顾问,三个月之后,你看度量的结果,决定你要付我多少钱,如果三个月成果变差了,怎么拿钱,就不需要给我,如果改善的多少,拿多少钱,老板敢跟你这样赌吗?我没有东西可以送了。
所以你们不用回答,试着跟主管沟通一下,可不可以做这件事,实际上很多顾问都愿意做这件事,这叫挑战,敏捷五大顾问里面我认为是勇气,勇于去尝试他,我最近碰到最难的团队里面有人因为有人太清楚这个东西。
你跟他讲,我要持续地交付,他要觉得非常的困难,你不想着我们的系统多复杂,什么是复杂,你一定觉得工作是很复杂,请注意,重复做两件事的不会得到相同的结果,他叫复杂。
如果你重复做两次都得到一样的结果,你的工作并不复杂,真正的复杂是每次都得到不同的结果,非常困难去看它,你看不到他的全貌,这个时候你往后退一点,所以度量跟流程结合,才能让流程改善的指标,不至于浪费,所以你加任何东西之前,先跟流程结合,否则就是浪费。
再就是回价值是设在哪里呢?在价值流的每个节点,设法放大回馈,这个回馈就叫做DOD,也就是在通过节点时的定义完成指标,当你没有回馈的时候,有移动没有移动。所以一定要把回馈放大起来,然后怎么样能够看到真正的回馈是好的,让每个团队看到每个移动的定义移到下一个是什么,团队共事是就可以了。
我们移到第三步,看板是一种Sofe to fail的机制,重点是你学到什么,你怎么改善,这一次的大会比较学习型组织有好几场在这里,我努力地让我顾问的公司成为一个学习型的公司,因此我中午都不用花钱买便当,由公司提供,然后跟团队学习,就是带他们做读书心得报告,所以试着看得见得实验中安全的失败学得知识,但老板看得见的时候,你一定不会害怕,但一定设置停审点,这个点是一个重点。
KDD是实根DevOps与度量的入门实务,第一步,必须将度量和流程相结合,第二步回馈机制要设在哪里呢,那定义是在这里,就是在实行DevOps的时候,运用木看板方法,无论是度量还是监控,整个工作都融入工作流程,目标是将三步工作完成看得到。
左边吐露两的指标是部署效率变更失败,右边是稳定性的部标,变更失败率和问题平均恢复时场,DevOps之初,大家拼命地比速度,我的速度一天一万次,这个跟品质有没有关系?男士的还是女士,注意开发的速度,你一天发布多少次,跟品质一点关系都没有,请分清楚你在改善什么,那什么跟改善有关,看板用什么来调整速度,用WIP来定出,请为各位的测试,定多少呢?
你整个的开发结束了,流动了测试,请问WIP应该定多少,我们允许一个流动流出来吗?那我们应该定一吗?你定三,还是0,0就不用流动了。
基本上是1,基本上最少是1,但是你会讲,如果10个工程师在开发,如果我定义1,是不是有一个漏洞就卡住在这里,任何一个严重的漏洞都不允许流过去,只要有一个漏洞,就不允许其他人再开发了。
我描述一下,丰田流水线是这样的,然后整个生产线停下来,为什么生产线要停下来,因为我们出现一个问题,超过55秒不能解决,所以我们生产线是一个品质低落的事情。
所以我们要停下来是在自动化的作业里面,生产线停下来是一个很可怕的事,所以他可以持续地改善,持续的那么好。软体开发,倒过来对照生产的生产线,软梯开发,最有趣的是工程师不断地接受高质量,生产线没有人在意我们的人混。所以避免让工程师不被停下,能够持续地开发,这才是重点。
看板方法完全适用于三步工作法,看板工作快,就是一种高效的开发方法,赞成敏捷这个方法是一个快速的开发方法,他是应对变化很快速,所以它不是不会快,什么才是快,就是看板是快,因为你看得见你知道要持续地消除浪费,看板的落实回馈循环,看板是精益文化,以消除浪费为主,刚刚我念过七大的原则,所以你要用七大原则来做这一件事,你就做的很好。
刚刚那个图,就是用了何勉那本图,终于找到蛮像样的图,但是你在看板的时候,就是最快地看到问题在哪里。
讲一个感人的故事,Demo,这一件事会发生,请问你的孩子回家都讲第一句话讲什么?通常第一件事是好忙老累,我们好像还有一件衣服可以送。有没有回家不讲好忙好累,就不要送给他。
我女儿回来说,她讲好忙好累,他说今天加薪,老板跟他讲,你要安排你的小组怎么工作,不管你喜不喜欢管人,就是这样子,这个小组交给你了,然后我的女儿成绩非常好,但是学校里有教你怎么管人,即使你是做班长,跟如何管人无关?这个怎么办,他很在意的是,他担心老板问他团队工作状态时回答不出来,这张图是真的。
这是2013年,我讲了十点重点给她只花了15分钟,我女儿现在已经升总监了,3年的时间,实行的看板,让你不需要管人,因为每个人的工作都呈现在看板上,如果老板问你这个人的工作在哪里,所以看板让你可以看见这些东西你就不会害怕。请注意,今天最重要的一句话,就是看板,因为你可以看得见,所以你可以设定停驶点。
OK,今天讲到这里,谢谢大家。
注:本文根据 DOIS 2018 · 北京站精益 / 敏捷专场李智桦老师的分享整理而成。
研发运营一体化(DevOps)能力成熟度模型 第3部分:持续交付评估现在可以报名了!
猜猜您的企业在持续交付方面可以评几级?
联系方式:010-62300559
邮箱:niuxiaoling@caict.ac.cn
培训请咨询:
杨文惠
联系方式:13021086339
邮箱:yangwenhui@greatops.net
研发运营一体化能力成熟度模型视频介绍▽
以上是关于谈 DevOps 的开发方法—看板驱动开发的主要内容,如果未能解决你的问题,请参考以下文章