前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谈 DevOps 的开发方法—看板驱动开发

谈 DevOps 的开发方法—看板驱动开发

作者头像
DevOps时代
发布2018-08-01 11:29:56
8390
发布2018-08-01 11:29:56
举报

李智桦 中国台湾著名精益布道师 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 · 北京站精益 / 敏捷专场李智桦老师的分享整理而成。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DevOps时代 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 2.
相关产品与服务
腾讯云 BI
腾讯云 BI(Business Intelligence,BI)提供从数据源接入、数据建模到数据可视化分析全流程的BI能力,帮助经营者快速获取决策数据依据。系统采用敏捷自助式设计,使用者仅需通过简单拖拽即可完成原本复杂的报表开发过程,并支持报表的分享、推送等企业协作场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档