Comment by calmbonsai
1 day ago
You can not efficiently demarcate workloads in a coffee shop the same way you do in a warehouse due many factors including: the lack of transparency in the work done by the work units and the unpredictability of how a single work-unit can impact the entire plant.
The queue management models that work for banks, grocery stores, and warehouses do not fit the highly interdependent plant operations of a coffee shop--Poisson doesn't cut it.
At any given time, there's a good deal of work contained in the "head cache" of the workers (lack of transparency) and orders are (largely) interdependent due to the limited throughput and cornucopia of wait-states of the components that process them.
For a better analog, look at the classic French "brigade de cuisine" system developed by Escoffier and watch videos of high-end restaurants during service.
Pay particular attention to the expediter and notice how there's specialization, redundancy in labor, and semaphoring to manage exceptions, wait-states, and accommodate the entirety of the workload.
None of those strategies can be utilized (at-scale) in a coffee-shop due to vastly different expectations of workload processing timeline, quality, variance, available labor, expected margin, and physical plant size.
A large fast-food restaurant is middle-ground between these extremes.
> ... there's a good deal of work contained in the "head cache" of the workers (lack of transparency)...
Is this true in a Starbucks? Every order goes into the computer before it's made, whether via the app or at the register. Or are you referring to something else more specific, like performing and recording the individual steps in making a speciality coffee?
My time as a barista doing various behind-the-counter jobs was kind of fascinating. I really couldn't do the job as well as other people, I'm not sure if it's because of memory problems from adhd or concussions or what, but I was most effective due to head-cache when I didn't switch from Frappuccinos to hot drinks to till very frequently.
I'd literally forget how to make cold drinks vs hot drinks when I switched, like I'd never done it, until I got into a new flow, and everyone found this to be hilarious, since I'd already been a software person and it was a regression being there.
I took the job because I needed some money and to make social connections, but I mostly just wanted to see if I could do it, and I couldn't.
Since then, I've learned to give myself a bit of grace when switching contexts. If I have a day zoned in on one part of the code, and someone brings up something I worked on a month ago, I'll have to stall for time while I hydrate my cache again. This limitation is somewhat debilitating, since adult life depends on constantly being anxious about invisible obligations and other bullshit that simply aren't in my conscious mind unless I'm specifically grinding on them.
Heh. FWIW, I've only ever been fired from one job. I lasted 3 whole days at a bagel bakery.
I had the exact same issue switching from bakery, to line, to register.
Everyone else seemed to have this "context switching superpower". I watched two peers (we were all in high-school) seemingly effortlessly go from line to register and back to line 3x within the same shift. I couldn't.
I could do all of the jobs and was (subjectively) the best on-the-line (real-time 3D Tetris + flavor), but I could only be good one-job-at-a-time.
1 reply →
Correct. Unless it's, essentially, a single-step order (black coffee), I'm referring to the "steps to completeness" of any given sub-component of an order--usually specialty drinks or modifications to food prep (heating).
In a truly transparent system, one worker could take the place of another one by knowing which steps of an order have been completed, but that's not how their ticketing system works--nor should it.
In practice, hand-offs are done to other workers only for specialized low-variance duties (register).
Very interesting. I would have intuitively hand-waved the variability of each laborer’s output for those as “within a tolerable amount of time, most of the time” but I see your point that at the busiest times an order for a single, more complex item could cause a significant slowdown in the whole pipeline, especially, as you point out, there is a limited number of staff and workstations.
My information may be out of date because I worked at Starbucks a looong time ago (Frappuccinos were just introduced!), but they absolutely DO make each task measurable, independent and transparent, which is why a well-run Starbucks is way more efficient than almost any local coffee shop I've ever been to.
During a rush, each drink has a discrete series of tasks to be completed, and each worker can do their part without knowing anything about the rest. Take the order, print the receipt, hand it off to the barista, the barista makes each drink one at a time and puts it on the counter.
No head cache, no wait states. The bottleneck is definitely dependent on the barista steaming the right milk ahead of time and pulling the correct number/type of shots, but even a "bad" barista has a pretty straightforward set of tasks.
Unfortunate that the meat of the article is behind a paywall, because the way it is looking at Starbucks resonates with how I (fondly) remember it. I'm not a logistics person, so maybe I'm missing the point you are making!
"Long ago" (Chantico-era anyone), Starbucks crews used to write on the cups with a standardized format which enabled calling the line. Actively soliciting the line ("calling the line") was extremely useful for knocking out a line extending out the door. Creating a computer label system may have knocked down shrink from free drinks (friends, cops, other baristas), but neutered the staffs ability to call the line. Now, in a busy Starbucks, it's more likely you won't be asked for what drink until you're at the register to pay.
Aside from the customer waiting longer for their drink, this also impacted a skilled barista's ability to combine batches of milk across multiple drinks, etc.
Recently I walked out of a Starbucks because the staff were waiting on the customer before me to "run and get their payment," while I waited to order a drip coffee that I had cash+tip in my hand for. "We'll be with you in a second."
Oh my god! It has been a long time since I've thought of being sprayed by viscous 200 degree chocolate magma.
Interesting thought about the printed receipts. I found line-calling only being efficient for the hour of morning rush with 60+ customers/hour, and I've never actually seen it effectively used outside my own store which was incredibly well-run. So maybe assumed they stopped doing it because it was too hard to do well.
1 reply →
The specific "transparency" I was commenting on was mid-drink preparation which can not be handed-off in any sort of scalable automated fashion (and that's OK).
Having worked a warehouse job as a teen and done data science consulting for a global restaurant chain, I'm certain Starbucks has done time*motion studies and concluded that the system is "good enough" given the huge variety of floor-plans and other physical plant limitations they need to operate in.
It's also worth pointing out that they recently greatly simplified their menu to improve service speed variance, throughput, and (in theory) quality.
There are absolutely tons of unavoidable wait-states (espresso group-heads, drip coffee filter changes, etc.) in the system that can't be overcome with automation at any sort of economic scale (and that's also OK).
Starbucks once tried replacing some of that with higher-margin single-serving automation (remember the Clover https://en.wikipedia.org/wiki/Coffee_Equipment_Company and it totally failed https://www.youtube.com/watch?v=BfNoNTjcRbE ).