有效管理DevOps实施二:麦肯锡7-S模型

有效管理DevOps实施(二):麦肯锡7-S模型

Ben M. / 许峰 译 DevOps咖啡馆

前言:DevOps实施本质上就是一种变革管理。上一篇文章介绍了第一个变革管理模型 -- Lewin模型。Lewin模型适用于业务需要深入的分析和改进的变革。本文是系列的第2篇(共8篇),阐述了麦肯锡的7-S模型。个人觉得7-S模型对于想快速引入DevOps并要求立马见效的企业是一剂清醒剂,尤其当企业认为实施DevOps就是要引入一套工具平台时。另外,DevOps确实涉及到了模型里所有的7个方面,非常值得借鉴 -- 不管你是企业DevOps转型负责人,还是咨询顾问。本文原作者Ben Mulholland,英文原文请点击文章底部"原文链接"。

麦肯锡7-S模型


麦肯锡的7-S模型并非为深度分析和重大转型而设计,但非常适合分析公司内在的一致性和耦合性。如果你知道某些方面需要改变,但是不确定要做什么,那么这就是适合你的变革管理模型。

通过分析公司的以下七个方面,以及它们是如何相互影响的,你将能够发现那些需要做出的改变,以创建一个统一的业务方法:

  • 策略(Strategy)
  • 架构(Structure)
  • 系统(System)
  • 共同的价值观(Shared Value)
  • 风格(Style)
  • 工作人员(Staff)
  • 技能(Skills)

方法解读

有效管理DevOps实施(二):麦肯锡7-S模型

变革管理模式——麦肯锡7s模型

  • 评估策略(Strategy)

你的公司策略需要足够正式,能够让你有目标地前进以获得(或保持)相对于竞争对手的优势;同时也要足够灵活,能够适应变化而不会破坏你的进步。因此,在评估你的策略时,你需要回答以下问题:

· 你的目标是什么?

· 你实现这些目标的策略是什么?

· 你如何保持竞争力?

· 你的策略如何适应当前(和未来)的形势?

记录下每个问题的答案(以及你能想到的任何其他答案),然后继续。

许峰:在DevOps的上下文里,我们需要考虑组织的软件交付和运维能力(DevOps的核心价值)对于公司的策略意味什么?换句话说,IT能力对于你的企业时间战略目标有多重要?当你的企业不以IT能力为核心竞争力时,自建DevOps能力可能不是你的第一选择。

  • 审视组织架构(Structure)

你的组织架构应该是很容易画出来的,因为它比策略更具体,但是与你的团队一起再次审视它还是很重要的。除非这些信息能准确地反映公司的实际架构,否则你只会使变革的有效性被削弱。

有效管理DevOps实施(二):麦肯锡7-S模型

变革管理模式-组织架构

问问自己:

  • 你的公司是如何组织的(部门、团队等)?
  • 层级制度是怎么样的?
  • 部门是如何组织和管理的?
  • 团队是如何组织和管理的?
  • 团队成员是如何组织自己的?
  • 谁来做决定?
  • 决定是如何被传递下来的?
  • 每个人如何沟通?
  • 沟通发生的频率是怎样的?

许峰:在DevOps的上下文里,我们需要考虑组织架构。这里经常有人会问,做DevOps是否意味着组织架构一定要改?如果我们现有的架构无法改变,是否意味着不能做DevOps?显然,这里的问题是如何使得架构(比如虚拟团队)更利于共享知识,打破部门墙,共担责任。没有哪种类型的组织架构是必须的才能采纳DevOps。你需要评估它的有效性,再决定是否是制约演进的核心约束。

  • 分析系统(System)

我们的任何一位老读者都知道拥有流程并有效管理流程的重要性,现在麦肯锡模型应用了同样的理念。在这里,你需要评估你的业务系统,包括官方流程、非官方快捷方式、规则以及如何跟踪所有内容。

换句话说,问问自己:

  • 你的业务核心系统(人力资源、财务、文档管理、团队管理/会议等)是什么?

  • 这些系统和/或过程是如何存储和使用的?

  • 它们是如何更新的(以及它们是最新的吗)?

  • 这些系统准确吗(它们是被逐字逐句使用的吗)?

  • 你如何跟踪和评估这些过程的结果?

  • 谁有权访问这些系统?

许峰:在DevOps的上下文里,系统更多的指我们用到的工具+流程。这是大多数技术人员或者IT部门最关心的部分。同样,建议采用价值流图来分析你现在的流程有效性。同时设计需要改进(比如,在工具支撑下的自动化)的部分,在有度量的情况下迭代改进。不理解问题的情况下上马工具失败的风险很高。

  • 记录共享的价值观(Shared Value)

我们现在回到抽象领域,因为下一步是分析你们共有的价值观。这通常包括官方的公司价值观和公司(也可能包括个体团队)的文化。

虽然文化似乎与管理变革无关,但如果使用得当,它确实可以成为一个强大的工具。把价值观和文化与要进行的变革联系起来,会使员工对变革的接受度更高,也会进一步帮助员工主动投身变革。

看一看:

  • 你的公司核心价值观是什么?

  • 你的公司文化是什么?

  • 你的团队的文化是什么?

  • 团队文化与公司文化一致吗?

  • 你的价值观有多牢固?

  • 你如何在实践中加强它们?

有效管理DevOps实施(二):麦肯锡7-S模型

许峰:很难想象一个不团结的足球队能持续赢得比赛。同样,DevOps鼓励分享、不追责、同理心、持续学习等文化,如果企业忽视这些,DevOps的“成功”(比如引入一套工具平台)只能是昙花一现。对于DevOps咨询师/教练来讲,这往往是最难改变客户的部分。

  • 理解管理风格(Style)

这个阶段是主要是评估在业务中使用的管理和领导风格。尽管把自己的领导力做一个理想化的描述很诱人,但要抵制这种冲动并坦诚地说出你和公司其他人是如何管理他人的。

  • 你需要问的问题是:

  • 你的部门和团队是如何管理的?

  • 这种管理/领导力有多活跃?

  • 这种风格有效吗?在多大程度上有效?

  • 这种风格更鼓励竞争还是合作?

许峰:领导者亲自参与变革是至关重要的。领导者的风格对于变革能发成功影响巨大,DevOps的实施也概莫能外。没有领导支持的DevOps,可以洗洗睡了。

  • 列出人员(Staff)

这部分正如你所期望的那样:查看一下员工名单,评估一下是否所需的职位已经被填补了,还有哪些空缺,等等。

看一看你的员工名单,他们的工作描述,常见的工作任务,以及总的技能。

  • 哪些工作职位已经招到人了?

  • 这些员工为你的公司带来什么技能?

  • 团队是否缺乏特定的技能?

  • 你还需要招聘吗?

  • 如果是的话,你的下一次聘用会是谁?

许峰:做DevOps需要正确经验和技能的人。你不太能变出一个有经验的人。如果你的团队只会手工测试,你可能真的需要招些自动化测试的专业人员。

  • 评估员工的技能(Skills)

最后,是时候看看你的员工目前拥有的技能了。这不应该止于一个泛泛的描述——你需要收集一些关于你的公司被如何看待的反馈,因为这会让你了解客户眼中你公司的技能如何(这可能同样重要)。

看一看:

  • 你的员工是否具备必要的技能,使他们的工作达到预期的质量?

  • 你的公司缺少什么技能?

  • 这些缺失的技能有多重要?

  • 你的公司/团队中最强大的技能是什么?

  • 你是如何评估这些技能的?

  • 你的公司哪些方面被认为做得好,通过这些反映出了什么技能?

许峰:不想在团队培训上投入,害怕让团队试错,不希望“浪费”时间磨练员工能力,只希望发出一个指令,或找一个咨询团队来“搞定”DevOps -- 那只能是“Good luck!”了。

交叉检查7-S,找出你需要实现的变更

一旦你分析了所有的7-S,你就应该花时间去思考它们是如何相互影响的。与许多其他的变革管理模型一样,至少需要与管理层的高层会面才能做到这一点,并且你将在实践中更准确地了解这些方面。

你需要看看你的7-S是否互相支持,如果还没有的话,你需要计划一些渐进的更改以实现此目标。例如,查看架构是否支持你的策略,系统又是如何帮助这两者的,以及这三方面如何反映在共享价值观上的。

一旦你知道了需要做些什么,你就可以计划一些渐进的改变,这些改变不会过多地扰乱你的日常运营,也不会疏离你的员工。在改变被实施之后(或者甚至在你进行每一次更改之后),再次检查7-S模型,重新评估并找出下一步需要做什么。

有效管理DevOps实施(二):麦肯锡7-S模型

麦肯锡7-S模型

许峰:说到重点了 -- 看看这7个方面,想想你目前最大的问题到底是什么。很可能你当下最需要解决的问题不是工具的问题。你愿意直面你最重要的(但可能不易改变的)部分吗?重要的是:认清什么是关键绩效制约因素。不要试图用DevOps解决并不属于它的问题。

优点

7-S模型显示了公司的不足之处,并突出了部署变更时最需要注意的领域。除此之外,确保公司的各个方面都支持其他方面也会有所帮助,从而为你提供一个强大的业务计划,同时这个计划又非常灵活,可以适应更进一步的改变。

不足

除非你正在经营一家只有少数员工的小公司,否则麦肯锡的模式无法单独或在短时间内有效实施。你可能没有足够的知识来评估公司的每个要素,因此必须投入额外的时间和资源来构建总体评价并估算可行的变更。

结论

麦肯锡7-S模式最适合那些想知道如何才能变得更好的公司。对公司各个要素的一致性和有效性进行总体评价后,可以进一步分析你的当前情况,并起草变更以解决问题。

换句话说,如果你不知道从哪里开始,这个模型是很好的,但是如果你只是想评估一个特定变更的可行性,那么最好使用一个范围更小的模型。

许峰:在开始DevOps之前请认真审视你组织的这7个方面。对于咨询师来讲,这可能给了你有用的提示:你该帮助客户解决的问题到底应该聚焦在哪里。请不要上来就给客户来一套“行业最佳实践”。

(未完待续)

原文地址:https://blog.51cto.com/15127518/2658814

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


前言我们于2022年5月宣布推出 AmazonDevOpsGuruforServerless ,这是面向AmazonDevOpsGuru https://aws.amazon.com/devops-guru/的全新功能。通过此功能,开发人员能够提高无服务器应用程序的运行性能和可用性。该产品链接可点击:https://aws.amazon.com/devops-guru/fe
GIT、GITLAB、GITHUB、GITLIBGit是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Github - 一个网站,提供给用户空间创建git仓储,保存用户的一些数据文档或者代码等作为开源代码库以及版本控制系统,Github目前拥有140多万开发者用户。随着越来越...
初识JFrog Artifactory背景在软件项目开发中,一个项目常常依赖于大量的外部库,而这些外部库又在不断的进行版本更新,特别是在当前微服务开发越来越流行的情况下,一个服务依赖于多个服务,如何管理依赖库以及依赖版本,确保开发有序进行呢?JFrog ArtiFactoryArtiFactory是一款二进制存储管理工具,用来管理构建构建工具(如:gradle)等所依赖的二进制仓库,以方...
在删除文件夹的时候,可能会遇到文件夹正在使用,操作无法完成,因为其中的文件,或文件夹已在另一个程序中打开,请关闭该文件夹或或文件,然后重试。这类无法关闭删除文件夹的情况,如下图所示。 解决这个的关键是,找到是哪个程序在使用该文件夹,把这个程序关闭掉就行了。 但有时说实在的并不好找。 下面来介绍一个方便的找到这些程序的方法。 首先按ctrl+shitf+esc快捷键,打开任务管理器。然后...
xcopy 若目标盘上不存在此子目录,而在目标盘的结束符又不以""为结束,则将提示:does destination specify a file name or directory name on the target[f=file,d=directory]?在目标盘上创建文件[按下]还是创建子目录[按下d] ?应选择d键如何在命令中指定copy的是一个文件或者目录?而不用再手动输入F或...
DevOps软件开发工艺解读随着业务复杂化和人员的增加,开发人员和运维人员逐渐演化成两个独立的部门,他们工作地点分离,工具链不同,业务目标也有差异,这使得他们之间出现一条鸿沟。而发布软件就是将一个软件想从鸿沟的这边送去那边,这之中困难重重。另一方面,行业竞争更加激烈,无论是客户还是公司自身,都要求软件能快速发布,频繁修改,而上边所说的这种隔阂,阻碍了开发团队的生产力,成了企业亟待解决的难题。面对...
创建任务创建任务比较简单,这里我们创建自由风格项目:General信息这里填写项目或任务的基本信息,如下:GitBucket这里我们用到的就以下两点,一个是参数化构建:构建的时候可以指定部分参数,比如这里我们这里指定要构建的分支作参数,第二个是丢弃旧的构建:这样每次构建都会丢弃之前历史构建,防止jenkins构建项目过多导致内存泄漏等问题:源码管理源码管理主要是填写我们要构建的...
一、在任务设置-构建触发器模块,选中“Build periodically”二、然后在日程表里输入你的定时构建时间,输入的时间语法参考如下:1、时间字段遵循cron的语法,每行由TAB或空格分隔的5个字段组成:MINUTE HOUR DOM MONOW DOW - 分钟:小时内的分钟数(0-59) - 小时 :一天中的小时(0-23) - DOM:月份的日子(1-31) ...
DevOps进阶(九)使用assembly plugin实现自定义打包assembly plugin的使用方式比较简单,主要有:1. 修改pom.xml pom.xml中设置如下:<build> <plugins> <plugin> <artifactId&g
<h2 id="1-操作环境"><strong>1. 操作环境</strong></h2>1. Windows:win72. JenkinsJenkins 1.6193. JavaJDK_1.7.0_64bit.exe4. Tomcatapache-tomcat-8.
在使用linux时,经常需要进行文件查找。其中查找的命令主要有find和grep。两个命令是有区的。区别:(1)find命令是根据文件的属性进行查找,如文件名,文件大小,所有者,所属组,是否为空,访问时间,修改时间等。(2)grep是根据文件的内容进行查找,会对文件的每一行按照给定的模式(patter)进行匹配查找。一.find命令基本格式:find path expres......
走近DevOps工程师我们之前已经听到很多谈论DevOps和DevOps世界的最新趋势的事情,但是就DevOps工程师本身,到底干些什么呢?在最纯粹的存在形式上来说,DevOps工程师是为了加快开发和运营团队之间的交付效率而存在的桥梁。DevOps工程师在软件生命周期中能带来什么?在传统的交付周期中,软件开发人员会在经年累月的编写代码后,将软件交给QA团队进行测试,然后将最终版本交给运营...
1、关闭Jenkins 只需要在访问jenkins服务器的网址url地址后加上exit。例如我jenkins的地址http://localhost:8080/,那么我只需要在浏览器地址栏上敲下http://localhost:8080/exit 网址就能关闭jenkins服务.2、重启Jenkieshttp://localhost:8080/restart3、重新加载配置信息http...
   我们在执行Jenkins的项目构建的时候一般都是通过web管理界面中的”构建”来执行项目构建操作,但是除此之外我们还可以通过项目配置中的”构建触发器”来触发构建操作,其中”构建触发器”有一种方式是通过配置令牌远程触发项目构建;要启用Token(令牌)远程触发项目构建首先要保证Jenkins服务安装了build-token-root 插件,...
maven三种打包插件maven有多种可以打包的插件,如下: plugin function 官网 maven-jar-plugin maven 默认打包插件,用来创建 project jar maven-shade-plugin 用来打可执行包,executable(fat) jar http://maven.apache.org/plug...
Linux下查看和添加环境变量$PATH:决定了shell将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux在这些目录下进行搜寻编译链接。编辑你的 PATH 声明,其格式为:PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:你可以自己加上指定的路径,中间用冒号隔开。环境变量更改后......
贾磊:高级质量经理&敏捷教练曾就职于外企、国企、大型上市企业等,担任过测试工程师、测试经理、项目经理、敏捷教练、质量总监、高级质量经理等岗位。是一名敏捷变革的爱好者和践行者。爱好网球、羽毛球。正文原文链接:https://www.scaledagileframework.com/continuous-explorati
在IT流行语的字母组合中,DevSecOps是一个很容易让人混淆的缩写。DevSecOps是一个特定工具吗?是否有DevSecOps流程或最佳实践?DevSecOps应该成为内部IT部门的优先事项,还是更广泛的公司理念?如果一个公司已经利用了DevOps的流程和技术栈,那么它应该升级到DevSecOps吗?或者这只
企业项目开发流程商城1.1B2C直销商城商家与会员直接交易(BusinessToCustomer)1.2B2B批发商城商家与商家直接交易1.3B2B2C购物平台商家和会员在另一个商家提供的平台上面进行交易1.4C2B定制商城会员向商家发起定制商品的需求,商家去完成。1.5O2O线上线下
jenkins清除工作空间报错 错误如下: Error:WipeOutWorkspaceblockedbySCM   解决方法:进入jenkins服务器,进入workspace,手动rmcd/var/jenkins_home/workspace  ===================注释==================如果你的启动命令如下:【进行了外部目录的挂载