草庐IT

企业数字化转型难的是什么?就这两个字

木羊同学 2023-03-28 原文
​企业数字化转型大家应该都有所耳闻,这是当前行业非常热门的话题。为什么大家都关注这个话题呢?很简单,因为数字化不是添头,而是必需品。在企业数字化转型中谈得最多的是一个预言,未来能够活下来的企业,绝大多数都将是数字化企业。简单来说,数字化就是一道门,你被关在门外面,那未来很可能就会被淘汰。

不过,话说回来,同样是谈数字化,不同行业谈的角度却不同。我是做技术的,最开始是从技术的角度看待企业数字化转型,最关心的是用到了哪些新的技术,说的多的都是人工智能、大数据、云计算、5G等等,以及这些技术通过什么方式组织起来发挥作用。

然而,我们也不应该忘记,并不是所有行业都十分关心技术。相信有过这方面经验的同学都知道,我们去做项目推介,在说到一些技术细节的时候,我们觉得这正是展现真正的技术的地方,对方高层却很容易流露出不耐烦的表情。

我苦恼过这个问题,现在想想觉得技术当然很重要,但对于非技术出身的高层来说,我们看重的这些都是“术”,而他们想要听到的却是“道”,是理念,是方法,是实践中可能踩的坑以及出坑的办法,是从更高的视角来重新审视这些技术。

“道”需要高深的修为,我是不敢妄谈的。最近读了《华为数字化转型之道》,这本书视角很高,而且字里行间看得出来也曾在现实的泥坑中奋力挣扎许久,所以,企业数字化转型中可能遇到的许多问题谈得很透彻。下面是几点读后感。

1.没有银弹

前段时间同学群聊天,知道有几位这几年陆续都去了做数字化转型,有人说这个确实很火,很多企业就像约好了一样最近都在搞数字化转型。

有人就开玩笑,说这是新瓶装旧酒,不就是过去搞信息中心那一套,国内最早搞这套的人这会都已经颐养天年了。大家听了都哈哈大笑。老同学之间还保持着当年互相逗趣的习惯,不过,数字化转型就是“新瓶装旧酒”确实代表了当下许多人的误解。我觉得也不能怪大家误解,宣传要负很大责任。

“数字化转型”这些年的宣传真不少,我自己就在不同的场合收到过各种印刷精美的数字化转型宣传资料,第一眼总是非常惊艳,但细细分析就感觉更像是堆砌辞藻。

譬如说很多宣传资料都爱用“赋能”这个词,给人一种感觉,“数字化转型”像是最新款的大马力发动机或者涡轮增压器之类的什么配件,只要一经装上,你家的企业立马就能原地起飞。

这是误导。宣传资料好像都很喜欢营造立竿见影的印象,使用之前你会遇到种种问题,只要一用问题就能迎刃而解。这种手法大家应该已经见过了很多,就IT来说,最开始宣传的是安装电脑就能如何如何,然后是各种企业软件,然后是网络化,然后是信息化。

毕竟在咱们IT行业,最不缺的就是推陈出新,每隔一段时间就会出来一种新的技术,宣传马上开足马力,用各种天花乱坠的词汇把这些技术包装得像机票一样,总之你得赶紧用,一用你就马上一飞冲天从此走上巅峰,不用你就只能在地上垂头顿足看着别人遨游天际。

当然,这里不是说网络化、信息化等等这些技术一无是处全靠包装,事实证明这些都很重要,甚至可以说不可或缺,但它们在最终产出效能之前,总是需要经历一个不断投入过程,也许这个过程比想象的还要漫长和曲折。

如果我们抱着吃特效药的心理去使用这些技术,那么很快就会因为达不到立竿见影的预期而心生怀疑,几次之后当然要质疑这些技术只是“新瓶装旧酒”的概念炒作。

我们都很喜欢立竿见影,甚至在许多想不到的地方都有这样的迷信。软件工程有一本很出名的书叫《人月神话》,我印象最深的是四个字“没有银弹”。

“银弹”就是银质子弹,在欧美的魔幻文学中,银弹是对付狼人的特效武器,其它攻击噼里啪啦打半天毫无效果,换了银弹就一击致命。用我们的话说,就是立竿见影。软件工程中有一种迷信,以为只要多给点人,进度落后的项目就能赶上时间表。

读到这里不妨停下来想一想,我们是不是都曾有过这样的迷信?《人月神话》用四个字对这种迷信进行了总结,这就是“没有银弹”:不好意思,在软件开发里面,光给人是没法让项目进度立竿见影的。

2.长相守的原因

数字化也不是银弹。对企业来说,数字化转型需要花钱,但绝不仅仅只是花钱,而需要花费不值得或者更值钱的东西,那就是时间。企业的数字化转型不是高层大笔一挥拨出一笔资金,要IT部门牵头再从其它部门抽调骨干组成实施团队,关上门花上十天半个月捣鼓出一套方案,企业仰头吞下然后营收就能在一夜之间一飞冲天。

当然,确实有相当多的企业就是这么理解数字化转型,当成是某种淘汰旧电脑更换新电脑差不多的商品,只要花了钱然后找IT部门捣鼓一下再重新插上电,就能看到开机速度有了立竿见影的提升。这是“更新装备”的老路子,但不是数字化转型。

数字化转型没法一蹴而就,而是一个长相守的过程,需要时间和耐心一点一点去做事情,许多事情也许过于细小上不得高层的台面,却总量却庞大得惊人需要占据大量时间去逐一处理,这种差异很容易让实施团队苦不堪言。

不过,过去我的认识也就到此为止了,为什么企业数字化转型要长相守?不知道。新路子应该是怎样呢?层次不够说不出来。《华为数字化转型之道》回答了我的问题。书里有一句话说得很明白:企业的数字化转型是一场席卷整个企业的全新变革。这句话如果没有经历读起来平淡无奇,如果有过经历就会感觉像是平地惊雷。

从企业变革的角度回看前面的问题,一切都变得无比清晰。请问有哪一家企业会把企业变革的方案塞给IT部门来做,然后要求只花一点时间就能拿出完整方案,最后还要能够取得立竿见影的效果?我想应该不会有这么天真的企业。

一旦企业认识的数字化转型不是“换电脑”,而是一场全新变革,首先预期就会为之改变。要知道企业变革是极为复杂的系统性工程,不但技术要变,设备要变,而且思想要变,文化要变,管理也要变,可以说当下习以为常的一切可能都要在探索着改变。

任谁也知道,这些工作无法一蹴而就,也很难立竿见影,不但需要上下配合,而且极为耗费时间。

3.认知变革

企业数字化转型最难的是什么?

是技术落地?是人才配备?还是管理到位?这些在企业数字化转型中都必不可少,也都需要长期的攻坚,不过,我认为最难的是认知变革。企业的数字化转型是一场席卷整个企业的全新变革,那首先要变革的当然就是认知,最难变革的恐怕也是认知。

这里要提一提《华为数字化转型之道》的排篇。这本书一共13章,分为四篇,第一篇叫“认知篇”。第一遍阅读时我一直有个疑惑,感觉认知篇好像是在讲数字化转型,好像又不是,那种感觉就好比你问一个人恐龙灭绝的原因,对方却要从恐龙是怎样崛起的讲起,你不能说他跑题,但是距离你想读到的内容也就差了1亿7千多万年。

譬如认知篇里面反复提到一个概念叫“企业数字化转型是一把手工程”,这事肯定对,企业数字化转型这种事谁也不会瞒着一把手自己搞,但我更想知道的是一把手拍了板以后的事。

我自己也写书,知道开篇章节总领全书,这个位置寸土寸金,除了需要马上占领读者大脑的事其它一律不准放。所以,第一遍开始读的时候总觉得排篇有点怪异,让一把手了解数字化转型的重要性当然很重要,不过完全可以在后面专门安排一个“一把手”章节,似乎没必要浪费这么重要的一个位置。

但是,等我看完全书,才发现这篇确实重要,放的位置也非常合适。什么叫一把手工程?这个工程由一把手拍板并不能说这就叫一把手工程,一把手拍板只是决策,但一把手工程更强调的是责任。也就是说,企业在数字化转型的过程中,一把手要扮演重要的角色,承担起相应的责任。这才叫一把手工程。

我想从一个复杂的三角关系说起。迎接企业数字化转型的并非都是鲜花和掌声,也许更多的是无尽质疑和委屈。

首先是企业数字化转型的三个重要参与角色,决策层、IT部门、业务部门,三者构成了复杂的三角关系,然后质疑和委屈就在三角关系中来来回回:决策层被质疑支持不够给力,很多事情没法仅靠底层部门推动;IT部门被质疑爱提要求又烧钱,但进展缓慢;业务部门被质疑不配合工作,需求朝令夕改有时还前后矛盾。

当然,大家也有自己的委屈:决策层觉得自己已经非常支持,要人给人要钱给钱;IT部门觉得自己已经非常积极,是自己的事干不是自己的事也干;业务部门更是委屈,本部门的烦心事就已经够喝一壶的了现在帮着IT部门伤脑筋对方还不领情。

为什么参与的三方都很委屈呢?说到底还是没有首先进行认知变革,事情是新的,但认识是旧的,参与三方都觉得企业数字化转型“那是别人的事”。

企业的数字化转型是一场席卷整个企业的全新变革,是一把手工程,如果这个认识没有在企业内部形成共识,还是延续“那是别人的事”的老思想,从一开始就看错了题目,那后面无论再用什么方法技术也只能跑题,结果只能是事情做得又糟糕又委屈。

关于作者:莫凡,网名木羊同学。娱乐向机器学习解说选手,《机器学习算法的数学解析与Python实现》作者,前沿技术发展观潮者,擅长高冷技术的“白菜化”解说,微信公众号“睡前机器学习”,个人知乎号“木羊”。​

有关企业数字化转型难的是什么?就这两个字的更多相关文章

  1. ruby - 为什么我可以在 Ruby 中使用 Object#send 访问私有(private)/ protected 方法? - 2

    类classAprivatedeffooputs:fooendpublicdefbarputs:barendprivatedefzimputs:zimendprotecteddefdibputs:dibendendA的实例a=A.new测试a.foorescueputs:faila.barrescueputs:faila.zimrescueputs:faila.dibrescueputs:faila.gazrescueputs:fail测试输出failbarfailfailfail.发送测试[:foo,:bar,:zim,:dib,:gaz].each{|m|a.send(m)resc

  2. ruby-on-rails - Rails - 子类化模型的设计模式是什么? - 2

    我有一个模型:classItem项目有一个属性“商店”基于存储的值,我希望Item对象对特定方法具有不同的行为。Rails中是否有针对此的通用设计模式?如果方法中没有大的if-else语句,这是如何干净利落地完成的? 最佳答案 通常通过Single-TableInheritance. 关于ruby-on-rails-Rails-子类化模型的设计模式是什么?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

  3. ruby - 什么是填充的 Base64 编码字符串以及如何在 ruby​​ 中生成它们? - 2

    我正在使用的第三方API的文档状态:"[O]urAPIonlyacceptspaddedBase64encodedstrings."什么是“填充的Base64编码字符串”以及如何在Ruby中生成它们。下面的代码是我第一次尝试创建转换为Base64的JSON格式数据。xa=Base64.encode64(a.to_json) 最佳答案 他们说的padding其实就是Base64本身的一部分。它是末尾的“=”和“==”。Base64将3个字节的数据包编码为4个编码字符。所以如果你的输入数据有长度n和n%3=1=>"=="末尾用于填充n%

  4. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  5. ruby - 为什么 4.1%2 使用 Ruby 返回 0.0999999999999996?但是 4.2%2==0.2 - 2

    为什么4.1%2返回0.0999999999999996?但是4.2%2==0.2。 最佳答案 参见此处:WhatEveryProgrammerShouldKnowAboutFloating-PointArithmetic实数是无限的。计算机使用的位数有限(今天是32位、64位)。因此计算机进行的浮点运算不能代表所有的实数。0.1是这些数字之一。请注意,这不是与Ruby相关的问题,而是与所有编程语言相关的问题,因为它来自计算机表示实数的方式。 关于ruby-为什么4.1%2使用Ruby返

  6. ruby-on-rails - 如何在 ruby​​ 中使用两个参数异步运行 exe? - 2

    exe应该在我打开页面时运行。异步进程需要运行。有什么方法可以在ruby​​中使用两个参数异步运行exe吗?我已经尝试过ruby​​命令-system()、exec()但它正在等待过程完成。我需要用参数启动exe,无需等待进程完成是否有任何ruby​​gems会支持我的问题? 最佳答案 您可以使用Process.spawn和Process.wait2:pid=Process.spawn'your.exe','--option'#Later...pid,status=Process.wait2pid您的程序将作为解释器的子进程执行。除

  7. ruby - ruby 中的 TOPLEVEL_BINDING 是什么? - 2

    它不等于主线程的binding,这个toplevel作用域是什么?此作用域与主线程中的binding有何不同?>ruby-e'putsTOPLEVEL_BINDING===binding'false 最佳答案 事实是,TOPLEVEL_BINDING始终引用Binding的预定义全局实例,而Kernel#binding创建的新实例>Binding每次封装当前执行上下文。在顶层,它们都包含相同的绑定(bind),但它们不是同一个对象,您无法使用==或===测试它们的绑定(bind)相等性。putsTOPLEVEL_BINDINGput

  8. ruby - Infinity 和 NaN 的类型是什么? - 2

    我可以得到Infinity和NaNn=9.0/0#=>Infinityn.class#=>Floatm=0/0.0#=>NaNm.class#=>Float但是当我想直接访问Infinity或NaN时:Infinity#=>uninitializedconstantInfinity(NameError)NaN#=>uninitializedconstantNaN(NameError)什么是Infinity和NaN?它们是对象、关键字还是其他东西? 最佳答案 您看到打印为Infinity和NaN的只是Float类的两个特殊实例的字符串

  9. ruby-on-rails - 如果 Object::try 被发送到一个 nil 对象,为什么它会起作用? - 2

    如果您尝试在Ruby中的nil对象上调用方法,则会出现NoMethodError异常并显示消息:"undefinedmethod‘...’fornil:NilClass"然而,有一个tryRails中的方法,如果它被发送到一个nil对象,它只返回nil:require'rubygems'require'active_support/all'nil.try(:nonexisting_method)#noNoMethodErrorexceptionanymore那么try如何在内部工作以防止该异常? 最佳答案 像Ruby中的所有其他对象

  10. ruby - 为什么 SecureRandom.uuid 创建一个唯一的字符串? - 2

    关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭8年前。Improvethisquestion为什么SecureRandom.uuid创建一个唯一的字符串?SecureRandom.uuid#=>"35cb4e30-54e1-49f9-b5ce-4134799eb2c0"SecureRandom.uuid方法创建的字符串从不重复?

随机推荐