"A Good Problem To Have" … Maybe

You’ve hear it all the time. Stuff like
  • Yeah, we process about 20 orders/day manually. If we ever got to a hundred a day, we’d be in trouble, but it’d be a good problem to have!
  • The system is setup for about 10,000 users. If our user-base went up to 50,000, it’ll buckle, but it’ll be a good problem to have!
As an off-the-cuff statement, I’ve got nothing against this. However, I frequently see this used as a Business Rule, used to justify a decision that falls into the “need to do something *now*” category. And, even then I’ve got nothin against it, as long as time is factored into the decision.
The thing is, most companies aren’t growing rapidly. Oh yeah, some are, but that is a very, very small percentage of the economy. Most companies, on the other hand, are growing (or shrinking. or flat) at a very, very small rate. And for these companies, the orders/day, or the user-base, will grow 5x in, oh, two years. Maybe three.
And that means that they have plenty of time to see the “good problem to have” coming. Time to hire more people to deal with the orders, and/or redo their system to deal with the increased load. Time to deal with the issues well before they become issues. In short, time to not have it be a problem.
On the other hand, what if you’re one of those companies that is experiencing hyper-growth? For you, a 5x increase in orders or users might be something that will happen in six months, not three years! And new people take time to come up to speed — you’re lucky if you have them fully integrated in less than six months!
During hyper-growth, there is no such thing as A Good Problem To Have
The point here being that during hyper-growth, there is no such thing as a good problem to have! Oh, you have Good Things (users went up 5x!) and Problems (oh s**t, oh s**t, oh s**t, our systems can’t handle the load what the f**k are we going to do), but, and this is key, your Problems are, most definitely, Not Good. If you can’t process those orders, and/or can’t deal with the load, pretty soon your users will be gone. And that will be the end of your growth, and possibly your company.
So yeah, be if your company is growing rapidly, use this as a touchstone — every time you hear someone (or yourself!) say “That’ll be A Good Problem To Have” stop, and reassess the decision. It’s almost certainly the wrong thing to do!

Comments

Popular posts from this blog

Cannonball Tree!

Erlang, Binaries, and Garbage Collection (Sigh)

Visualizing Prime Numbers