Automation & Costs

As a small business, one of the most important things we need to do is drive our costs down.  One of the best ways to do that is to automate as much of our business as possible; figuring out the best ways to do the same amount of work in less time.  That often means we then just add more tasks to the pile in an attempt to increase our value add for our customers.

A great example of automation would be our homepage.  We used to edit the Bestsellers list and New Games list manually; pulling the data from our reports to code the HTML directly.  Now, we’ve managed to automate the entire process.  It doesn’t save us a huge amount of time – probably 2 – 3 hours a month; but that’s time we can now use for other projects.

Another example is the tracking number we send out for our Shipment Information.  Again, it doesn’t take too long but a few hours a week saved here and there is worth a lot for a business like ours.

Of course, there’s a cost to all this; and that’s the cost in development time.  Since I’m not a programmer myself, that means we have to hire a developer to work on these projects for us.  If you’ve never hired a programmer / developer yourself, let’s just say that it’s not exactly cheap.  At least not the good one’s.

So it then becomes a matter of balancing costs – would paying $1000 to upgrade X feature be worth the time savings we will see? If we pay $10 an hour (for example’s sake); that means it needs to save us 100 hours of processing time to be worth it (not including the testing and development time we have to dedicate to get the project up and running).  So the question is, how fast should this return happen? 1 month, 1 year, 3 years?

I generally use a rule of thumb of 1 year myself.  With upgrades on the site and server, it’s quite possible that within a year we’d have to junk the change (or have it upgraded as well); so the returns have to happen fast.

Developing the site

We’ve been going through a major upgrade of the site recently.  There’s been a few reasons for this:

  1. Time on my part to deal with coding
  2. Time on our developers part to work with us complex code
  3. Funds for purchasing modules / development work

At the same time, we’ve got to balance both the cost of an upgrade to the site with its potential benefits.  Most changes fall into one of three major categories:

  1. Front-End Design Changes
  2. Back-End Administrative Changes
  3. Bug Fixes

Front-End Design Changes generally focus on making the website more user friendly and interactive.  So the addition of the Social Share buttons to the site, the new Checkout are all front-end design changes.

Back-End Administrative changes help us work more efficiently.  Example would be integrations with Canada Post, a stock updater and edits to our PDF invoices.

Bug Fixes are more complex.  When we can, especially if it’s a bad bug; we fix the problem as quickly as possible.  However, to fix a bug we need to replicate it.  Unfortunately, with some of our more persistent bugs in the system; they are extremely difficult to replicate.  Without going through a tens-of-thousand dollar bug-hunt; they’re just not feasible.

What to Fix & When?

The obvious constraint is funds.  All these changes require funds – whether its purchasing pre-made modules that should work out-of-the-box or having our developers write the code for us specifically.

The Benefit of the change is another major factor – if it’s fixing a major bug or adding a new, must-have feature to the site; we’ll attempt to get on it immediately.  However, some projects are multi-week projects and those then require both the funds and the free time to complete.

Lastly, there’s the Complexity of the project.  It’s why you see a lot of small, simple projects done before the major changes.  Since I can hack my way around basic code; I tackle all the small projects when I have time; leaving the complex code problems to the real developers.