Software Development Recommendations for a Small Business
"Jacques" wrote to me about his office systems:
Sometime in 2001, I started writing VBA macros for Office 2000, to automate certain recurring tasks for my company. But lately, it seems they will need to be revamped, to be able to cope with an ever-increasing demand. Existing software for coordinating customer requests cost thousands of dollars and they don't really seem to do exactly what I want done. So, I rely on an Excel-based system. I input data into my system and it uses conditional formatting (for example, to highlight a job that is overdue) and macros (to print a work order). The system works just fine, but it really does need to be upgraded.
I have attempted to write a macro that will copy part of a worksheet into a Word file, name it using a number found in a particular cell and save in a folder using that same number. When that didn't work, I spent a whole day downloading Visual Studio 2010 and, once installed, discovered that it didn't really help at all …
Can you suggest something to help me out?
Jacques' question got me thinking about this problem.
It's a question that I have heard over and over again from people just like him. I decided to see if I could put my ideas into a form that might help him and the millions of other small business owners.
First of all, Know Thyself!
The ancient Greeks carved this advice into stone in the Temple at Delphi and it's something we should all work at every day. But it's especially critical when thinking about what to do to automate your small business. It's fundamental at so many levels. But the most important question you need to answer is: "Just what are you willing to do, personally, to get the job done?"
For example, for some systems, you might have to give up all your free time or turn the operation of your business over to someone else so you can concentrate on writing the code. Or are you just willing to throw a few hours at the problem every now and then when nothing else needs your attention?
I'm not saying that you do have to become a full time programmer to write systems for your company.
Far from it. Jacques' success in writing Excel macros so far proves that you can do a lot. I've seen one-person systems that are absolutely jewels of sophistication and utility. It can be done. But you have to really be willing to go for it. If working on your own computer systems isn't something that you want to do, you probably won't get it done. Or, at least, not very well.
Look yourself in the mirror. Do you want to write your own software? It's the question you should answer first.
What is your time worth?
When I was an engineering student, I also took a lot of economics classes because they were interesting to me. One of the economic ideas I remember learning about is called Utility Theory. The basic idea is that what you're willing to pay for something is related to how much good it will do for you. I also remember my econ professor spending the next several class sessions proving with example after example that people just don't behave that way. Almost no one actually thinks, "Hmmm ... New car payment equals rent payment. Which one will do me the most good?" That's one reason you see "For Sale" signs in the back windows of cars you see on the street.
In the case of writing your own software, you should actually try to use Utility Theory. Ask yourself, "Will an hour working on my own software pay me more than an hour spent on my actual business?" If you're someone like an accountant or attorney and you bill by the hour, that might be easier to do. But everyone considering this question should try to weigh the two options. And if the answer is clearly that your time is more valuable working your own business, that should be a primary consideration.
Does your business need unique software?
Recently, a friend asked me about creating a web site for his business. Since I tend to think in code, I started telling him about ASP.NET and back-end databases. My friend was smarter than me, however. He discovered that web service providers today will sell you a package deal including everything needed. All he had to do was pick out colors and provide a few graphics. I checked out his site recently and it looks great. And, trust me, this guy did not write any code.
On the other hand, it's entirely possible that a highly customized system will give you a competitive edge that will grow your business faster. Clearly, the unique computer systems at Amazon.com have been a primary difference that has made them such an outsized success. You have to ask yourself, "What am I doing that is unique and different?" If you can't think of anything, you might want to look again for off-the-shelf software.
But suppose you do need your own custom software. On the next page, we look at how to get that done.
Sometime in 2001, I started writing VBA macros for Office 2000, to automate certain recurring tasks for my company. But lately, it seems they will need to be revamped, to be able to cope with an ever-increasing demand. Existing software for coordinating customer requests cost thousands of dollars and they don't really seem to do exactly what I want done. So, I rely on an Excel-based system. I input data into my system and it uses conditional formatting (for example, to highlight a job that is overdue) and macros (to print a work order). The system works just fine, but it really does need to be upgraded.
I have attempted to write a macro that will copy part of a worksheet into a Word file, name it using a number found in a particular cell and save in a folder using that same number. When that didn't work, I spent a whole day downloading Visual Studio 2010 and, once installed, discovered that it didn't really help at all …
Can you suggest something to help me out?
Jacques' question got me thinking about this problem.
It's a question that I have heard over and over again from people just like him. I decided to see if I could put my ideas into a form that might help him and the millions of other small business owners.
First of all, Know Thyself!
The ancient Greeks carved this advice into stone in the Temple at Delphi and it's something we should all work at every day. But it's especially critical when thinking about what to do to automate your small business. It's fundamental at so many levels. But the most important question you need to answer is: "Just what are you willing to do, personally, to get the job done?"
For example, for some systems, you might have to give up all your free time or turn the operation of your business over to someone else so you can concentrate on writing the code. Or are you just willing to throw a few hours at the problem every now and then when nothing else needs your attention?
I'm not saying that you do have to become a full time programmer to write systems for your company.
Far from it. Jacques' success in writing Excel macros so far proves that you can do a lot. I've seen one-person systems that are absolutely jewels of sophistication and utility. It can be done. But you have to really be willing to go for it. If working on your own computer systems isn't something that you want to do, you probably won't get it done. Or, at least, not very well.
Look yourself in the mirror. Do you want to write your own software? It's the question you should answer first.
What is your time worth?
When I was an engineering student, I also took a lot of economics classes because they were interesting to me. One of the economic ideas I remember learning about is called Utility Theory. The basic idea is that what you're willing to pay for something is related to how much good it will do for you. I also remember my econ professor spending the next several class sessions proving with example after example that people just don't behave that way. Almost no one actually thinks, "Hmmm ... New car payment equals rent payment. Which one will do me the most good?" That's one reason you see "For Sale" signs in the back windows of cars you see on the street.
In the case of writing your own software, you should actually try to use Utility Theory. Ask yourself, "Will an hour working on my own software pay me more than an hour spent on my actual business?" If you're someone like an accountant or attorney and you bill by the hour, that might be easier to do. But everyone considering this question should try to weigh the two options. And if the answer is clearly that your time is more valuable working your own business, that should be a primary consideration.
Does your business need unique software?
Recently, a friend asked me about creating a web site for his business. Since I tend to think in code, I started telling him about ASP.NET and back-end databases. My friend was smarter than me, however. He discovered that web service providers today will sell you a package deal including everything needed. All he had to do was pick out colors and provide a few graphics. I checked out his site recently and it looks great. And, trust me, this guy did not write any code.
On the other hand, it's entirely possible that a highly customized system will give you a competitive edge that will grow your business faster. Clearly, the unique computer systems at Amazon.com have been a primary difference that has made them such an outsized success. You have to ask yourself, "What am I doing that is unique and different?" If you can't think of anything, you might want to look again for off-the-shelf software.
But suppose you do need your own custom software. On the next page, we look at how to get that done.