As I’ve been expanding my business from its initial, very feeble, state to what it is now, I’ve had to learn a lot about picking out appropriate software for business functions. In particular for startups, the criteria for selecting business applications to help you get work done is perhaps a bit different than what you would use for a larger, more established business. In this blog post, I’m going to lay out some things that I currently consider when determining whether to purchase and application (or subscribe to it).
Probably the first thing I consider is cash flow. An application that costs $1200 a year is something I’m much less likely to buy than something that costs $100 a month, even though the total cost is the same. Generally speaking, most software vendors have this figured out already, but there are a few stragglers (some of the plugins for an email system I use have a yearly license). The trouble with only paying once a year is that it totally deforms cashflow for that particular month. Such bills always seem to come at nearly the same time, usually when revenue isn’t there for whatever reason. When selecting software for your startup, it is vitally important that you consider whether the next billing cycle on that software is going to cause interruptions and headaches because they bill on a vastly different cycle than you are paid on. It also tends to make budgeting a little more complex than it has to be, as you not only have to consider monthly expenses, but yearly ones as well. I try to avoid yearly payments for anything and have had success with the exception of a couple of plugins for my email system (roundcube). The same logic also applies for insurance payments, by the way. I have a yearly liability insurance payment that is a pain in the neck because it comes right at the end of summer and costs $1300. Were it to be $110 a month, I wouldn’t bat an eye, even though that would cost me more in total. The difference in price is well worth it when it comes to actually being able to predict funds on hand and cashflow. Also, take care to remember that if a piece of software costs you $100 a month, but causes you to earn $300 a month, cost is less of an issue than cash flow.
The next thing I consider is accessibility of the software. I do not mean this in terms of how well software works for the disabled. Although that’s important as well, it’s not as critical to me. What I mean by accessibility is how easily I can get into the software from various devices in various locations, with poor bandwidth and screen real estate. I find myself moving around a lot, whether it is working from client sites on my laptop, working on client machines, standing in line at the bank or grocery store, using spotty wifi at a friend’s house, or even using my phone in the car (while my wife is driving, obviously). Depending on the application, I may need to access the data in the application from a variety of locations and I need it to be seamless and not get in my way. For an application like Quickbooks, I typically don’t access anything except from a laptop or desktop machine. I do need the web interface in case I need to check quickbooks from a client site during lunch or while waiting on meetings to start. For other applications, such as Evernote and Toggl, which I use all the time, I need the applications to work perfectly from whatever device I use, from wherever I use it. My most frequent use of toggl tends to be in the parking lot on the way to and from my car when I’m at a client’s location. That data has to synchronize with the desktop version of the software without fail, because it tracks my time.
The third and final thing I consider is how easily I can get my data into and out of the software package. I tend to want utilities built into the application so that I can bulk import and bulk export data. I also increasingly look for an active and maintained API for any software I’m buying, as I may need to connect to it programmatically at some point in the future. In fact, unless there is a darned good reason, I likely won’t be purchasing any line of business application that doesn’t have an API. Being able to programmatically interact with my data on someone else’s service is increasingly a strategic asset for me. I’ll give an example. Initially, I started out doing time tracking in excel, but quickly found that that was not a workable long-term solution. I later switched over to using Toggl (you can get it here), which is absolutely fantastic for my needs. I can set up projects in there and start logging hours for those projects on my phone in a couple of clicks. Time tracking is pretty much a core functionality that needs to work all the time in my business, and toggl handles this almost perfectly. Now, I’m a little further along and I’m working as an independent contractor through a recruiter. The recruiter has placed me at a company that does software development for a number of clients. That company’s client is building software for another company. As it stands now, I have three timesheets I have to fill out in order for the client’s client, the client, the recruiters, and myself to get paid, plus I still need to track time for my own purposes (so I can watch for trends and the like in my business). It’s a hideous mess right now, as the client’s client simply wants the number of hours worked and the project per day, formatted in hours with decimals (in other words, hundredths of an hour). The client simply wants the project hours expressed per day, with the hours formatted as hours and minutes. The recruiters want to know when I got there, when I left for lunch, etc., down to the minute. For my own purposes, I want a minute-by-minute breakdown as well. This presents a very thorny problem, as filling out all those timesheets took nearly 40 minutes yesterday (granted, part of that was finding billing codes in the client’s client’s system). This is obviously either a waste of the client’s money or of my time (I would argue that these two aren’t mutually exclusive categories). Thankfully, Toggl has an API. It’s entirely conceivable that I could write a script that would pull the data in from toggl and massage it into a format that makes it easy for me to enter my timesheets everywhere quickly while preserving the granularity of data that I need for my own purposes. If you don’t have an API and easy export of the data in a particular tool, this sort of thing is impossible. Now, am I solving a problem with software that should be solved with better process? Absolutely. But now I have a way to handle it if I can’t solve it through better process.
When selecting software for your startup, it’s important to not only look at the cost of the software, but the total cost, denominated in dollars and headaches, of the software from the time of purchase until you retire it for something better. The cheapest is almost never the best, and “free” isn’t free. It’s important to remember that your clients are paying you to complete certain tasks or provide certain products and services. They aren’t paying you to fill out timesheets, track your inventory, manage your email, or keep track of your calendar. Therefore, you should strive to trim the amount of time that you spend in non-revenue-generating activities as much as you are able, because that frees you up to either get more work done, or to actually have free time (I hear it’s nice).