There are three things that are crucial when starting a company: selling, selling and selling. OK, actually, there are four things. Cash flow is king, too. As I write this the Dow is down nearly 3000 points over a 4-week period, the commercial paper and interbank loan market have completely dried up, and it’s getting harder and harder to borrow money. The bottom line is businesses need to do everything they can to make the money they do have go further.

When we started out, the one thing we focused on was our “time to expiry” — the amount of time that we had until we would be insolvent without winning any more business. It’s simple: add the money coming into the company (sales), and subtract the money going out (salaries, office space, etc.) and plot that over time. At some point in the future, the graph will drop below zero. If you reach that point, without any more sales, it means you’re out of cash.

Focus religiously on this event horizon. There are two ways to push back the zero date. Sell more stuff, and reduce your costs. This article is about our experience with the latter. I could start talking about the former, but you’d have to pay me.

Obelix!

When we finally grew large enough to be able to afford our own office, we spent a while looking for a decent, cheap, expandable phone system. We didn’t, and still don’t, trust VoIP as a 99.9% reliable service, so we were set on some sort of switch connected to a few ISDN lines.

I couldn’t believe the quotes we were getting from suppliers. Many, many thousands of pounds for a simple switch that connects phones to ISDN lines. You want to add another 16 phones? That’ll be another £3000! You want to store the call data in a database? £2000, please. Oh, and the phones cost a fortune, too.

Then I heard about Asterisk. Asterisk is a Linux-based open source software stack that can drive any number of ISDN cards that are available. OK, the cards are about £500, but we had a spare PC lying around and Linux is pretty cheap! Some hacking around later (OK, OK, about two days‘ of hacking!) and we had a working setup using VoIP internally, which is then bridged to ISDN lines when calls go into or out of the office.

The phones we use are £70 a throw, so in total we managed to save about £3500 right off the bat. Then there’s the saving in cabling: we only need one network in our office. Adding phones just costs us the price of a new phone, not £3000 for an add-on to a proprietary system. Finally, we have a system that we actually understand, so we never need to call an engineer to change a dial plan or add some phones; we just SSH into the asterisk box and fire up vi. We have voicemail as email attachments, conference calling, “intelligent” call forwarding, group pickup, call logging, etc. It’s all there — Asterisk is just great.

Office space

OK, you want to sign a 2-year office lease to get the best possible space, but you know you won’t be able to either fill the office or afford the rent for the first 12 months. The solution? Sub-let.

Stick an ad up on Craigslist (or Gumtree if you’re in London, like us) for the desk space, charge by the month and wait about 4 weeks. By then your office will be full and you will be getting extra money in to cover the rent.

Just make sure you check with the landlord of the property that you are legally allowed to sub-let or even better have it written into the contract. We actually had a better response for desks than we initially imagined, meaning we got to pick and choose our desk neighbors. The selection criteria boiled down to two things: do we get on, and can we potentially work together on projects? It’s very useful to have a top-notch bunch of Flash developers downstairs that we could use to complement our current skill set.

Decamp

Basecamp is very successful and rightly so, it’s an extremely good project management tool. However, you can get a very, very similar application at a £0/month price plan. Project Pier is fork of another project that was open source but has since gone the paid-for route. The project isn’t very actively developed, but it’s more than good enough to satisfy a large proportion of what you get with Basecamp.

Manage your own email

If you have someone in the company who understands what postfix, snmpd, smtp, httpd and sshd are, and you’re already paying for server hardware infrastructure, don’t bother paying someone else to do your email hosting. Run it internally. Get your Linux geek to do all that server management stuff. Consider whether you really need push email. Surely getting your email every 15 minutes is good enough, right? If so, dump the Blackberry/ActiveSync phone with the pricey license fees, and go IMAP. It’s open and it’s free.

Who said spam?

Like I just mentioned, we run our own SMTP server. Slowly, predictably, our email addresses started attracting spam. There are a load of companies out there that will filter your email for a pretty penny, but don’t call them. Just download ASSP, spend a day playing with it and away you go. We’ve gone from more than 200 spam messages per mailbox per day to about one per day, with no false positives.

Free banking

OK, I admit it, right now I hate my bank. Their service is far from ideal, but they don’t charge us a penny for running the account, paying checks in, or calling them. Anything that can reduce the pressure on your cash-flow is a good thing, and free banking, warts and all, is a good choice for a start-up. It pays to shop around and see which banks offer free business banking. Also watch out for teaser offers: some banks offer free banking for a year, but you have to pay for things (like giving them money! Crazy, huh?) after that. You plan to stay in business for more than one year, right?

VirtualBox

We write web applications, which means we spend a lot of time testing web applications. Testing across browsers and O/S versions used to be very painful, but with the advent of virtualisation software it means you can test across systems without getting out of your seat. We used to use VMWare, which did its job, but the open source VirtualBox is just as good, and has a much better price point: free!

Server said what?

We run a number of servers for our clients, and it’s important to be able to keep tabs on them. Their bandwidth usage, memory usage, what they’re having for dinner, that sort of thing. Cacti is an SNMP-based tool that just plain rocks. It runs as a web application, monitoring other servers in the background. It records all their data points, and allows you to view all sorts of metrics through the web front end. SNMP clients are free under Linux, but you can pay big bucks for commercial management tools. Cacti does the job for general web serving just fine.

Of course, every now and then things do go wrong. When they do it’s important that you know about it before your client does. Nagios does the job of server monitoring really well. (Just remember to use different infrastructure for your Nagios server, otherwise you’ll have a hard time being alerted of your network going down if Nagios is on the very same network!)

Colleague said what?

Don’t waste money on something like Campfire; just compile an IRC daemon and run that. Old Skool! You can’t easily post and share images and documents like you can on Campfire, but you can get a long way with ASCII art…OK, so maybe this one is a bit of a stretch.

He’s no longer the Richest Man in the World

Seriously, don’t bother with Microsoft Office, the beta releases of OpenOffice 3 are top notch. It handles the new Office Open XML standard perfectly well, and can export to PDF in a single click. The OSX version is really, really good too. In fact, it’s helping me write this!

For all you cloud-lovers, there’s a number of collaborative solutions like Google Docs, Zoho Writer and a cool Flash-based application, Acrobat Buzzword.

Squash those bugs

Bugzilla always seemed like overkill for projects with less than 10000 issues. We ran the company for about four years with Mantis, which did the job admirably. It’s free, simple to use, easy to set-up and does the job just fine.

Being totally honest, though, a while ago we splashed out on JIRA. Although it goes against the grain of this article, I believe that you need to spend your hard-earned cash when it really is necessary (more on this a bit later). Our clients can communicate with JIRA via email, the permissioning is much more powerful and the application itself is far more extensible. I think JIRA is worth every penny; it’s brilliant.

Patch that code

In terms of managing your code, Subversion and Git both solve similar problems in different ways, but they are both free and just as good as any paid-for product.

Spend spend spend!

While it’s a good idea to cut costs where you can, there are a few things we think you should spend that little bit extra on. Things that make the work environment more enjoyable for employees, increase productivity and reduce overall business risk are what I feel it’s worth spending some extra money on, like:

  • Chairs
  • Physical office security
  • Off site backup
  • Coffee (oh, and get a stainless steel cafetiere. Glass ones have a mean lifetime of around 10 weeks!)
  • Monitors
  • The odd night out on the town; a great way to team-build. Recommended venues: Ice Skating by the Tower of London or Urban Golf
  • A Wii. A great way to de-stress and an excellent excuse for a 10 minute break. Recommended vices: Wii Tennis, Mario Kart and Super Smash Bros.

What’s worked for you?

In this article I’ve beeen through a few of the ways that we’ve reduced our business costs, primarily by using free software, but if you have any tips (either ways you’ve reduced your business costs or things that it’s worth splashing the cash on), please share them in the comments.

If you liked this article, check out Ben’s other Vitamin article: Easy Automated Web Application Testing with Hudson and Selenium