Metrics are a very useful tool. They allow you to track variances in your application's and infrastructure's behaviour over time.

They allow you to see what's happening, and to try and predict future trends.

They help you investigate during an outage to figure out which events lead to the problem at hand.

Once you've identified which causes have lead to the problem, a common solution is to add more detailed metrics to allow you to see in even more detail what is happening. Should a similar problem come up again, you'll want to be prepared.

There's a fallacy in all this. It's the fallacy of too many metrics.

With every metric you add, you're not done by simply tracking more data.

You need to:

  • make sure the metric is visible and its meaning is documented and understood
  • decide what to do whether this metric is critical
  • figure out a threshold of when it is critical
  • what kind of alert to send when the threshold is reached
  • who to alert
  • how to respond to an alert

With more metrics being added, business metrics too (think Google Analytics, cohort, retention, customer and funnel metrics), these decisions need to be made. If a metric isn't worth alerting on, is it worth tracking in the first place?

Humans are great at detecting patterns visually, but they're terrible as monitors to constantly watch a pile of graphs. I don't know about you, but I love pretty graphs, but I don't want to watch them all day long to detect any anomalies.

Putting aside the fact that our current idea of graphs is far from being visually pleasing. I fondly remember Neil J. Gunther calling them "gothic graphs".

Metrics increase the cognitive effort required to make sense of them. The more you add, the more effort a human or a team of humans need to put into extracting useful information from them. I highly recommend John Allspaw's Monitorama talk on this topic and the follow-up post.

The answer, quite frequently, is simplification. A bunch of metrics get rolled into a more abstract value and that is displayed and alerted on instead. Unfortunately with simplification, nuances in the data get lost easily.

Add to that our very own biases that make us interpret the data in ways that let us find the simplest explanation, and you've got a recipe for disaster.

Monitoring and finding the right metrics are an ongoing process. Don't be afraid to remove data just as you add new data.

Remember that as you add more information, you also need more cognitive power to process the data during daily operations and, more importantly, during the stressful times of an outage, when we're most prone to our biases taking over rather than rational decisions.

Tags: monitoring

For a startup or a small biz in its infancy, every opportunity looks like a pot of gold.

Every opportunity that comes across looks like something you can turn into monetary value or use it to grow your product. It's really hard to say no to any of them.

It's your customer suggesting a new feature, it's a company that would like to do a partnership with you, it's a bunch of VCs that are courting you to give you a nice sum of money in return for some shares of your company.

Clearly, this new feature must be relevant to other customers and will allow you to get even more customers because you can advertise it. There are tons of reasons why you'd say yes to a new feature.

The partnership must be good for your business because it'll drive more traffic, it'll get you more customers, and two businesses benefit from it.

The VCs must be loving you, why else would they be courting you? Their offer is generous, and their demands sound reasonable. It's hard to say no, in particular because they tend to keep coming back when you do.

Saying no to any of the above seems like such a harsh thing to do.

You're afraid to lose a customer because you're saying no to them.

You're afraid to miss out on a deal that could help grow your business.

You're afraid of closing the door on future funding, even though you neither want nor need it. The offers are tempting, and VCs are full of nice words for your product.

How can you say no to any of them? How can you say no to a shiny pot of gold? Your gut says it's okay to say yes.

Science has an answer.

If you're a man, it turns out you'll be a lot more likely to take on risk because they may have strategic value. Getting more customers, making customers happy, and growing your product and company sounds pretty great as strategies.

As a woman, you're more likely to consider the empathic side of taking a risk (which all of the above involve). You're more likely to consider the effect a decision has on the people involved.

Note that these differences tend to be more noteable when you're under stress, a common state in early startups and small businesses. Doug Sundheim has a good summary on this topic.

Every decision you're making has a strategic effect, but it also affects people. It affects your employees, your co-founders, your spouse, your entire company.

In "Small Giants", a book on companies that chose to be great instead of big, there were a few examples of this, on both extremes.

One company held off their IPO because it'd mean that suddenly they'd have to answer to shareholders. Another made their decisions amongst a triad of three CEOs that would take days to consider the possible outcomes and effects of a major decision.

Or take Norm Brodsky, who, in the 80s, grew an empire of a bike courier business to big proportions, buying other messenger companies along the way. The last company he bought had much worse numbers than he was originally made aware of. He had to sacrifice his own money, he had to sacrifice his company's war chest to try and make it work.

In the end, he sacrificed his own company, as it filed for Chapter 11.

Norm wrote a great book called "The Knack", full of great advice and stories on how he's running a business, and on how he ran one of his companies into bankruptcy.

When it comes to a business, it's easy to say yes to say something without taking the time to consider the possible outcomes, putting aside the fact that you can't know all of them. There's usually a pressure to do so. VCs want to invest in you, customers want to see this feature they suggested, partnerships need to be signed off yesterday.

There's another side to the coin when you can't say no. You're wasting precious time dwelling on things that in the end may not be relevant to you. Time and attention is your most precious asset, protect it well.

You can start by saying no to things that distract you. It's okay to not listen to your gut for once and to stop letting outside pressures influence your decisions.

Use the little trick that Norm Brodsky started using after he realized that he's been taking more risk than he can chew: take a shower and think things through.

Learning to say no might be your biggest asset in finding focus for your product. Start saying it sooner rather than later.

Tags: smallbiz

For more than a year I've worked (with an awesome team) on taking Travis CI from an continuous integration platform for open source projects into a small business with a profitable product.

While this hasn't been my first venture, it has so far been the one where I focused more on the business side of things than anything else. There was some code, there was infrastructure, there was monitoring.

But the important bits aren't about any of these three. They're about a ton of other things, some of them being a big surprise for developers in particular. They deserve to be talked about, good and bad.

Running a small business is...

All About the Customer

The only thing that matters for a small business (for any business, really) is a happy customer. It helps to be happy yourself, but in the end, it's happy customers who pay the bills, and who continue to pay the bills as long as you can keep them happy.

There are a ton of ways to achieve this, and most importantly, you should have a product that they need, that they're willing to pay for.

Whatever you do during your every day, it needs to have the customer in mind. Which means one thing: you need to talk to your customers.

Even in the age of running businesses online, your biggest and greatest asset is still to be in personal touch with your customers. You need to pull your head away from code, and you need to spend time either visiting them, talking to them on Skype or at least sending them emails.

There are means to automate this, in particular emails over the lifecycle and on-boarding of a customer, but I can promise you that putting in this effort yourself is worth it. If you automate it, for instance by utilizing a platform like customer.io, make sure that a reply reaches a human (hey, that's you!)

The great part about talking to customers is that it's the best way to find out what they want, what they'd like to see improved in your product.

Most importantly, it's the only way you'll hear them say how much they love your product. Time spent with your customers is time well spent.

Not About Code

When all you do is interact with the customer, when will you finally get to write all that precious code?

The simple truth is, and this depends on the size of your initial team, writing code is not what makes you money. It sure helps to build a great product, but if you don't put in the time to market and sell it, to hold your customers' hands when they need you the most, no one will buy it.

The fact that you need to pull yourself away from code is one of the harsh realities of running a business, in particular if you're a developer by trade.

But it's the part that constantly pushes you out of your comfort zone. It forces you to talk to people, it encourages you to continuously improve your sales and marketing materials, to write blog posts regularly, to interact with your customers.

Best example is finding your price. You have to move out of your comfort zone from two perspectives. You need to put a value on your own product, and you need to find ways of showing that value to your (potential) customers, in particular when they come to you to heckle on price.

It's worth repeating: Running a small business is about anything but writing code.

It took me a long time to accept this, so it's okay to take your time, but the sooner you come around to the idea, the earlier you can work towards a thriving business.

All-Consuming

The dangerous part of running a business is that it's to easy to be excessive about every aspect of it, be it customer support, customer metrics, customer happiness, new features, marketing, blog posts, your product's availability.

It's easy to give in and not let go other than when you go to sleep. Just one more customer support email, just one more tweak on your landing page, just one more code change before you finally drag yourself away from the computer to have dinner.

From the last year's worth of running Travis CI as a business, this has been a dangerous trap for me, for all of us. It's too easy to just put in a few more hours at night instead of doing something entirely different, like reading or spending time with your spouse or your family.

It's too easy to get sucked in to working more on the weekend, neglecting your friends along the way.

This is a dangerous road, and it took me an unfortunately long amount of time to realize it. In hindsight I'm glad that I at least made sure I can spend quality time with my daughter.

Take care of yourself, of your family and of your friends. They're very supportive in what you're doing, so don't neglect them in return.

It's a noble cause to try and provide the best and fastest customer support you possibly can. But sometimes, and this may sound very heretic given all of the above, sometimes it's okay to let the customer wait until tomorrow.

Now go out, stare at clouds, have a drink or dinner with your friends or your family. Personally, I get the best ideas and fresh insight when I'm not in front of your computer, when I'm in the shower, or when I'm spending time with my daughter.

Exhilarating

As soon as the first customer hits the "pay" button, everything is starting to pay off. As soon as you get 10 or 20 more customers to pay for using your product, you will be the happiest person in the world.

There's room for a comparison to having kids, but that may be a bit of a stretch. Though sometimes, running your own business and selling a product successfully feels just like that.

Allan Branch compared the relationship to his co-founder to being married, so in that view, your product is your child, a labor of true love.

There are times when it's exhausting, when you struggle to find new customers, when you struggle to fix annoying bugs, when you struggle with customer support. But those times are offset by knowing that people are happily using something you've built, and they're even paying you money for it.

It's exhilarating.

Now keep going, make your product even better, get more customers, write another blog post.

Tags: smallbiz