By James Stuber @uberstuber

Alex the Plant Manager has returned home from a hectic day at the factory. Hoping to unwind, he decides to try a new game. Alex has loved trains since childhood, so he is delighted when he discovers Mini Metro.

The clean, minimalist game promises to be a nice reprieve from his overwhelming day.

Alex loads up Mini-London and connects the first few stations. Trains shuttle between circle, triangle, and square stations with a relaxing electric hum. Each time a passenger reaches her destination, a subtle ping adds layers to the subtle background music.

More stations are added, and Alex extends his lines to service new passengers. At first it’s no problem, but soon the relaxing atmosphere starts to disappear. The music that earlier was so soothing begins to speed up. Impatient passengers ping with an angry tone instead of their earlier pleasantries. His eyes dart across the screen. More and more stations are overcrowding.

Relaxation time is over. Now Alex is in full reactive mode, putting out fires all over the map. He drags locomotives and carriages between lines, hoping to assuage the crush of passengers. All Alex can do is pray he can stay in the game long enough to get capacity upgrades.

The passengers of Mini-London are fed up with the poor service. It’s game over.

If only Alex knew about the Theory of Constraints! He could start by reading Theory of Constraints 101: Table of Contents.

The Theory of Constraints

In The Goal , Eliyahu Goldratt explores the Theory of Constraints (TOC).

TOC posits: in any system, there is at least one constraint holding back throughput. Attempting to improve throughput anywhere besides the constraint makes the problem worse.

The Goal is a great book, but the best way to learn the concepts is to use them in the real world.

While on the surface it’s just a game, Mini Metro is actually a great sandbox for practicing Goldratt’s ideas. Why?

Built in visual identifiers of flow help you quickly identify bottlenecks.

Overcrowding is explicitly punished, an equivalent to having too much inventory.

Because it’s a game, we can practice more quickly and with less risk than a real-world situation.

Just like real life the system continuously changes. This forces you into an iterative approach.

Using The Five Focusing Steps to Get a New High Score

The Goal contains an iterative method for resolving constraints called The Five Focusing Steps.

We can use the Five Focusing Steps as a decent playing strategy for Mini Metro, and in turn, use Mini Metro as a decent way to practice the Five Focusing Steps.

The Steps are:

Identify the constraint Optimize the constraint Subordinate to the constraint Elevate the constraint Repeat

For a deeper exploration of these ideas, check out Theory of Constraints 106: The Five Focusing Steps.

1. Identify:

We want to figure out where the constraint is.

In Mini Metro, there’s usually a line that’s constantly at risk of overcrowding. Lines containing rarer stations like squares, crosses, or diamonds will collect passengers quickly.

If you aren’t sure where the constraint is, make a best guess. Remember that the whole process is iterative.

(see: TOC 107)

2. Optimize:

Here we focus our efforts on the constraint. We do everything we can to optimize the constraint before adding capacity. Additional trains (capacity) are rare and expensive.

An optimized Mini Metro line has all of its trains full of passengers as often as possible. Here are a few ways to achieve that:

Shorten the line to allow the locomotive to cycle through stations faster.

Can the ordering of stations, or direction of trains be optimized to promote efficiency?

If most of the traffic is headed in one direction, use a loop to make sure the trains are carrying passengers more of the time.

(see: TOC 108)

3. Subordinate to:

Now we look at the non-constraints and subordinate their decisions to the constraint. Optimize globally, not locally.

“what subordination looks like is all but one of the resources having idle time”

It’s okay to have a spare locomotive or a spare line ‘in the yard’ and not on the board. It’s okay for non-constraint lines to have empty trains, as long as the constraint line continually has passengers waiting.

Leaving some slack in your ‘production line’ is often the best course of action. When things get hectic you’ve got the spare capacity to handle things with ease.

This is obvious in a transit game. It’s less obvious when your employees are ‘slacking off’. It’s less obvious when you’ve been reading too many productivity blogs and think you can work 12-hour days forever.

(see: TOC 109)

4. Elevate:

Now is the time to add extra locomotives and carriages. This is intuitively the step we jump to first, but carriages are a very limited resource. You may find the previous steps resolved the issue.

“because adding any capacity is extremely expensive in terms of time and money, we do it as a last resort, instead of a first resort.”

(see: TOC 110)

5. Repeat:

As your city grows, the constraint moves! If you identified the wrong constraint, you’ll now have a better idea of where to look for the real one. Repeat the whole process to keep improving flow.

We’ve played a few games of Mini Metro, learned about the Theory of Constraints, and achieved a new high score!

Spending time ‘tinkering’ and connecting ideas is an important part of improving your own productivity throughput. Video games can be a huge time sink, but here we’ve stumbled on a great game that also helped us learn about the Theory of Constraints.

I’m sure there’s more to learn from Mini Metro. Can we learn something about Networking? About Central vs. Iterative planning? What else?

James Stuber is a Design Engineer living in Seattle. He writes about connecting ideas across domains at jamesstuber.com

Further Reading:

Subscribe below to receive free weekly emails with our best new content, or follow us on Twitter, Facebook, Instagram, LinkedIn, or YouTube. Or become a Praxis member to receive instant access to our full collection of members-only posts.



