Do you know how much your software costs you? This is the software that you own, as well as the software that you write and maintain. Dont worry, I will tell you up front that this is a trick question.
Even seasoned IT executives and technology industry analysts have a tough time putting a hard figure on the total cost of ownership (TCO) of todays packaged software and custom applications. Software TCO is a popular buzzword representing how much it actually costs to own software over time. In our industry, each residence is running a program you wrote and for which you are responsible.
As a software engineer, I helped drive several TCO studies in the IT environment. In this article, we will explore the direct and hidden costs of control software, and the tradeoffs between the investment model and the outsourcing model.
In computing the cost, integrators tend to focus on the purchase price and initial implementation. Some software we use is free, such as tools used to build control software from leading automation companies. Yet even when fully operational, software is never free. It must be supported, maintained and upgraded. IT industry analysts estimate that the cost of maintenance equals or exceeds the cost of software, and can be as high as two or three times the purchase price over the life of the software.
There are hidden costs, too. For control software, a functioning residential system has inertia: no one wants to modify it because we finally got it running! An integrator I spoke with told me that his customer was excited to buy a new PVR for his system because they were now under $100. But re-programming the control system would cost about $1,200. The integrator is at a choice point: does he charge what its worth and risk alienating his customer? Or does he absorb the costs to make the customer happy?
Some integrators have one or two over-worked programmers on staff. They often share in project management tasks. This situation is not unusual as integrators try to operate lean, by reigning in costs along the way. Unfortunately, this form of economizing just shifts the expenditures around. Margins erode in go-backs, unfinished module completion and re-testing on site. Though these may be attributed to installation costs, they are really software costs. This example shows how TCO is related to profit.
How can you turn software development into a profit center?
The answer is to choose a software strategy and commit to it. Several options are available: You can keep it all in-house, outsource the programming or buy a comprehensive software solution. All are valid strategies. It comes down to a build vs. buy decision. Lets explore the tradeoffs with an eye toward how they affect profits.
With in-house programming you maintain control of pricing, profit margins, schedules and quality. You are also solely responsible for ongoing technical support and upgrades. A strategy of investment will dictate that you implement the following, at a minimum, on all your jobs. Many of these topics have been covered in previous issues:
Gather requirements thoroughly up front and make it a repeatable process.
Write a formal software requirements specification (SRS). Charge for your time to develop this document. The SRS documents your design, and you will be able to charge for change orders later because your client signed off on every touchpanel page.
Follow a software development model. It doesnt matter which one; there are several.
Architect a software framework which 90 percent of your jobs follow.
Acquire and use a software version-control system.
Adopt good graphic design principles.
Plan for testing, and test as much as possible, and then test more. Unit test each module, and function test all assemblies.
Follow a test and revise process to make small modifications upon final installation, documenting changes in the code and in the SRS.
Provide ample, recurring training for your programming staff.
Augment your programming staff by hiring or by promoting from within. Engender employee loyalty; this will limit staff turnover, one of the most expensive errors to fix.
Some integrators feel that software development is not their core competency and would rather invest in a turnkey solution. Instead use a software house which provides an engineered, documented, warranted custom solution. If you want to outsource, you will want to do the following:
Choose a software house which embodies the principles above.
Check their references. Find out how they recover from mistakes.
Review some sample touchpanels.
Be sure you know how they generate fees and you know where the handoffs are.
Ask them to help you sell the design and the programming at a profit.
Make sure you receive a source-code license.
Lastly, there are comprehensive software solutions that you can acquire, where the same master control program is installed in every residence and configured. This repeatable solution leverages the providers expertise in areas such as design and quality control, while significantly lowering implementation and support costs.
Your software department can be a profit center. Successful integrators commit to a software strategy and stick with it. They minimize costs, charge for software design, and position their company and their ability to provide the customer what he or she wants.
Rich Keith is vice president of sales at Empowered-Solutions.com (www.empowered-solutions.com).