微软西雅图总部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,一经查实,立即删除!

相关文章

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 { …

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

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

14、mysql中事务的应用

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

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…

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

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

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…

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

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

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

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

19、mysql中定时器的创建和使用

mysql中可以使用定时器&#xff0c;用来进行计划的调度&#xff0c;在mysql中定时器通过事件的形式存在&#xff0c;接下来介绍一下定时器的使用 创建定时器 CREATE EVENT IF NOT EXISTS 计划名-- 计划频率和开启计划时间或者是计划执行的时间-- 前一个可以实现持续的计划调度…

使用C#实现适配器模式 (Adapter Pattern) 和外观模式 (Facade Pattern)

本文的概念内容来自深入浅出设计模式一书现实世界中的适配器(模式)我带着一个国标插头的笔记本电脑, 来到欧洲, 想插入到欧洲标准的墙壁插座里面, 就需要用中间这个电源适配器.面向对象的适配器你有个老系统, 现在来了个新供应商的类, 但是它们的接口不同, 如何使用这个新供应商…

在 .NET Core 中使用 DiagnosticSource 记录跟踪信息

前言最新一直在忙着项目上的事情&#xff0c;很久没有写博客了&#xff0c;在这里对关注我的粉丝们说声抱歉&#xff0c;后面我可能更多的分享我们在微服务落地的过程中的一些经验。那么今天给大家讲一下在 .NET Core 2 中引入的全新 DiagnosticSource 事件机制&#xff0c;为什…

.NET:持续进化的统一开发平台

标题使用的是进化这个词语&#xff0c;是因为 .NET 在不断的努力&#xff0c;也在不断的重构。这篇文章的更多目的和意义在于科普&#xff0c;俗称“传教”。持续进化的 .NET上图即是一个学习的路线图同样他也是 .NET 平台的进化图。也是代表着 未来.NET的发展方向。今天的故事…

容器化的 DevOps 工作流

对于 devops 来说&#xff0c;容器技术绝对是我们笑傲江湖的法宝。本文通过一个小 demo 来介绍如何使用容器技术来改进我们的 devops 工作流。devops 的日常工作中难免会有一些繁琐的重复性劳动。比如管理 Azure 上的各种资源&#xff0c;我们会使用 Azure CLI 工具。同时我们也…

linux下redis的安装和配置

以下介绍的是使用源码包的方式安装redis 1.创建安装目录 cd /usr/local mkdir redis 2.上传包到此目录下&#xff0c;并解压 tar -zxvf ****.tar.gz 3.使用make命令进行redis安装 cd到解压后的目录下&#xff0c;执行如下命令 编译命令:make&#xff0c;如果执行make命…

.NET Core 2.1 Preview 2发布 - April 10, 2018

我们今天宣布发布 .NET Core 2.1 Preview 2。这也是我们在接下来的两到三个月内接近最终发布的版本&#xff0c;该版本现已准备好进行广泛的测试。我们希望您有任何反馈意见。ASP.NET Core 2.1 Preview 2和Entity Framework 2.1 Preview 2也在今天发布。您可以在Windows&#x…

UOJ#244-[UER#7]短路【贪心】

正题 题目链接:http://uoj.ac/problem/244 题目大意 n1n1n1个矩阵如下图所示 每一层的格子有相同的延时&#xff0c;现在加一些平行于坐标轴的导线&#xff0c;求左上到右下的最小延迟。 解题思路 可以知道最优解一点是走到某个矩阵的左上角然后走这个矩阵到右下角然后到终点…

使用 C#/.NET Core 实现单体设计模式

本文的概念内容来自深入浅出设计模式一书由于我在给公司做内培, 所以最近天天写设计模式的文章....单体模式 Singleton单体模式的目标就是只创建一个实例.实际中有很多种对象我们可能只需要它们的一个实例, 例如: 线程池,缓存, 弹出的对话框, 用于保存设置的类, 用于logging的类…

用C#(.NET Core) 实现简单工厂和工厂方法设计模式

本文源自深入浅出设计模式. 只不过我是使用C#/.NET Core实现的例子.前言当你看见new这个关键字的时候, 就应该想到它是具体的实现.这就是一个具体的类, 为了更灵活, 我们应该使用的是接口(interface).有时候, 你可能会写出这样的代码:这里有多个具体的类被实例化了, 是根据不同…

TypeScript 2.8引入条件类型

最新发布的TypeScript 2.8包含了若干主要特性和一些问题修复&#xff0c;其中最为重要的是新增了条件类型&#xff0c;开发人员可以根据其他类型的特征为变量选择适当的类型。条件类型最适合与泛型组合在一起使用。如果一个框架总是重复相同的选择性代码&#xff0c;就会变得很…