Homegrown Software in Municipal Organizations
Should software development be a core business function in your municipal or county government operation?
Does your organization build its own cars, trucks and buses? Do you make your own office furniture internally because it has to be really special? Do you manufacture your own pens, pencils and computers? Then, why on earth would you write your own software?
A Brief History of Municipal Software
In the olden days of MIS (Management Information Systems), many MIS people understood business systems, especially finance and accounting systems and knew how to build them from the ground up. There wasn’t a great deal of commercially available software and even when there was, it ran on a mainframe or mid-range system like a System 36, AS400, MicroVax or UNIX system that required expert maintenance. Building business systems was part of MIS training and knowledge. This is no longer true. Younger generations of IT people (MIS people are retiring in droves) are trained to build and support modular infrastructure systems, but not to build business systems like financial accounting software from scratch. Extensive training in business processes is no longer part of the education of the average IT employee. Yes – there are exceptions and I am sure you can show me those.
In the county, municipal and K-12 markets, someone has developed a commercial software application for just about every business process and function you might require. It’s a big market with 59,000 potential commercial customers. If you are for some reason considering custom or internally written software, I would like to ask you a question: What is so different, unique and special about your organization that you need something that none of the other counties, municipalities and schools in the country need? Maybe you can surprise me and show me the business case, but I doubt it. The need for custom software should be rare these days.
We Are Special!
Maybe your programmers or end-users insist that no commercial software can work with your unique business processes because you are the only municipality in the world that sends out sewer bills your special way. If that is the case, you should be asking why your business processes are so different from the rest of the world that you would need custom software written internally.
Continuing the Legacy
If you do have a programming staff, there is a good chance their primary job is to provide life support and intensive care for your homegrown legacy system that was written decades ago. While the programmers were at it, they probably kept developing other custom programs to justify their jobs. If this is the case, you may have a huge jumble of poorly documented and inefficient software that requires constant care and feeding. Some of it probably isn’t even being used and the software may not be able to compete with what is available in today’s market. Start planning now to make an orderly exit from the homegrown software business. It may take several years, but it is worth the effort.
What is the TCO and ROI of Homegrown Software?
Let’s take a look at the cost of an in-house programming staff for a mid-size County with 6 programmers.
I’m being really conservative here and this is a very simplistic model, but it demonstrates the reality of your in-house software production. All of the variables for your situation may be different and your programming staff may be smaller or larger. However, you can buy a lot of commercial software for $800,000.00 a year! Moreover, the annual support cost for commercial software in subsequent years may be in the vicinity of $150,000 with commercial software, so you will be saving over $600,000 a year after year one. Forever! You could do a lot with that money. While your case may require much more complex calculations, the bottom line will be the same: your in-house programming staff is costing you serious money and possibly not delivering ROI that is consistent with the cost.
Hidden Costs & No Economy of Scale
There is another cost of custom or in-house software that is not easily represented in terms of dollars. That is the cost of a product written for a single customer with no economies of scale. Commercial software that has hundreds or thousands of installations has been vetted nationally and programming mistakes are found quickly. Software products used only by one customer often have errors that are not identified for years or decades, if ever. I have seen examples where reports were wrong for years, tax bills that went out for years with mistakes, etc. Once discovered, these mistakes could cost you millions if you have to provide refunds or end up in litigation as a result. Or, you may have lost millions of dollars in revenue because you have been undercharging due to programming mistakes.
We’ll market and sell it!
I have heard this proposed more than once – municipal employees suggesting they develop a software product and then sell it to other municipalities in order to recoup the development costs and make a profit. Those are twilight zone moments for me and it takes a few minutes to recover from the shock. While I am recovering, I am hoping the Mothership will beam me up before I have to craft a diplomatic response. They have no idea of what is involved in developing, testing, debugging, marketing, selling and supporting a commercial software product. Stick to your core business of delivering government services and do it well.
Just Say NO to In-House Programming
There are cases for which custom software is appropriate and if that is your case there are outstanding custom programmers available who can fulfill those needs. Contracting programming services is generally a better business decision than maintaining a permanent in-house programming staff unless you have a really large operation. If the job is done right, it will only need to be done once.
Don’t get involved with in-house programming if any other option is available. And there are almost certainly other options available. You always have a choice and this is a choice about making a good business decision. Get out of the custom software business and buy off-the-shelf products with long-term, expert support contracts.by