认清问题问题分类架构的问题是盘根错节的,将所有问题放在一起,就有轻重缓急之分,就有类别之分 。区分问题的类别,就能在一定的边界内,匹配上对应的人来解决问题 。
工程架构:
文章插图
业务架构:
文章插图
基础能力:
文章插图
标准化:
文章插图
问题分级挑战、问题、手段这些经常混为一谈,哪些是挑战?哪些是问题?那些是手段?其实这些都是一回事,就是矛盾,只是不同场景下,矛盾所在的层级不同,举一个例子:
文章插图
我们判断当前的研发体验不能满足业务日渐延伸的需要,这是一个矛盾,既是当下的挑战,也是当下的一级问题 。要处理好这个矛盾,我们得拆解它,于是就有了二级问题:我们的代码逻辑是否已经足够优化?研发流程是否已经足够便捷?文档工具是否已经足够完备?二级问题也是矛盾,解决好二级问题就是我们处理一级矛盾的手段 。这样层层递进下去,我们就能把握住当前我们要重点优化和建设的一些基础能力:插件化、热更新、跨端能力 。
在具体实践过程中,基础技术能力还需要继续拆解,譬如:热更新能力有很多(Java 层的 Robust/Qzone 超级补丁/Tinker 等,Native 层的 Sophix/ByteFix 等),不同热更方案各有优劣,适用场景也不尽相同 。我们要结合现状做出判断,从众多方案汲取长处,要么做出更大的技术突破创新,要么整合已有的技术方案进行组合创新 。
勤于思考问题背后的问题亨利福特说,如果我问客户需要什么,他们会告诉我,他们需要一匹更快的马 。从亨利福特的这句话,我们可以提炼出一个最直接的问题:客户需要一匹更快的马 。立足这个问题本身去找解决方案,可能永远交不出满意的答卷:寻找更好的品种,更科学的训马方式 。
思考问题背后的问题,为什么客户需要一匹更快的马?可能客户想要更快的日常交通方式,上升了一个层次后,我们立刻找到了更好的解决方案:造车 。
我们不能只局限于问题本身,还需要看到问题背后的问题,然后才能更容易找到更多的解决方案 。
认知金字塔
引用认知金字塔这个模型,谨以此共勉,让我们能从最原始数据中,提炼出解决问题的智慧 。
文章插图
DATA: 金字塔的最底层是数据 。数据代表各种事件和现象 。数据本身没有组织和结构,也没有意义 。数据只能告诉你发生了什么,并不能让你理解为什么会发生 。
INFORMATION: 数据的上一层是信息 。信息是结构化的数据 。信息是很有用的,可以用来做分析和解读 。
KNOWLEDGE: 信息再往上一层是知识 。知识能把信息组织起来,告诉我们事件之间的逻辑联系 。有云导致下雨,因为下雨所以天气变得凉快,这都是知识 。成语典故和思维套路都是知识 。模型,则可以说是一种高级知识,能解释一些事情,还能做预测 。
WISDOM: 认知金字塔的最上一层,是智慧 。智慧是识别和选择相关知识的能力 。你可能掌握很多模型,但是具体到这个问题到底该用哪个模型,敢不敢用这个模型,就是智慧 。
这就是“DIKW 模型” 。循序渐进架构的问题不能等,也不能急 。一个大型应用软件,并非要求所有部分都是完美设计,针对一部分低复杂性的区域或者不太可能花精力投入的区域,满足可用的条件即可,不需要投入高质量的构建成本 。
以治理头条复杂度为例:
- 长期的架构目标:更广(多端复用)、更快(单端开发速度)、更好(问题清理和前置拦截)
- 当下的突出问题:业务之间耦合太重、缺少标准规范、代码冗余晦涩
文章插图
细节已打码,请读者不要在意 。重点在于厘清问题之后,螺旋式上升,做到长期有方向,短期有反馈 。最后一顿输出之后,千万不能忘却了人文关怀,毕竟谋事在人 。架构狮得供起来,他们高瞻远瞩,运筹帷幄;但架构人,却是更需要被点亮的,他们可能常年在“铲屎”,他们期望得到认可,他们有的还没有对象...干着干着,架构的故事还在,但人却仿佛早已翻篇 。
推荐阅读
- 羊水少多久复查一次
- 九曲红梅红茶存放时间,九曲红梅红茶的色泽
- 七大常见的企业级安全架构模型
- 红茶产业中存在的问题,红茶的初制加工
- CVE-2021-4034 关于 Linux Polkit 权限提升漏洞的修复方法
- 芝奇|芝奇发布超低延迟64GB DDR5内存:CL28世界第一次
- 固态硬盘|10年质保 日本推出超耐用的SSD硬盘:一辈子只能写入一次
- 1600万像素USB摄像头拍照颜色不对怎么办?一次白平衡解决偏色
- 壁挂炉使用方法是什么?
- lte网络是什么意思?