Instrument Your Business

Instrument your business. It's like instrumenting your code, but profitable.

If you're a developer or a sysadmin, periodic optimization is a fact of life. As more people use your code, you'll see performance issues. Unoptimized use cases bubble up. Systems get strained by continued or heavy use.

On the technical front, there are a lots of instrumentation tools available. We've used ruby-prof, Request Log Analyzer, Scout (of course), MySQL Tuner, httperf, and Rack::Debug. Not to mention low-level tools like top, vmstat, iostat, etc.

The point is this: anything that gets used a lot can be optimized. To optimize you need visibility. To get visibility, you need tools.

It's exactly the same with business

If you're a developer-run business, you should take the same attitude towards optimizing your business as you to do optimizing your code. It's a good sign when you get to this point, because it means you have traction (e.g., something to optimize). How can you instrument your business? Start by asking questions:

Asking questions is the beginning

These questions don't stand alone. Just as instrumenting your code won't make it run faster, gathering information on you business operations won't magically generate more revenue.

That said, it's amazing how just gathering the data steers you towards greater profitability. As a developer, you are naturally driven to solve the problems in front of you. Get the right information in front of yourself, and I bet you're revenue will increase.

In business, optimize early and often

This is a key difference between technical optimization and business optimization. In technology, it's often said that optimization is the root of all evil:

In business, exactly the opposite is true. Business benefits from instrumentation & optimization early. Can you even imagine being accused of making too much money, too soon? In business, instrument early and optimize early.

Hackers rejoice

A positive note if you're a hacker: instrumenting a business can be really, really fun. Think about it: your aim is create a life-sized positive feedback loop of data collection, analysis, optimization, and results. And you'll frequently get to write code to glue it all together. Best of all, a job well done means more money is generated, which enables you to pursue more optimization. You really can't beat that!

image credit: http://www.flickr.com/photos/captbrando/3336992646/