【编者按】本文作者 Weronika Łabaj 是Particular Software的开发人员。她专注于通过软件提供业务价值,探索新模式,应对挑战。在星巴克,她总是点中杯焦糖玛奇朵。
文章系国内 ITOM 管理平台 OneAPM 编译呈现,以下为正文:
星巴克通过扩展运营机制和劳动力,避免了较长的顾客等待时间。无独有偶,开发人员也可以这样做!
2004年,Gregor Hohpe发表了一篇很棒的文章——“Starbucks Does Not Use Two-Phase Commit.(星巴克不相信两阶段提交) ”当笔者在阅读时,突然想到自己大学时在星巴克的工作经历。多年以来,我逐渐意识到程序员也可以从这家著名咖啡连锁企业学到更多。
很多开发人员都想构建可扩展软件,但实际操作中却很难实现。当我们在处理各类任务时,经常会陷入某种陷阱,认为每项工作都同等重要,需要同等的资源,并应当根据预先定义的顺序同步完成。
事实证明其并非如此——至少在可扩展系统中并非如此,在星巴克也并非如此。
如何制作咖啡
在星巴克,制作咖啡涉及四个步骤。首先,顾客排队,在柜台点单,依据先到先服务原则。第二,员工(咖啡师)帮顾客下单,并接受付款。第三,开始准备饮品。第四,当饮品制作完成后,将其放在吧台上,并呼叫顾客姓名。
尽管整个模式听起来非常合理,但却很快会导致很长的队伍。一位员工在同一时间,只能处理一项任务,因此顾客在咖啡师按顺序制作饮品时,只能排队等候。如果想要服务更多的顾客,就需要扩展。我们来看看星巴克是如何做的。
扩展咖啡师
星巴克可以选择的扩展方式之一就是雇用“超级咖啡师”——非常能干,效率很高,非常聪明的咖啡师。 星巴克需要在他们的发展上投入巨资,优化他们工作的各个方面,不断提高他们的效率。在软件中,这种方案被称为向上扩展(垂直扩展)。
这种扩展的问题在于,员工的工作速度(和工作时间)是有限的。总有一天,即使是超级咖啡师也无法满足所有需求。一旦出现这种状况,顾客就会沮丧地离开店铺,可能再也不会回来。
同样的,我们优化软件的程度也是有限的。我们不可能买到200 GHz的CPU。即使最大的CPU是多核的,其每个芯片的最高速率也仅在3到4 GHz。
星巴克可以采取的另一种扩展方式,是改变工作结构,添加更多的普通员工,就如软件中的并行处理。当一位咖啡师接到订单后,另一位就开始准备。这样,第一位咖啡师就可以处理下一个订单,同时第一个订单在并行准备中。
你可能会认为,只有在需求量达到一定程度时,才应该考虑并行处理。事实上,并不是那么简单。不可能在我们需要的时候,就可以马上切换到并行处理。我们必须事先做好准备。
星巴克很清楚这一点。每开设一家新的门店,即便每个班次只有一位员工,但是并行处理的一切从一开始就准备好了。他们可以随时增添人手。
经验:如果我们构建的系统不支持并行处理,就无法轻易实现并行处理。
现在,让我们看看星巴克是如何实现这一切的。
从消息传递开始
如果你曾在星巴克点过咖啡,就会注意到杯子上的那些小框框里总是标有某些符号。这些符号是一种简写,帮助咖啡师快速了解饮品类型以及其它额外要求(例如奶油,奶泡等等)。
杯子,或者信息,是员工之间沟通的基础。它告诉咖啡师需要制作的饮品,而上面的符号提供饮品的细节。即使店内并不忙碌,而且只有一名员工服务顾客时,也仍然会在杯子上标注符号。
乍看起来,似乎有点多余。但是,如果突然有一大批顾客进入店内,那么后备员工能够马上提供帮助。无需任何额外的沟通,他们可以根据信息开始制作饮品。
经验:突然增长的需求并不可怕, 只要我们能够随时添加更多员工,进行分工。使用消息是方法之一。
分工解决
正如前文所述,整个咖啡制作流程可以由一位员工——即咖啡师完成。不过星巴克的默认流程则是由一位员工(即收银员)下单并接受付款,再由另一位员工(咖啡师)制作饮品。
通常来讲,整个流程中速度最慢的环节就是制作咖啡,这也正是为什么当店内很繁忙时,有多名咖啡师同时制作咖啡。他们往往会从一叠杯子中拿取杯子,平均分担任务。而这正是“Competing Consumers(竞争消费者)”模式的体现。
不过在某些场景下,这种方式也可能带来麻烦。举例来说,有三位咖啡师共同使用一台咖啡机与一台星冰乐机。有三位顾客点了咖啡,而第四位则点了一杯星冰乐。下订单的员工排列杯子,上面分别写有对应的符号。每位咖啡师拿取一个杯子准备制作饮品。第一位开始使用咖啡机制作饮品时,其他两位只能等待。
我们可以通过分工,来避免这种状况。一种方式就是对信息进一步细化,分类处理。例如,我们都知道星巴克会利用杯子上的信息来表示需要准备的饮品类型。但是,这套系统还区分热饮和冷饮:热饮使用纸杯,冷饮使用塑料杯。当我们接到三份热咖啡订单,然后再接到一份星冰乐订单时,我们有三个纸杯和一个塑料杯。第一位咖啡师从纸杯中拿取一个,并开始制作。第二位咖啡师看到咖啡机正在使用, 因此拿取塑料杯,使用星冰乐机器。这样,就有两杯饮品在并行制作了。
这种分工,使咖啡师拆分任务,并行完成,被称为“细分”。
经验:事实证明,细分是有效扩展策略的一个关键因素。并非所有的工作都需要同等水平的扩展。能快速完成的小型任务可由单一员工完成,而高需求,更耗时的任务可由多位员工共同完成。通过细分,我们能够对每个任务实现独立扩展。
并非每项工作都同等重要
星巴克成功的原因之一,是对其员工进行培训,让他们意识到记住常客的重要性。比如,每天早上,那个为他的团队购买两杯超大杯美式和两杯大杯拿铁的男士。还有,每周三,那位点中杯焦糖玛奇朵,并在店内坐上一个小时读书的女士。
如果咖啡师在周三看见这位“中杯焦糖玛奇朵女士”进入店内,他们就会在她还未到达柜台前开始准备她最爱的饮品。顾客什么也不用说,就获得了想要的饮品,肯定会很开心。收银员已经知道她要点什么饮品,就可以寒暄几句,然后接受付款。在付款完成前,她的咖啡已经准备妥当,放在吧台上了。
你可以无法想象,星巴克顾客中的常客比例非常高。为他们带来最佳体验是很重要的。通常,他们获得饮品的速度要快于其他顾客。这让他们感觉受到了重视,并鼓励他们继续前来,也为公司带来更多价值。
经验:某些任务较其它任务更为重要。通过将标准任务构建成可重用的,独立的模块,我们可以轻松地修改流程,为更有价值的任务提供更好的服务。
并不是所有的错误都值得预防
在以上所有示例中, 星巴克员工都需要在顾客获得咖啡之前,确认他们已经付款。为了确保这一点,咖啡师们可以在交付咖啡之前要求顾客出示小票。然而,事实上,他们没有这样做。
星巴克发现,很少有顾客会在没有付款的情况下,去领取饮品。他们的分析显示,让咖啡师专注于完成订单才最重点,而不是关心偶尔丢失的咖啡。 如果有人碰巧拿走了你点的咖啡(通常是无心的),咖啡师会准备一杯新的给你。
经验:要构建可扩展系统,我们必须接受某些无可避免的错误。要完全避免这些错误,代价太高。我们应该快速检测问题,当它们发生时,及时弥补。
总结
看似简单的制作咖啡四步曲,演变成了一个有趣的业务流程。那些看似独特和罕见的任务,却是业务中的必要因素。
突然增长的需求,或错误,每天都可能发生很多次。设计一个可以良好应对这些状况的系统,需要考虑各种常见的情况。通常,首先想到的模型不能够解决这些问题。另外,也还需要考虑意外情况。比如,取消订单。
从星巴克的例子可以看出,如果我们采用简单的方案,那么业务将无法扩展,为更多顾客服务。随着顾客数量的增加,我们的服务水平将不断下降,最终导致顾客不再访问。因此,我们必须改变工作方式,满足增长的需求。最后,构建的系统不仅技术上可以扩展,还可以随着业务流程不断扩展。
OneAPM 能为您提供端到端的 Java 应用性能解决方案,我们支持所有常见的 Java 框架及应用服务器,助您快速发现系统瓶颈,定位异常根本原因。分钟级部署,即刻体验,Java 监控从来没有如此简单。想阅读更多技术文章,请访问 OneAPM 官方技术博客。
本文转自 OneAPM 官方博客
原文地址:https://dzone.com/articles/what-starbucks-can-teach-us-about-software-scalabi
相关推荐
### 星巴克系列研究:从星巴克看中国消费升级 #### 星巴克在中国的成功与扩张 星巴克在中国市场的表现堪称卓越,截至2017年底,其在中国拥有的门店数量达到了3124家,占据了中国连锁咖啡市场份额的51%。这一成就...
这篇文章将深入探讨星巴克的经验,以此为切入点,分析餐饮连锁行业的估值逻辑。 一、星巴克的成功秘诀 1. 产品品质:星巴克始终坚持选用高品质的咖啡豆,通过严格的烘焙工艺,确保每一杯咖啡的口感。同时,不断...
本文将分析星巴克的成长历程,从中提炼出可供国内连锁餐饮企业借鉴的经验。 星巴克的成功并非偶然,它在1971年至1992年间,通过提供优质咖啡豆和独特的意大利式咖啡馆体验,成功改变了美国人对咖啡的消费习惯。...
【海伦司-HK-深度报告】:夜间星巴克,酒馆拼多多,潜力无限 海伦司,一家在夜间经济中迅速崛起的企业,被业界冠以“夜间星巴克”和“酒馆拼多多”的美誉,其独特的商业模式和市场定位展示了无限的商业潜力。这份...
综上所述,星巴克的成功经验为餐饮连锁行业提供了丰富的学习素材,其在产品品质、商业模式、数字化转型、品牌建设和精细化管理等方面的实践,为行业估值提供了有价值的参考。对于其他餐饮企业而言,借鉴并结合自身...
社会服务行业:复盘星巴克07、08年经营危机始末,回归品牌核心价值,咖啡龙头逆境重生.pdf
社会服务业:复盘星巴克07、08年经营危机始末回归品牌核心价值,咖啡龙头逆境重生(2022)(31页).pdf
3. **创新文化**:星巴克不断进行产品和服务创新,如推出季节性饮品、烘焙食品和无线充电服务等,满足消费者多元化需求。同时,其在数字化领域的探索,如移动支付和个性化推荐,也为顾客带来了便捷的消费体验。 4. ...
支付宝小程序Demo:星巴克用星说 项目地址:http://www.wxapp-union.com/forum.php?mod=viewthread&tid=11697
随着中国经济的飞速发展和城镇化的推进,中等收入群体不断壮大,星巴克的用户基础也随之扩展。在中国商业地产的黄金时期,星巴克加速布局,于2017年收回了中国内地的经营权。 星巴克在中国的经营状况稳定,中国区...
2. 逻辑:星巴克的每一步扩张和产品更新都有明确的战略规划,确保了模式的可操作性和稳定性。 3. 流程:标准化的服务流程保证了全球范围内的品质一致性,使消费者无论在哪里都能享受到相似的体验。 4. 价值:星巴克...
餐饮旅游行业深度研究报告:星巴克折戟茶饮,奶茶店能否支撑大市值公司(29页),资源名称:餐饮旅游行业深度研究报告:星巴克折戟茶饮,奶茶店能否支撑大市值公司(29页)餐饮旅游行业深度研究报告:星巴克折戟茶饮...
星巴克作为全球连锁咖啡企业的巨头,其成长路径、运营模式和品牌策略一直以来是餐饮...通过深入分析星巴克的成长经验和奈雪的案例,我们不仅能够了解两大品牌的经营之道,还能洞察到整个餐饮行业的竞争态势和发展趋势。
海伦司,被誉为“夜间星巴克”和“酒馆拼多多”,是一家在港股上市的餐饮企业,专注于提供高性价比的小酒馆体验。在百年未有的疫情冲击以及餐饮连锁化的大潮中,海伦司凭借其独特的商业模式和强大的增长潜力,迅速...
【标签】:“星巴克”标签明确了这个项目是围绕星巴克品牌进行的,可能涉及其标志性的绿色和白色配色方案,以及品牌特有的图形元素和排版风格。 【压缩包子文件的文件名称列表】: 1. **ͼƬ**:这可能是图片资源...
- 星巴克承诺可持续采购咖啡豆,支持农民,同时减少运营中的环境影响,推广环保理念,如使用可回收材料,减少浪费。 - 公司还设有“C.A.F.E. Practices”(咖啡和农业公平等效验标准),确保其供应链的可持续性和...
它们的成功经验对其他餐饮企业具有启示作用,即要在保证品质和服务的同时,灵活适应市场变化,通过创新和多元化策略实现可持续增长。然而,高速扩张带来的挑战也不容忽视,如品质控制、成本管理和品牌维护都是长期...
原生JS仿写星巴克中国网站 Mysql / Node.js / H5 / CSS / JavaScript / Ajax npm i express / body-parser / mysql 我的邮箱:
(3)可模仿性(Imitability)问题:不具备这种资源和能力的企业在取得它时面对与已经拥有它的企业相比较处于成本劣势吗?(4)组织(Organization)问题:一个企业的组织能充分利用起资源和能力的竞争潜力吗? ...
星巴克小程序源码是星巴克官方在微信平台上推出的小程序的源代码,它体现了品牌与技术的结合,旨在提供便捷的在线订餐、支付以及互动体验。 【源码分析】 源码是程序设计的基础,它包含了程序的逻辑结构和具体实现...