微软西雅图总部DevOps交流总结

本文转自Study4台湾社区。Study4台湾社区,成立于2011/9/25,希望藉由社群推广的力量,让台下的朋友听到来自不同县市的大师讲课,也让台上年轻一辈的技术传教士能不断的琢磨并且追上大师这是一个社群,社区希望透过分享,给偏远地区、年轻一辈、每一个人,多那么一点机会。点击原文链接关注 Study4台湾社区。


这一两年在软体或是资讯界比较热门的词除了Scrum外,大概就非DevOps莫属了,且说真的不知道为什么,现在不管什么工具或产品,最后都要去跟DevOps扯上关系,就如之前在许多研讨会上,有很很多DevOps的大神说过,关于DevOps的定义每一个人都会有一种不同的解释或诠释方式去说出他对DevOps的认知与见解。也因为这样,怎样做好DevOps这件事情,其实也就没有标准答案了。


上个月有幸与微软西雅图总部交流了一下DevOps转型的议题。这真是一个非常棒的体验,虽然,这之间的交流时间不算长,但也发现微软在进行DevOps转型中的有些行为模式跟自己的团队运作还满相似之处。DevOps很难去说谁是对谁是错,所以,能与各种实际有在进行DevOps公司交流,互相吸取对方的经验与过程,作为自己团队或企业的借镜是相当好的。


咦?怎没有Story Point

在讨论之中,突然看到对方,在Story中没有去设定Story Point,忽然让我觉得怪怪,一般来说以Scrum进行方式,因该会团队针对每个Story去评估该Story的Story Point,进行该Sprint可以完成的Story项目。所以,就特别问了一下讲者,讲者给我这四个要点

Usage

Acquisition

Engagemnet

Satisfaction

Churn

Feature Usage


Velocity

Time to Build

Time to Self Test

Time to Deploy

Time to Learn


Live Site Health

Time to Detect

Time to Communicate

Time to Mitigate

Customer Impact

Incident Prevention Items

Aging Live Problem

SLA Per Customer

Customer Support


We don’t watch

Orginal estimate

Completed Hours

Line of code

Team Capacity

Team Burndown

Team Velocity

of bugs found


原来在整个DevOps循环中,开始关注速度部分则是交付的时间有多快,也就是说当我一个Story完成后,可以多快交付上线,确实如果从这层面考量,完成定义就会被定义在真正有被交付到环境上才算完成,因此,在对方DevOps转型中,就不太需要关注在开发者设定预估时间上。在自己实务经验上,似乎也是如此,对于团队来说,就是要赶紧把东西交付出去,尤其,有时候又会被限制时间完成,那样去预估一个Story的大小,似乎意义就不大。


何时要做UI自动化测试

这一个问题主要是我想要知道对方是怎样进行UI自动测试,却得到对方怎样去进行一个系统测试比重分布,毕竟做UI测试这件事情,实务上要去做到全自动化的难度并不清,如果从技术角度上是简单,但UI测试其实也就是整个系统的整合性测试,再加上每次要是UI有所变化,基本上写的测试案例就必须要重新再变更,让整个测试效益会比较低

原本是整合测试比重较多,慢慢增加小量的单元测试,以及测试API服务的测试比重,未来将会是以单元测试为主轴,会后思考一下,就经济效益来说确实是这样会比较划算,不仅有自动化可以帮忙,也可以缩短交付时程。再加上后续采用微服务架构化,基本上进行到L3的测试,也大概完成所有测试的80%


关于Microsoft DevOps转型前后

Microsoft开发团队转型成为DevOps历程结果,其中有几点跟自己团队是满像的,尤其是团队只剩下PM和Engineering,换句话说就剩PO和开发团队了,微软移除QA团队这件事情,想必是大家都知道。移除QA团队,就不代表不做QA,只是把QA这件事情转移到开发团队,其中最大好处当然对于要执行自动化测试这件事情来讲就会容易许多。当然,这其中也可以让开发者和PM针对所谓的Bug进行优先权处理,早期若是有QA团队,对于QA来说是必须修复好所有Bug,才算合格。但实务上并非所有Bug都是对产品或是系统有直接的影响,若无法针对Bug去进行优先权处理,某程度上就会让整个系统产品上线时程延后或是延长布署时间。就目前实务来说,也确实如此,如果整个团队都不断进行迭代,或许可以有些对用户完全不影响的缺陷,是可以延后修复的




有幸借鉴微软转型过程,由于时程因素,讲者没有办法把所有细节讲完,但是整体而言,让我知道自己团队还有在DevOps之路还有更多改善空间,毕竟产业组织特性不同,也不能完全复制微软这套过来,还是必须做一些小小改良来符合企业文化与流程。

原文地址 https://mp.weixin.qq.com/s/JUeLL727o_VDcNy-Cev9zA


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/321633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

12、数据库的设计范式

设计的数据表一般都是根据实际业务实体模型进行创建,为了提高存储的效率,设计数据表时一般按着几个标准进行设计 第一范式每个字段的数据具有原子性,使用字段的数据时不用再解析,可直接使用第二范式表的每一个字段都必须依赖主键…

C# 快速高效率复制对象另一种方式 表达式树

一、需求在代码中经常会遇到需要把对象复制一遍,或者把属性名相同的值复制一遍。比如:public class Student{public int Id { get; set; }public string Name { get; set; } public int Age { get; set; } }public class StudentSecond{public int Id { …

jzoj3783-[NOIP2014模拟8.19]签到题【结论题】

正题 题目链接:https://jzoj.net/senior/#main/show/3783 题目大意 nnn个数,求这个序列中一个非空子集的和是nnn的倍数。 解题思路 可以知道一定有一种解法是一段连续的序列。 证明:设sxs_xsx​表示(∑i1xai)%n(\sum_{i1}^xa_i)\%n(∑i1x​ai​)%n,那么…

13、mysql中视图的应用

是什么 视图是一种有结构没结果的虚拟表,其结构是从基表中产生的,视图主要用于查询数据。在sql层面上来看,视图就是对select查 询语句的封装,我们看到的虚拟表(也就是视图)就是select语句查询出的结果组成…

P4768-[NOI2018]归程【kruskal重构树,最短路】

正题 题目链接:https://www.luogu.com.cn/problem/P4768 题目大意 nnn个点mmm条边的无向图,然后每条边有水位和长度。 每次询问一个(v,w)(v,w)(v,w)表示从vvv点出发走高度超过www的路径到达一个点xxx使得x∼1x\sim1x∼1的最短路最短。 解题思路 先用DijDijDij跑出…

用C# (.NET Core) 实现抽象工厂设计模式

本文的概念性内容来自深入浅出设计模式一书.上一篇文章讲了简单工厂和工厂方法设计模式 使用的是披萨店的例子. 文将继续使用这个例子, 这里要用到抽象工厂.披萨店的需求变更现在披萨店在各地授权了很多连锁分店, 但是有的分店偷工减料, 使用劣质原料代替标准原料.披萨店老板现…

14、mysql中事务的应用

是什么 事务是一种保护连续操作同时满足(实现)的一种机制,用来保护数据的完整性,只适用于数据操作,不适用于结构操作,只有 innodb引擎的表具有事务安全的机制。就是说,在一个事务中做一系列的…

P3193-[HNOI2008]GT考试【KMP,dp,矩阵乘法】

正题 题目链接:https://www.luogu.com.cn/problem/P3193 题目大意 求有多少个长度为nnn的字符串不包含子串sss。 解题思路 考虑dpdpdp,用fi,jf_{i,j}fi,j​表示第iii个已经匹配到jjj时的方案数。 显然这与正常匹配十分相似,我们分为两种情况 ansi1sj…

Summer Training day4 欧拉降幂

Input2 Output2Hint 1. For N 2, S(1) S(2) 1.2. The input file consists of multiple test cases. Sample Input2 Sample Output2这道题的公式非常简单,就是求2^(N-1) %1e97 由于N实在是太大了,不能直接求快速幂,考虑到2^x % MOD是有循…

Project Honolulu 正式版发布为 Windows Admin Center

微软今天正式发布了 Project Honolulu 的正式版,其正式的名称为 Windows Admin Center,gOxiA 之前一直在这个 TAP 中,从 1711 到 1804 可以看出微软现在的开发速度之快,从测试情况看 WAC 质量非常高。正如之前日志说讲 Windows Ad…

15、sql编程基本语法介绍

使用sql也可以像java一样进行程序编写,说到编程,就离不开变量和流程控制,接下来介绍一下 变量 sql中的变量可分为系统变量和自定义变量 系统变量用于控制服务器表现的变量查看所有系统变量show global variables [like %关键字%]; -- 查看…

使用C# (.NET Core) 实现命令设计模式 (Command Pattern)

本文的概念内容来自深入浅出设计模式一书.项目需求有这样一个可编程的新型遥控器, 它有7个可编程插槽, 每个插槽可连接不同的家用电器设备. 每个插槽对应两个按钮: 开, 关(ON, OFF). 此外还有一个全局的取消按钮(UNDO).现在客户想使用这个遥控器来控制不同厂家的家用电器, 例如…

P4170-[CQOI2007]涂色【区间dp】

正题 题目链接:https://www.luogu.com.cn/problem/P4170 题目大意 给出长度为nnn的串目标串,每次可以在一连续的区间覆盖同种字符,求最少覆盖次数。 解题思路 我们分情况考虑,用fi,jf_{i,j}fi,j​表示从i∼ji\sim ji∼j都涂好需要的最少次…

16、mysql中函数的创建和使用

sql语言可以进行编程,说到编程,那一定少不了使用函数对代码进行最小级别的封装,接下来介绍一下mysql中函数的写法以及应用 mysql中的函数可分为两类:系统函数、用户自定义函数。 简单的介绍几个常用的系统的函数: 函…

Summer Training day4上帝与集合的正确用法 欧拉函数+降幂公式

这个题的指数太大了&#xff0c;因此要考虑用降幂公式进行降幂 记f(p) 2^2^2... % p f(p) 2^(2^2^2...%phi(p) phi(p)) % p 2^(f(phi(p)) phi(p)) % p 到这里我们得到了一个递推方程&#xff0c;边界f(1) 0 #include <iostream> #include <cstdio> #inclu…

17、mysql中的存储过程的应用

其实存储过程也可以叫做过程&#xff0c;而函数也可以叫做存储函数&#xff0c;两者都是处理数据的一种方式&#xff0c;但是不同在于函数是必须要有返回值的&#xff0c;而过程则没有返回值&#xff0c;过程可以理解为是一种用来处理数据的没有返回值的函数&#xff0c;但是他…

CF9D-How many trees?【dp】

正题 题目链接:https://www.luogu.com.cn/problem/CF9D 题目大意 求nnn个点组成的深度大于hhh的二叉树有多少个。 解题思路 定义fi,jf_{i,j}fi,j​表示iii个点高度为jjj的树有多少个&#xff0c;然后每次将两棵(a,b)(x,y)(a,b)(x,y)(a,b)(x,y)合并就有 fax1,max{b,y}1fa,b∗…

把旧系统迁移到.Net Core 2.0 日记(2) - 依赖注入/日志NLog

Net Core 大量使用依赖注入(Dependency Inject), 打个比方,我们常用的日志组件有Log4Net,NLog等等.如果我们要随时替换日志组件,那么代码中就不能直接引用某个组件的内容,也不能直接New 某个组件.而是应该定义一组接口, 然后包装各个组件,实现这个接口. Net Core 自带组件容器,…

18、数据的备份和还原

mysql中数据的备份有以下几种方式&#xff1a; 1、直接在数据库文件夹中复制对应的表结构以及数据文件进行数据备份 2、将每一张表中的数据进行备份 3、使用mysqldump.exe 进行备份 4、增量数据备份 接下来就详细的介绍一下每一种备份的具体操作 直接在数据库文件夹中复制…

开源纯C#工控网关+组态软件(九)定制Visual Studio

一、 引子因为最近很忙&#xff08;lan&#xff09;&#xff0c;很久没发博了。不少朋友对那个右键弹出菜单和连线的功能很感兴趣&#xff0c;因为VS本身是不包含这种功能的。大家想这是什么鬼&#xff0c;怎么我的设计器没有&#xff0c;其实这是一个微软黑科技&#xff0c;…