QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

避免非黑即白的思维模式

  • 2020-03-17
  • 本文字数:1505 字

    阅读完需:约 5 分钟

避免非黑即白的思维模式

这篇的内容实际是在 10 月份团队月会中跟团队成员分享的一些感受和理解,但是没有组织成文,年终总结回顾时我觉得还是写出来,因为平时遇到了太多的类似的思维模式上的问题,其实稍稍一转就可以把事情做的更好,单纯的从技术层面去解决问题往往还是太过局限和片面。

举个例子

举个实际案例,我们做运维的套路,第一步就是先定标准和规范,我们定了资源标准、网络标准、应用标准、DB 标准、架构标准等等一系列的标准和规范,然后就是基于这一套的标准去做相应的自动化平台开发,平台开发出来再去推广落地,以解脱对人和人力的依赖和消耗,提升效率,减少人为故障等等。这个过程中,就要求每个研发团队在开发过程中就要必须遵守我们的标准和规范,要做出一定的调整。


以上是理想中的状态,但是现实情况是,线上应用类型特点五花八门,个性化的东西非常多,比如有状态和无状态的,在线的和离线的、接入层的和后端服务的,分布式的和单体的,语言特性上,有 Java、C++、PHP、Go、Python。这一点也倒像是我们现在现在技术的发展趋势,百花齐放,纷繁复杂但又个性十足。


这时就会出现几个问题:


1、这么多特性的东西,即使做了标准化,也总会有个性化和特例的 Case 出来,那我们做标准化是否还有意义?


2、做了这些标准,那我们是不是应该先把所有的情况都梳理清楚,然后做个大而全的标准体系出来,然后再去做平台?


3、这么多的业务和应用,我们做了标准化,推进起来太累了,要一个个沟通过去,特别是遇到不遵守规则的团队和同学,我们做这个本来是要节省工作量的,没想到第一步就这么累。


这篇先来谈谈第一个问题:

避免非白即黑的思维模式

我们定了标准和规则,但是总会有人不遵守,浪费我们的时间去处理这些特例,那我们做这个事情岂不是也没 100%解决问题,那既然解决不了问题还做它干嘛?不管是之前的团队还是当前的团队,我发现有这种想法的同学不在少数,尝尝因为一个点上的问题纠结起来,认为既然做不到 100%或者哪怕只有一个特例,那么这件事情也没有意义,所以事情直接就不做或持抵触情绪,而且还经常成为这些同学做不好事情的理由和接口。


这就是比较典型的非黑即白的思维。


我先不说怎么解决好,我们逆向思考一下,举个形象的例子,每个国家都制定了非常严格的法律法规,特别是美国,他的法律相当完善了吧,但是刑事犯罪杜绝了吗?酒驾杜绝了吗?贪污受贿杜绝了吗?答案是,没有。如果是按照上面的思路去做事情,既然不能解决所有问题,那我是不是可以就不用制定法律?再假想一下,一个没有法律和规矩约束的社会和国家会是一个什么样子,是不是恐怖地无法想象。


所以,回到我们的现实情况中来,标准化可能是无法解决或避免所有问题,但是如果要是没有,那线上的应用的部署、发布、监控等等将会是一片混乱,无法管理。

跨越障碍,把事情做来最重要

所以,首先这里要说的就是这种非黑即白的思路一定要避免,一定要打破,不然事情肯定就卡在这一步上了。然后再往下做,怎么做呢?可能说的比较 high 了,就是 2/8 原则,抓主要矛盾,比如我们电商的业务,主要就是交易链路这条主业务线,跟钱相关的,这套体系的架构必定是统一的,那就从这里入手,先把交易链路的应用标准化掉,而且必须统一,基于此再进行自动化平台、持续集成和发布、监控、稳定性的建设。这一块的问题解决差不多了,其实 80%的问题就解决了,运维的工作量和压力就大大下降了,这时再空余出来的精力就可以往其它还未标准化的应用和业务上延伸。


而且事情一旦动手做起来,找到了套路和节奏,再往后做就会越做越顺,所以跨越非黑即白的思维障碍,第一步抓准重点把事情做起来才是最重要的。


本文转载自成哥的世界公众号。


原文链接:https://mp.weixin.qq.com/s/xH65oB5QU4M82m9LhUgsMw


2020-03-17 22:101087

评论

发布
暂无评论
发现更多内容

我的敏捷历程 —— 兼评《敏捷整洁之道 - 回归本源》

FollowFlow

敏捷开发 Agile 极限编程 XP

CRM往事丨三件事,所有SaaS的缩影

人称T客

跨域问题(CORS / Access-Control-Allow-Origin)

xcbeyond

Java CORS 跨域

MySQL索引问题探究手记

架构精进之路

MySQL 索引

低/零代码干掉了传统的开发模式

代码制造者

编程语言 低代码 零代码 信息化 编程开发

一个数据库管理员的自我救赎之路

华为云开发者联盟

数据库 华为云 数据库迁移 企业上云 DRS

面试官:你说你懂i++跟++i的区别,那你知道下面这段代码的运行结果吗?

程序员DMZ

JVM i++

MySQL5.7升级到8.0过程详解

Simon

MySQL

ARTS week 4

锈蠢刀

云上安全工作乱如麻,等保2.0来一下

华为云开发者联盟

安全 华为云 等保 云平台 多云服务

SpringCloud服务注册中心双节点集群(Eureka集群)

xcbeyond

Java 架构 微服务 Eureka 集群

枚举算法练习例题(Python版)

罗罗诺亚

Python 算法 枚举

MySQL关于日期为零值的处理

Simon

MySQL

为啥PHP in_array(0,['a', 'b', 'c']) 返回为true?

架构精进之路

php 弱类型语言

影响音视频延迟的关键因素(一):流媒体系统

ZEGO即构

TCP udp RTC HLS RTMP

程序范式的意义

soolaugust

架构 程序设计

SWARM学习1——Kademlia分布式路由表协议

AIbot

区块链 DHT 分布式存储 分布式文件存储 分布式路由

实践案例丨教你一键构建部署发布前端和Node.js服务

华为云开发者联盟

node.js 后端 服务器 代码 华为云鲲鹏

关于日期及时间字段的查询

Simon

MySQL sql查询

钓鱼网站:详解hosts文件

xcbeyond

Java 域名解析 hosts

Java-技术专题-synchronized关键字

码界西柚

面试必杀技,讲一讲Spring中的循环依赖

程序员DMZ

spring

如果你每次面试前都要去背一篇Spring中Bean的生命周期,请看完这篇文章

程序员DMZ

spring 生命周期

易观郭炜:流动水系数造未来

易观大数据

nginx 报错 accept4 () failed (24:Too many open files)

Java联盟

nginx

操作系统bochs安装及使用

allworldg

操作系统

spring Cloud Eureka Rest接口重写

xcbeyond

Java SpringCloud Eureka

海量并发也没那么可怕,运维准点下班全靠它!

华为云开发者联盟

容器 网络 并发 华为云

是时候学习Linux了

Simon

Linux

区块链、人工智能……警惕非法金融借创新概念迷惑投资人

CECBC

区块链 金融

恢复青春气息,就靠这套人像美肤算法了

博文视点Broadview

算法 计算机视觉 图像识别 人像

避免非黑即白的思维模式_行业深度_成哥的世界_InfoQ精选文章