Monday, January 4, 2010

Lessons on Efficiency from Starbucks

Originally Published 2009-01-18 13:42:19

The other day I purchased an espresso from Starbucks and then went right next door to purchase a sandwich from a Togo's franchise. It occurred to me, while waiting 6-9 minutes to complete my sandwich transaction but barely a minute for my coffee, that Starbucks has a vastly superior queuing system.

Starbucks' system touches the customer twice. There are two queues -- two wait states -- but the queues are completely disconnected from one another. This allows resources to be distributed more efficiently to the two queues. This could be because of employee specialization -- perhaps one employee is a whiz at juggling cups while another can make change in her head while half-asleep. Or, more duplicate-able and scale-able, one can simply apply an additional employee to either barista or cashier duties. So, when there are 15 empty cups awaiting caffeine juice and only one person in line, the third person can start steaming milk. When the roles are reverse and there are only two empty cups but fifteen in line, a second cashier can be manned.

Compare this with the system at Togo's. There is one line serviced by 1-4 employees. A customer is handled, from start to finish, by the single point of contact. Occasionally, they'll adjust their system, having a manager handle cash for everyone while 1-4 employees focus on sandwich making. Both approaches are inferior to the two-queue system because they are serial. Even when a dedicated cashier is present, cash never changes hand until the sandwich making process is almost complete. So one large order upsets the entire system. The customer experience is further compromised by simply forcing the customer to stand in line, focusing on the wait and any inefficiencies perceived, rather than socialize, make a call, or otherwise spend their time in a more productive (or at least less negatively focused) manner.

Now, granted, a sandwich takes longer to prepare, generally speaking, than your daily stimulant of steamed milk fortified bliss. But that should make the need for disconnected queueing -- or, in geekspeak, "asynchronous messaging" -- even more impactful, if not downright necessary. Starbucks's superior system allows more production per employee. It, point blank, increases productivity -- generally considered by all to be the single biggest contributing factor to raising the standard of living of a population. In other words, creating long term wealth. Go look up the sales per employee of Starbucks and compare it with any retail food service company that uses the single queue model. I haven't looked them up, but I predict that Starbucks will report roughly double the sales per employee.

Maybe another day I'll put together a list just to prove it...

(Incidentally, I propose that this is one of the reasons why email is more efficient than a phone call. A phone call is serial -- two parties must connect at exactly the same time, whereas with email, the two interactions are disconnected. Asynchronous messaging, once again.)

Comments

On 2009-01-18 21:05:03 Bobbie McGowan-Ottawa Real Estate Expert said:
Very perceptive and I think you hit the nail on the head with that one, Starbucks has a business model many could learn from.On 2009-01-18 21:15:17 Jim Dolanch-Pittsburgh Real Estate Expert said:
Starbucks does have their efficiency down pat-this can easily be transferred to any job or business too.On 2009-02-26 16:33:52 snocon said:
We have a sandwich shop here called Jimmy John's that makes their sandwiches extremely fast. The first time I went there, I said what sandwich I wanted, handed the cashier my credit card and right after she handed my card and a receipt back, my sandwich was being handed to me as well. They have a dedicated cashier and 2 areas with all of the sandwich ingredients, with 3 sandwich makers manning each station. As soon as you say what sandwich you want, the cashier tells the sandwich making crew, and the 3 of them put it together in a few seconds. It's a delicious sub-style sandwich with fresh ingredients too!

I was wondering how they make enough money to pay all of those workers when there are only a couple people in line whenever I go in, but then I realized that there are so few people in line because the majority of their customers are like me. They walk in, decide on a sandwich, pay and get their sandwich in a minute or two, and head out.

Their prices aren't the best, but I'll often go there when I'm in a hurry and want a good sandwich.On 2009-05-08 13:11:56 Josh - Web Design Kansas City said:
It is a similar model to fast food where a person takes and order and it goes to the specialized person. This is why some sub places like Mr. Goodcents are slow and ones like Jimmy Johns that uses an assembly line for each ingredient is so fast.On 2009-05-29 00:50:49 Dean Lee - Applied Asian Languages said:
Interesting post. Here in Singapore, McDonald's operates a similar queing system - once your order has been taken, you're directed to a different line to collect it.On 2009-06-25 09:48:34 Myles said:
wow that's an interesting way to look at it. Now that I think about it it's that way with most internet businesses too. Customers can place orders/ask questions though an ordering form and we can have someone or something pass them off to people specialized in those areas. But customers still like the one on one interaction. Like for Togo's (mmm pastrami sandwich I had yesterday...) it was nice that I could dictate exactly how I wanted my sandwich right when he was creating it to my specific instructions. It made me feel like I was getting more for my moneyOn 2009-08-04 15:48:28 Andy - Spanish mortgages expert said:
Its amazing how simple changes to these every day systems can make such a difference to service.
As for email over phone calls, well when i am delaing with a client I refer to email. When i am dealing with a bank, I prefer to call.
i guess it depends how much i want to say and how urgetn the communication is.

Nice post though - shows why Starbucks is such a successful franchiseOn 2009-08-12 12:33:04 Justin Show said:
I just read on Yahoo (I think) last week that Starbucks had hired an efficiency firm to try to make their people even more efficient (this is a tough economy). They are looking at serving a latte in 30 seconds instead of 40 seconds, or something like that. Some of their stores aren't too happy with the program... It's an interesting news story if you can find it. ~ Justin ShowOn 2009-08-13 10:13:29 tony said:
that's called BPM, y'know ;-) s'what I do 4 my day job :-D (B.P.M that is not working for *five-bucks)On 2009-08-27 04:58:25 gilbert said:
Efficiency is a worthy goal, but not at the price of expecting humans to act like automatons. I dread the day I see a Starbucks employee behind the counter whirling and kicking like Bruce Lee just to fix my java more quickly.On 2009-09-14 08:35:11 Acai Beere said:
It always amazes me when you see something from everyday and you realize something cool and it totally changes your perceptionOn 2009-09-23 14:43:29 Daniel Laming said:
As an avid Starbucks fan I couldn't agree more! I end up spending something like $3000 a year there and my coffee is practically there before my money is! I'm not sure how they do it - reckon they stalk me lol.On 2009-09-25 17:54:31 wlb said:
The book 'The E-Myth' covers a lot of this. Basically people need to start thinking of a business as a franchise and create a process for everything. We do it here, it's what I call idiot proofing things :)On 2009-10-20 02:19:39 Estrelas Barra said:
Yes, the secret is asynchronous messaging. This is the secret behind very successful technologies like Erlang too. And each day more people is paying attentions in this simple principle.On 2009-10-29 00:15:04 gabby said:
This is great, I love your attention to detail! Yes, Starbucks is superior in the queing sense, they have truely mastered the system. Though I have had a few instances of not being quite with it (early morning cloudy head) and therefore not being ready for the questions and directions of the baristas. When I come too and realise that I have been in a day dream the baristas tend to not look too happy with my non aggressive super quick attitude!On 2009-11-01 09:34:25 Luxury Yoga Bags said:
But the sandwich shop wants to feel like a custom sandwich. They want you to watch and see the sandwich being made. Plus most people need to see the vegetables and condiments to decide what they want on their sandwich. If you asked someone what they wanted on it without any visual queues they would most likely not know what to choose.On 2009-11-03 05:35:04 Ornella Kinderchat said:
I am not a fan of Starbucks and prefer small places where to trink a coffee. Starbucks is a sort of McDonald's for coffee and cappuccino!On 2009-11-09 02:58:31 Adrian Cameron said:
Yes, of course they have a system... they are a chain built on systems that charge accordingly.

For me in the UK, Starbucks is full of drones, "me-too" purchasors with too much money to spend on coffee.

I'd go local everytime. Unearth the juicy local provider who may be a bit slower, a bit more disorganised but are at least local.On 2009-11-12 05:14:22 John Célibataire said:
Very interesting analysis. I will start loking closer at fast food employees now.On 2009-11-12 08:21:42 Joe Mcelderry said:
It's like the saying goes. Efficiency is the centre of all good franchising businesses. Look at how quick McDonalds serve you.On 2009-11-17 10:56:55 New York Debt Relief said:
They could probably increase efficiency further by having the orders through internet or computerOn 2009-11-19 19:32:49 Dave said:
Well I must say I still go to Starbucks for the great coffee and not their line efficiency. Lets put it this way, if I had a choice of a longer line but better coffee I would pick that one. ;)

Actually Starbucks has both covered so nothing to complain there.On 2009-11-24 14:19:38 baby bottle holder said:
I understand that Starbuck's business model is used as an example in many universities. That means a lot. Great post Johnny.On 2009-11-25 15:05:14 Simplicity Bags said:
I'm the the old school customer service is everything a forgotten techniqueOn 2009-11-27 06:09:12 search engine optimization consulting said:
you are right bobbie. Starbucks has a business model that a lot can learn from, Just like me.. Reading this article, taught me on some ways that I could get from the trick starbucks has on running a business. I should sure apply this in my own business soon.On 2009-12-03 11:53:03 Mark A said:
This single-queue system is not so bad if only the ones who go by it know how to improvise or adapt in situations where customer-load is heavy, for example during peak hours.

I have noticed that in some fastfood chains where single-queueing is implemented, when there are too many customers, they don't let the customer wait at the cashier for his/her order to finish. Instead, what they do is give a number. Another employee is then given the charge of the dining area. It's his/her responsibility to deliver the order to the customer. Quite different from Starbucks in that you have to get your order yourself once it's done.

It is similar to Starbucks-style, would you agree?On 2009-12-03 13:23:56 Manhattan said:
Maybe that's true in your Starbucks, but it's certainly not true in all of them. A lot of the time, the employees seem overworked, and they make mistakes as a result.On 2009-12-06 11:02:24 Jared @ Gas Scooters said:
I have not had the opportunity to observe the efficiency of Starbucks queuing system. This is probably due to Starbucks coffee being the lowest on my coffee list since I've never really liked their coffee. Anyways, you've prompted me to go and check this out in my part of the country, I'd like to see if the same efficiency is also seen here. Thanks for this post.On 2009-12-07 11:59:02 Joe Crawler said:
I've read the starbucks history book - few years ago (now the book is lost) and I am amazed by the founder walking dor to dor to find investors and how the efficiency is done in that company.On 2009-12-22 08:39:16 bankowned said:
I always believe in setting goals, but that’s probably to do with my sad excuse for a memory. I’ve read a few books on personal development and it seems to be highly recommended by the professionals.On 2009-12-24 15:03:50 pThomas said:
i never thought of email as Asynchronous messaging before but do agree. I wonder how this que spliting could be translated into other types of businesses.On 2009-12-28 07:20:52 cyanoacrylate said:
Could it also be because Starbucks customers need their fix or they'll lose their mind?On 2009-12-28 16:02:38 Portable Photo Printer said:
Thats pretty perceptive to notice the system behind how Starbucks and Togo's do their business.
I also agree about email being much more at conveying information, but not as much for building customer loyalty through relationship building.
Good post!On 2010-01-03 05:25:18 Beth said:
Hi:

I'm just wondering if you have abandoned this site.

I notice that the last comment approved is six months ago.

I would like to participate with an active blog moderator, especially if the comments disappear until the moderator gets around to approving.

Lessons on Efficiency from Starbucks

Originally Published 2009-01-18 13:42:19

The other day I purchased an espresso from Starbucks and then went right next door to purchase a sandwich from a Togo's franchise. It occurred to me, while waiting 6-9 minutes to complete my sandwich transaction but barely a minute for my coffee, that Starbucks has a vastly superior queuing system.

Starbucks' system touches the customer twice. There are two queues -- two wait states -- but the queues are completely disconnected from one another. This allows resources to be distributed more efficiently to the two queues. This could be because of employee specialization -- perhaps one employee is a whiz at juggling cups while another can make change in her head while half-asleep. Or, more duplicate-able and scale-able, one can simply apply an additional employee to either barista or cashier duties. So, when there are 15 empty cups awaiting caffeine juice and only one person in line, the third person can start steaming milk. When the roles are reverse and there are only two empty cups but fifteen in line, a second cashier can be manned.

Compare this with the system at Togo's. There is one line serviced by 1-4 employees. A customer is handled, from start to finish, by the single point of contact. Occasionally, they'll adjust their system, having a manager handle cash for everyone while 1-4 employees focus on sandwich making. Both approaches are inferior to the two-queue system because they are serial. Even when a dedicated cashier is present, cash never changes hand until the sandwich making process is almost complete. So one large order upsets the entire system. The customer experience is further compromised by simply forcing the customer to stand in line, focusing on the wait and any inefficiencies perceived, rather than socialize, make a call, or otherwise spend their time in a more productive (or at least less negatively focused) manner.

Now, granted, a sandwich takes longer to prepare, generally speaking, than your daily stimulant of steamed milk fortified bliss. But that should make the need for disconnected queueing -- or, in geekspeak, "asynchronous messaging" -- even more impactful, if not downright necessary. Starbucks's superior system allows more production per employee. It, point blank, increases productivity -- generally considered by all to be the single biggest contributing factor to raising the standard of living of a population. In other words, creating long term wealth. Go look up the sales per employee of Starbucks and compare it with any retail food service company that uses the single queue model. I haven't looked them up, but I predict that Starbucks will report roughly double the sales per employee.

Maybe another day I'll put together a list just to prove it...

(Incidentally, I propose that this is one of the reasons why email is more efficient than a phone call. A phone call is serial -- two parties must connect at exactly the same time, whereas with email, the two interactions are disconnected. Asynchronous messaging, once again.)

Friday, January 1, 2010

Securing/encrypting avantgo m-business databases (virgil) on device

Originally Published 2004-08-23 12:02:39

The following is a technical note written to address Vigil database encryption requirements using Afaria 5.1. Any questions, comments, or feedback is greatly appreciated.



Currently, the device-side Virgil databases used in M-Business Anywhere applications (e.g. Mobile Sales) do not have an on-device encryption solution. In the technical services group, we encountered this problem during a recent project proposal. In the future, it may be possible to take advantage of encrypted UltraLite databases using the UltraLite Pod, for applications such as Mobile Sales (depends on the product Roadmap and isn't guaranteed). For an immediate solution, we looked at the Afaria 5.1 Security Manager technology. The Security Manager channels created by Afaria can encrypt specified files while the device is powered off. This encryption, partnered with forced password-protection, provides additional security to the Vigil database files on a device. However, unlike an UltraLite database, the database files are not encrypted while the device is in use.



The following technical note highlights the general use and steps required to implement encryption on the Virgil database using Afaria 5.1. This procedure has undergone minimal testing, but has proven to work on both Windows CE and Palm devices. It would be recommended that extensive testing is made before a production deployment.



Usage Illustration:



1) The device is turned on

2) All files marked for encryption by the Afaria Security Manager are currently encrypted.

3) The user is prompted for a password.

Note: Afaria can be configured to deny non-administrator access to the PDA after a specified number of failed logins. Other possible actions include deleting all encrypted data or performing a hard-reset.

4) The user is successfully authenticated.

5) All files marked for encryption by the Afaria Security Manager are decrypted and are now readable.

6) User shuts down device

7) All files marked for encryption by the Afaria Security Manager are encrypted.

Note: Afaria Security channels can be configured to encrypt the desired files using one of the following algorithms:

- Blowfish

- AES

- Triple DES

- RC2

8) Device is powered down.



Note: It may be not feasible to use this solution with larger Virgil databases due to the delay of encryption/decryption of the database files. It is recommended to test the performance of the encryption with several encryption algorithms on sets of data that represent typical and high-end deployments.



Implementing this solution requires a workaround on Windows CE devices and is rather straight forward on Palm devices. Security channels designed for the CE device cannot encrypt files found in or underneath the \Program Files and \Windows directories. Since Virgil databases are installed underneath \Program Files, they will have to be moved to take advantage of the Afaria encryption features.



Windows CE implementation:



Requirements:

Afaria 5.1 Server

Windows CE Device with a synchronizing M-Business Server application using Virgil technology.

Windows CE Registry Editor - http://www.phm.lu/products



Implementation Steps:

1) Install a Windows CE Registry Editor on your CE device

2) Change the following two registry values:

HKEY_CURRENT_USER\Software\AvantGo\DatabaseLocation from \Program Files\AvantGo\Databases to \AvantGo\Databases.

HKEY_CURRENT_USER\Software\AvantGo\SRSDatabaseLocation from \ProgramFiles\AvantGo\Databases\srs to \AvantGo\Databases\srs.

3) Move the entire Databases directory found in \Program Files\AvantGo to a newly created AvantGo directory off of the root.

Note: Steps 1-3 can be accomplished using an Afaria Session Manager channel. What you would do is include both the session and security channels inside the channel set and send this to the CE device.

4) Synchronize your M-Business Anywhere application to ensure the move was successful.

IMPORTANT NOTE: If we want this to be a viable solution for customers, it would be beneficial to have a version of the M-Business Client installation that contains registry values similar to those changed in previous steps.

5) Disable any password on the CE device. Start | Settings | Password

Note: You can also use Afaria Session Manager channels for this because enabling/disabling the CE password is controlled by a registry flag.

6) Create a Afaria security channel for CE devices on the Afaria 5.1 server.

i) On the Channels, Administration bar, click New and then choose Security Manager channel.

ii) In the Client types dialog, label the channel and choose the WinCE Client type and click Next.

iii) Accept the selected Enforce power-on password check box.

iv) To allow an administrator's password to unlock a locked down device, select the respective check box, then enter and confirm the password.

v) Specify the allowable number of invalid password attempts before the device locks down and choose the desired lockdown behaviour.

vi) Select Next twice to complete the channel. (Encryption settings are handled later)

vii) In the left pane of Channels, Administration, select the newly created Security Manager channel.

viii) Select Set encryption options

ix) Select the Allow user to select additional files / databases for encryption check box.

x) Click the Add link and specify \AvantGo\*.* for encryption. Select the Include sub-folders check box and click OK.

xi) Return to Channels, Administration, click Save and then Close.

xii) Right-click on the newly created channel and select "Publish". You need to 'publish' a channel before a client can 'subscribe' to it.

7) Install the Afaria client on the CE device.

8) Configure the Afaria client to connect to your Afaria 5.1 server machine

i) Start the Afaria Client in Start | Program Files

ii) Select View | Configuration

iii) Specify the name of IP address of the Afaria 5.1 server machine.

iv) Enter the newly created security channel in the Channel Name field. The channel name must be preceded by a backslash.

v) Select OK.

9) Synchronize the device to obtain the Security Channel from the Afaria server.

10) Power down the device and test the encryption behavior.



Palm Implementation:



Requirements:

Afaria 5.1 Server

Palm OS Device with a synchronizing M-Business Server application using Virgil technology.



Implementation Steps:

1) Disable any password on the Palm device. Start | Settings | Password

Note: You can also use Afaria Session Manager channels for this because enabling/disabling the CE password is controlled by a registry flag.

2) Create a Afaria security channel for Palm devices on the Afaria 5.1 server.

i) On the Channels, Administration bar, click New and then choose Security Manager channel.

ii) In the Client types dialog, label the channel and choose the Palm Client type and click Next.

iii) Accept the selected Enforce power-on password check box.

iv) To allow an administrator's password to unlock a locked down device, select the respective check box, then enter and confirm the password.

v) Specify the allowable number of invalid password attempts before the device locks down and choose the desired lockdown behavior.

vi) Select Next twice to complete the channel. (Encryption settings are handled later)

vii) In the left pane of Channels, Administration, select the newly created Security Manager channel.

viii) Select Set encryption options

ix) Select the Allow user to select additional files / databases for encryption check box.

x) Click the Add link and specify your M-Business Anywhere application database file for encryption and click OK.

Note: This requires the administrator to know the names of all M-Business application database files. Repeat this step for all sensitive database files.

xi) Return to Channels, Administration, click Save and then Close.

xii) Right-click on the newly created channel and select "Publish". You need to 'publish' a channel before a client can 'subscribe' to it.

3) Install the Afaria client on the Palm device.

4) Configure the Afaria client to connect to your Afaria 5.1 server machine

i) Start the Afaria Client in Start | Program Files

ii) Select View | Configuration

iii) Specify the name of IP address of the Afaria 5.1 server machine.

iv) Enter the newly created security channel in the Channel Name field. The channel name must be preceded by a backslash.

v) Select OK.

Note: Afaria requires a direct TCP/IP connection to interact with Palm devices. There are several communication options available including: Windows RAS connections, Ethernet cradles, and Wi-Fi connections.

5) Synchronize the device to obtain the Security Channel from the Afaria server.

6) Power down the device and test the encryption behavior.