Process and Customer Experience at Economic Rice Stall

One of places I usually go for lunch in the weekdays is the food court at the Esplanade Link.  It is only a short walk from Raffles City complex, it has variety of foods, the foods are generally good and the price is reasonable.

My favorite stall in that food court is the Economic Rice.  This stall always has the longest queue during lunch time; and yet people don’t mind to queue.  Despite the long queue, the queue is surprisingly fast, thanks to the way they serve the customers.

The stall is in the corner, in “L” shape, something similar to the image below.  There were usually four stall keepers manning the stall, other than perhaps another two or three at the back who do the cooking.  The queue started from the stall keeper in the corner, marked with ‘1’.

Capture.PNG

The stall keeper ‘1’ main responsibility was to ask the customer what he wants: whether he wants rice or porridge and whether he wants to eat the food at the food court or to ta bao (take away).  He then scooped the rice to the plate or a take away box.  He was responsible to scoop the first one or two side dishes that are closest to his area.

The 2nd stall keeper, marked as ‘2’ on the picture above, would then take over the dish.  The customer move dto the left and continue to order side dishes from the area closest to the 2nd stall keeper. Meanwhile, stall keeper ‘1’ took new order.

Once completed, stall keeper ‘2’ handed over the plate or takeaway box full with the food to the 3rd stall keeper, marked with ‘3’ on the picture.  In front of this stall keeper there were two big bowls, one with gravy and another one with curry.  Stall keeper ‘3’ main responsibility was to ask the customer whether he wants curry or gravy to be added to the dish. If the customer ordered porridge, stall keeper ‘3’ would scoop the porridge to the bowl. He then put the dish in front of the 4th stall keeper.

The last stall keeper, stall keeper ‘4’, marked with ‘4’ on the picture, was mainly responsible to handle the payment.  He was also in-charge to put the takeaway box in the plastic bag.  Customer would then leave the stall.

As illustrated above, each stall keeper in the stall had a very clear roles and responsibility; and they followed it to the dot.  There was also a coordination between stall keeper ‘1’ and stall keeper ‘2’; the moment the 2nd stall keeper was free, he would immediately take the plate/box from the stall keeper ‘1’.

Putting the curry and gravy in giant bowls was also a brilliant idea. Without those bowls, if the customer wanted curry or gravy, the dish needs to move back to stall keeper ‘1’ or ‘2’, disrupting the order from other customers.

All of the arrangement above resulted in an efficient queue.  The customers would have a great experience as they could get their meals fast.  The customers would then willing to queue despite the long queue.  The stall also benefits, it could get more income as they could serve more customers within the same period.

However, the stall owner might realized that the arrangement could be improved further. For example, not all customers would want extra gravy or curry.  The 3rd stall keeper was not as busy as his colleagues.

The 4th stall keeper, the cashier, was busy with money (the stall does not accept cashless payment), worse if the customer gave him a big note. For takeaway, he need to close the box, get one plastic bag and put the box[es] in the plastic bag.  This was slower than the speed the first three stall keepers in serving the customers, caused a delay.  It was uncommon to see three to four customers waiting to pay.

Today,  I came to Esplanade Link’s food court again and I noticed the layout of the stall changed a bit and I noticed the queue was even faster.

There was no change in roles and responsibilities for stall keeper ‘1’ and ‘2’; however once stall keeper ‘2’ completed the order, he would hand it over to the cashier, who occupied the space originally meant for the big bowls of curry and gravy.

Customers would make the payment.  The cashier did nothing but accept the payment.  If the customer did not want to get curry or gravy, he would simply pick the dish and leave. For customer who want extra curry or gravy, he simply moved to the left and then scoop the extra curry or gravy himself from the giant bowls.

Stall keeper ‘4’ was responsible to put the boxes to the plastic bag or to get the porridge.

This simple improvement, swapping the role of stall keeper ‘3’ and ‘4’, is brilliant.  It removed bunching at the cashier – when the cashier was busy putting the takeaway box[es] into the plastic bag, which slowed down the whole process.

Customers who eat in the food court and who don’t want to get curry/gravy could immediately pay their meals and go.  The queue for them was faster; other than there was no bunching issue, they also skipped the gravy/curry step in the previous process.

For customers who want extra curry or gravy, they could get the curry/gravy themselves.  As there was no bunching, they could get the food faster.

For takeaway customers, the experience may be the same as before, or perhaps slightly better because there was no bunching.

This small improvement does improve customers experience, simply because the queue moved faster and they could get the food faster.

I am not so sure whether there is a financial benefit, too.  However, as the queue moved faster, it would lead to shorter queue, which may attract more customers.

Whether the stall owner realized or not, he had improved the process and customer experience. He also showed that such activities could be done even by small business like his.  Huge Improvements could be achieved by simple (and looked trivial) changes, such as swapping the stall keepers.

</>

 

 

 

Two Lessons for DevSecOps from Grounding of 737-MAX

As an IT professional who is working DevSecOps and with strong interest in Aviation industry, I learnt some lessons from the grounding of 737-MAX series.

Automation is Essential but People Need to Know What Automation Does

The crash of ET302 and JT610 might be due to MCAS (Maneuvering Characteristics Augmentation System). The computer reads attitude of the plane and in certain situation it would intervene. It is meant to assist pilots and in ideal situation the pilots would not notice.

In DevSecOps, automation is essential; in fact without automation, it is not possible to achieve DevSecOps. Tools are used to achieve automation.

Use it right and in the hand of good engineers, the tools would do wonder. The DevSecOps would be able to deliver features, fixes, and updates frequently to deliver business values.

US Airway flight US1549 showed how a pilot, Capt. Sully, was able to utilise automation (in the form of auto pilot) to help him to steer the crippled plane before ditching on Hudson River.

In contrast, the computer on Air France flight AF447 provided warning to the pilots that the plane was stalling and approaching terra firma; however the pilots did not respond to the warning and only at last minute it figured out what happened, but it was too late.

In DevSecOps, it is common to mix different tools from different vendors. Each tool has its own strengths and the organisation may have its specific needs and constraints that dictate the tools used.

An engineer who is clue-less on the tools would make DevSecOps fail to deliver its value.

The engineer must be familiar with all of those tools. Using the tools everyday, however, does not make an engineer familiar with the tools; it was simply making the engineer as operator.

The engineer is expected to know how the tools work, how the tools interact to each others, how to exploit each individual tool, how to interpret the errors generated by the tools and how to fix the issues.

Not easy, but at least the engineer could quickly recover the tool-chain when there is/are error[s].

If an engineer is not familiar what each tool in tool-chain does, then he would not know what to do when something unexpected happened. In DevSecOps, it would simply created delays.

Unmanageable Technical Debt will Snowball to Bigger Problem in the Future

The Boeing 737-MAX is the latest variant of the venerable 737 series that started in the 60s. Throughout the years, Boeing kept improving the plane. It accommodate bigger engines, longer airframe (for bigger capacity), etc. It makes the plane still relevant, especially after Airbus rolled out A320s in the 80s.

However, what Boeing has been doing was simply continuously tweaking the plane. As the landing gears are not high, there is a limit on how big the engines 737 could use. Boeing has been tweaking the engine pylons so much that on 737-MAX the pilot needs to be assisted by the MCAS.

The Boeing 737 design has limited the changes that Boeing could do. It has become a technical debt but nothing was done.

Likewise in DevSecOps. While meeting the objective to deliver business values is very important, the technical debt also matters. Delaying addressing the technical debts would simply make the problem bigger and soon or later becomes unmanageable and affecting the business.

It is important for the organisation and DevSecOps team to allocate time and resources to address technical debt. It is either to be done in specific sprints/releases or inserted as part of releases.