When optimum lies

This post from Assaf reminded me a of book written by M. Goldratt that I read a while ago: The Goal. It’s about industrial production, which isn’t really like software development buy hey, apples and orange look different but they both grow out of a tree. So here is the setting as given by Wikipedia:

The main character is Alex Rogo, who manages a metalworking plant where everything is always behind schedule. His distant acquaintance, Jonah, who represents Goldratt himself, helps him solve the company’s problems through a series of telephone calls and short meetings. A second story line, which only occasionally intersects with the main topic of the book, describes Alex’s marital life.

So basically this Alex Rogo runs the worst factory ever. They’re losing money but he can’t figure out why as all the indicators are green. His production line is efficient, all indicators on each link of the chain are close to optimal (in production there’s well known formulas to optimize the throughput of each single machine), sales are good and there’s enough stock to back that up. So why are they always late?

What we discover in the book with Alex Rogo, is that the final goal of his company is (very surprisingly) to be profitable, not to optimize how many pieces can be produced by machine #12 operated by Joe and Bill. Seems pretty obvious said this way but it’s also really easy to forget when you’re deep down into numbers. Sometimes, when it’s part of a bigger system, making a machine slower can actually increase the global throughput. Think about freeways, where forcing the traffic to slow down can prevent the creation of jams.

Most performance measurements have the same flaws: your assumptions. Be it the performance of your complex software, of your site to attract traffic and of your development team to release on time. Always think of the bottom line first, check which detail influences the bottom line (you just don’t care about the others) and when you’ve found an improvement, get back to the big picture. Just to make sure that your improved local measurement doesn’t cause an overall degradation. There are many traps in efficiency.

Note: amazing photo borrowed from Saanidhya.


No comments yet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: