思维模式 | 为什我们会忽视规模带来的问题
“给我做个电商App吧,要做什么样的,像淘宝那样的就行,要几万啊,能不能一个月做好”。
在IT软件行业里,经常有客户这样向技术人员询问。
这不是多少钱的问题,你给多少钱也做不出来。
早些年我在IT部门带团队负责几十个业务系统的开发和维护。有一位许久没有联系的朋友问我在哪里工作,我说在顺丰做软件。对方十分诧异——快递公司送快递还需要用软件。
当然要,光是快递的时效性,没有大规模的时效系统支撑,能保证吗?
如上的例子数不胜数,这里有许多外行人的“想当然”,同时也反映了人们在思维模式上的一些认知误区——缺乏对于规模及事物复杂度的理解。
一个淘宝手机App里面至少嵌入近百个业务模块,每个模块都有独立的团队负责。更别提在后面支撑运转的无数云服务器和软件系统。
极致简单的背后隐藏着极致的复杂。
1、为什我们会忽视规模增加带来的问题
任何思维上的问题本质上都是认知局限带来的问题。
1)人类基于直觉,无意识的高效信息处理模式
我在《提升认知能力:成为精英的行动指南》连载中,提到过这种信息处理模式。这源自于远古时期人类面对大自然的威胁,进化产生的一种快速决策模式。
原始人在外出打猎的时候,假如对面的草堆中有风吹草动,好像有动物在其中,这时候是因为好奇走过去看个究竟还是立刻转身就逃呢。
过去看个究竟有很大概率被野兽吃掉,也许是毒蛇,也许是老虎或者别的食肉动物。而转身就逃的人肯定能够活下来。
这个思维模式是这样:对面的草丛中有东西在动——》可能有老虎或者毒蛇——》要不要过去看看——》有危险,赶紧逃跑。
中间这个过程随着越来越多的原始人丢了性命,于是流传的基因、幸存者的口口相传或者是长者的智慧教导导致后人的思维模式转变成:对面的草丛中有东西在动——》有危险,赶紧逃跑。
简化思维路径,以便快速决策。从某种意义上说,这就是不思考。
快速决策在面对恶劣的自然环境中,能够起到积极有效的作用。
虽然现在是21世纪,但人类还有一颗原始脑——大脑也在进化,但需要的时间过于漫长,跟不上外部环境的变化。
举个例子你也许能明白,汽车导致人类的死亡率远高于被毒蛇咬死的死亡率,为什么你不害怕汽车而害怕毒蛇,因为相对于人类进化的过程,汽车出现的时间太短,来不及写进原始脑中。
当今人类面临的威胁不再是野兽、自然灾害、大规模战争,而是各种人类群体之间的竞争,包括经济、文化、主义。这一类威胁,并不需要人类立刻做出反应。
有时候直觉可能很准确,但大部分时候,直觉和无意识的反应,不一定正确。我们应该充分意识到这个世界上有很多反直觉的事物存在——这些反直觉的事物或者知识就是我们的思维盲区。
有的人直觉准,可能是自身经验丰富,知识广博,加上平时已养成思考的习惯,才造就这样的能力。
2)容易忽视问题的困难程度(冰山定律)
冰山定律——一座漂浮在水面上的巨大冰山,能够被外界看到的部分,只是露在水面上很小的一部分,大约只有八分之一露出水面,另外的八分之七藏在水底。
从某种意义上来说,低估一件事情的困难度,或者问题的复杂度。有利于人们开始行动,而不是退缩不前,这是好的一面,同时也有坏的一面。
太祖曾经有一句名言:在战略上轻视敌人,在战术上重视敌人。这是一句非常具有指导意义的经典名言,问题是,许多人都执行的不正确,不仅在战略上轻视敌人,在战术上也轻视敌人。
如今创业公司数不胜数,互联网时代和成熟的风投机构,促成了无数公司一夜之间出现,但大多数创业公司都死得无声无息。
为什么创业死亡率如此之高,多办是创始团队高估了自己,低估了要做的事情真实的难度。
以2017年火热,2018年死去的无人货架为例,这就是高估自己,低估人性和事情难度的典型案例。
这些无人零售的创业公司切入点都已抢占点位(各个公司的办公室),把这个作为流量生意(互联网公司的通病)。由于无人货架进入门槛低,模式简单,资本迅速进入,企图靠资本优势迅速圈地。但是忽略了无人零售本质还是零售,而零售要能赚钱的事实。由于规模铺大,导致供应链(人性导致的巨额货损)及物流服务(无法及时上架)也跟不上。
铺点位很容易,但是由于规模大导致的铺位运营问题,让这些公司始料未及。无人货架货损率居高不下、物流补货成本高、运营重,这三大难题,不是简单有了规模就能解决的。如果点位运营不好,反而是规模越大,亏损越严重。
某无人零售公司要求物流服务商上午10点前完成补货。但当他们为每位补货员规划好负责区域后,发现10点前完成补货很困难。一方面是因为有些公司9点30分才开始上班,另一方面,补货还需要拍照、上传等流程,完成一个货架的补货最少需要十几分钟,加上点位密度不够,按时完全所有点位的补货就更加困难。
无人零售首先是要解决零售问题,其次才是线下流量入口。零售问题没有解决,变成一个不赚钱的生意,流量入口变成一个美好的想象。
3)人们正在主动将决策权交给机器和算法
技术发展、分工细化、人性化给人们带来的影响是越来越多的人在智能化时代丧失了自己的控制权。
想象一下,夜里在家看电视的时候饿了,打开手机动动手指就能下单,一会儿就有快递小哥上门送上外卖。
打开购物APP,越来越智能的千人千面基于大数据分析的“为你推荐”、“猜你喜欢”,为你精准推荐的商品恰好是你喜欢的风格,价钱也是你能承受的范围。你会发现自己越来越不需要用脑思考。
出门时地图导航软件会帮你算好哪条路不堵车,软件对接了政府部门的交通数据,哪里有违章监控和测速拍照的数据全都已经同步。一切让你免于思考,放心的把控制权交给AI人工智能。
所有的东西变得越来越好用。世界正在朝两级分化,大部分人越来越傻瓜化,机械化做重复工作,小部分人在控制机器和算法。
当人们把选择权交给算法之后,本质上等同于让机器和算法帮你做决策,这样一来,有些人类会逐渐退化思考的本能。
互联网巨头不断的收购各种类型的公司,表面上是圈地建立护城河,更深层的目的是为了收集数据。你如果不开车,那么大公司可以通过共享单车、滴滴打车出行掌握你的出行数据,如果你开车,地图导航软件可以知道你在什么时候经常在哪些地方,知道你在哪里上班,家住哪里,喜欢去哪里玩。
知道你喜欢吃什么外卖,什么时候饿。知道你喜欢听什么样的音乐看什么类型的视频,知道你浏览过的所有商品。微信支付和支付宝都出卖了你的经济能力和收入以及消费习惯。
换句话说,作为一个个体,在这些互联网公司面前,就是赤身裸体。这些公司对你的了解程度,比你妈妈还要更了解你。
当这些公司帮你做决策的时候,你会觉得真是贴心,交出控制权也不是坏事。
从前有不懂的问题,我们会翻书会思考,如今有问题,直接打开搜索引擎或者知识问答社区,寻找现成答案,思考过程都免了,久而久之,会有什么后果?
我们都应该反思。
4)知识能力局限性导致对事物的片面了解
回忆一下,你上一次“想当然”是在什么时候什么场景下。
如今大家使用12306已经非常方便,可是你知道当年12306刚出来的时候,可是经常被人骂的——不就是一个卖火车票的系统吗,功能无非是用户注册,查询车票,下单支付,查看订单几个功能吗。怎么会动不动就挂了——访问不了,也买不了。
不过事物总是在发展,从2011年最初的高峰期经常服务器崩溃到后来的只是出现卡顿,再到2018年初的没有卡顿。
中国铁道科学研究院电子所副总工程师兼12306技术部负责人介绍,通过售票情况来看,高峰日售票量已经创出新高,高峰时日售出1135.7万张,占全渠道售票量的80%以上。12306最高峰抢票时段已经平稳度过,今年春运12306售票系统首次没有出现卡顿现象。
你说服务器不够吗,开发人员水平差吗,采购有猫腻吗,这是许多人的疑问,也是一种想当然直觉性认知的体现。几亿的项目,又影响民生,怎么可能呢。
对于普通人能接触到的项目来说,5亿很多,但对于一个如此超大规模的互联网火车票务系统来说,真不算多。里面包含服务器费用、各种软件授权、中间件费用、研发人员投入等等,上线之后,还需要逐年升级架构、增加新功能。
12306的业务复杂度非常高,和一般的电商网站不一样。主要体现在如何处理余票库存。以普通电商网站举例,你在商品详情页看见的商品库存是确定的,逻辑相对简单。
12306的业务复杂度超出大多数人的认知。
火车票复杂太多,举例来说,一个车次假如有30个站,那么第N个站就有30-N的下车可能,共有N*(N+1)/ 2 种可能(是不是忘了等差数列求和公式),30个站有30*31/2=465种到站的可能。假如分为硬座票、软座票、硬卧票、软卧票、无座票五种,那么一个车次的总票数为465*5 = 2325张。
而这才是开始,当小明很幸运的使用刷票软件刷到了其中一张,从始发站到终点站。那么从始发站开始到终点站,每一个站和其他剩余的站都要减库存(减少余票数量),共有28+27+26+25......+1 = 406次减库存操作。这还没有考虑到各个站点的车票分配情况,实际情况只会更复杂。
淘宝是中国最厉害的电商系统了,也只有在类似于双十一这样的活动中,会出现很多秒杀商品。这时候上亿人就会想尽办法同时按下秒杀。而12306网站,春运前的高峰期里,24小时都处于秒杀状态。
是不是和我们现象的不太一样。
毕竟作为普通人,能够接触大规模事物或者参加大项目的机会并不多。这也导致了人们难以理解规模导致的复杂度。
2、规模增长会带来什么问题
互联网初创公司早期做的系统是为了验证商业模式是否能走通。不会考虑软件的体验多完美,性能有多好,这个时候用户数量不多,性能问题并不明显。所以找几个程序员和产品经理就能开工。
随着用户量稳定或者爆炸增长,这时候要就要考虑因为规模增加带来的问题。例如用户的使用体验,主要是指流畅程度。于是架构要重新设计,人手不足要招人,服务器要增加,分工越来越细。管理难度也随着上升。此前不需要考虑的问题,都需要拿出来审视。任何小问题,如果放在体量巨大的场景下,都会变成难以解决的问题。
除了性能问题,还有网络安全问题,系统怎么升级才不会影响用户,怎样保证系统不宕机(高可用性),怎样保证做营销活动时候的大规模并发访问系统的可用性。本篇文章并非是技术文章,所以不会过多展开讨论。
你请一个十几个人的团队吃饭,计算一下费用,你知道大家的口味,根据以往的经验,打个电话就可以给餐厅订位。
但是要同时请1万人同时吃饭呢,首先要成立一个临时小组,能同时准备这么多人的饭菜,不是一个餐馆就能解决的问题。
如何解决交通问题?
如何解决满意度问题(口味、味道)?
如何解决保证卫生问题?
是分开吃饭还是统一吃饭?
分开吃饭是否要采用视频直播同步其他吃饭点的实况?
统一吃饭场地在哪里?
是否要安排节目?
是否要在相关部门提前备案(交通、消防、公安。。。。)?
。。。。。。
这场景有没有让你想起大公司的年会?
3、我们如何应对
1)避免完全依靠直觉判断
在做判断之前,问一下自己,真的是这样吗?
放慢自己的思考速度,而不是凭直觉做判断。
可以试着问这样一些问题:
这件事情如果容易做,为什么别人不做?
如果这件事情失败,会有哪些原因导致失败?
如果我能这么想,别人难道不会这样想吗?
怎么样才能发现冰山下还藏着什么呢?
2)对每个环节进行规模增长之后可能出现的问题进行评估
逆向思维法:假设这件事情会失败,列举各种可能失败的原因,对各种原因进行概率预测。
以请1万人同时吃饭为例,失败的原因可能如下:
出现食物中毒
饭菜不够吃
找不到合适的餐厅能够容纳60万人
发生交通拥堵
发生火灾或者踩踏安全事故
有关部门审批不通过
。。。。。。
节点思维法:将过程中的每个节点拿出来分析,评估在规模增大后,该节点的负载能力。
事前:制定计划、明确人员名单、明确预算、确定场地、交通指引、物料管理、场地布置、礼仪安排、聚餐主题、有关部门报备、应急预案。。。。。。
事中:车辆接送、礼仪接待、就餐。。。。。。
事后:清点、对账、财务结算。。。。。。
相信你也能看出来,节点思维法是大多数人会选用的方法,该方法对于熟悉的事物可以这么做,有流程有经验,但是很难应对突发情况,百密都有一疏。
选用逆向思维法,以结果为导向,将所有可能导致失败的原因都列出来,再逐条做好预防措施,能够有效找到思维盲区。
3)增加知识能力储备
承认自己在知识储备上的不足,平时多了解一些跨学科的知识,通过点、线、面、空间体的逐步深入,搭建自己的知识结构,将知识点进行关联——而不是没有规划的东学一点西学一些,避免知识碎片化。
懂的多,自然有一定的判断力。
以兴趣驱动,永远保持好奇心。没有兴趣驱动,人们很难对持续做同一件事情保持长久的热情。而好奇心则是我们探索这个世界的出发点。
多学习,多思考。
PS:
《闲话思维模型》是新开连载,侧重于思维模型与方法论的实际应用。
对于提升认知能力有兴趣的读者我建议先阅读《提升认知能力:成为精英的行动指南》——主要讲述思维方式的培养、认知偏差、学习方法、知识结构以及如何储备知识。