I Want to Own my Own Software — Really?

Here is a plea from a small business owner who wants to own their own software:

“I had a programmer, who is no longer in the picture, develop software for me.  He placed the program on his server. I can use the program but, I cannot register others to use it, etc. I need someone to put the program on MY server where I have control.”

OK.  So you own the intellectual property rights to some code that helps your business succeed.  But what if your business needs change?  You still need someone to take responsibility for understanding that code, have the skills to modify that code, and be interested and compensated sufficiently to continue to support that code.   If you own it, now you are in the software business.  You need to keep an employee or contractor interested in your business application long enough to survive the next operating system or framework upgrade, business process change, or hardware upgrade.

What if the framework vendor decides it no longer wants to support that framework?  Vendor acquisitions, product sunsets, or management changes usually result in someone (or a lot of someones) rewriting the same code over again every 3-5 years.   So now your precious intellectual property is made obsolete by forces beyond your control, those external forces operating behind the scenes that only seasoned IT executives understand all too well.

But you just want to run your business as efficiently as possible.  A software package made for your industry seems appropriate.     That is, until that vendor gets gobbled up by a competitor or makes upgrades to features you don’t use.  Again, you are back to  rebuilding into code your unique business process–your trade secrets–that make your business run efficiently.

Standards.  Yes, the answer is standards.  But what is the standard today?  When and how will that standard change over time, and will that affect your application code? This is a moving target that is at the bleeding edge of the software field.  For business applications that process transactions, does this really need to change as often as software vendors churn out new features?  Why should your IT support persons change more often than your accountant?

Business computer systems serve two purposes.  They keep track of Things and they keep track of Events (i.e. transactions).  For example: “Sold 34 Widgets on Thursday”.  “Widgets”=Thing.  “Sold 34 on Thursday”=Event.  Not a lot has changed in 40 years with respect to the technology needed to handle this.  HTML behaves like CICS.  Relational databases replaced ISAM.  The software industry’s penchant for “new and improved” is why spreadsheets run half the world.  But I digress.

If you focus on the SERVICES related to keeping order among your chaos, you will likely succeed with less technology pain.  Like having a good CPA keep track of your books or an ATTORNEY keep track of your contracts, having a good professional keep track of your software applications will likely make you more successful, measured in your preference of either more profit or more free time.

So what is this type of “professional” called?  There isn’t one name for such a person.  There are no well known licensing boards certifying information technology professionals.  In fact, if you asked a hiring manager (or professional recruiter for that matter) what to look for in an information technology professional, they would list a litany of products, technologies, and programming languages.  If carpenters were hired like programmers, the interview would go something like this.  If you read that link, you get my point.

Bottom line, technology matters, but only if you have the professionals who can sift through the pile and find your pony in there.