Does your customer really need the type of custom programming you’re selling? I often get a request for a quote that involves fairly standard business applications such as accounting and contact management. It’s hard to justify, to myself at least, why they’d want to spend tens of thousands of dollars when they could spend merely hundreds of dollars on off-the-shelf software.
Off-the-shelf software has some advantages over custom programming. It’s generally cheaper. It’s also available immediately, rather than the months (or years) it takes to develop and debug a custom application. The off-the-shelf software usually has pretty good technical support and a community behind it that can answer those tough questions. The customer also knows it’s likely the company behind the commercial software will be still be in existence for many years.
Custom programming, on the other hand, is expensive and time consuming. If the customer wants you to write a QuickBooks killer they’d better be prepared to wait a while and spend some serious money. Creating software that competes with established, feature-rich applications is a daunting task.
I am sometimes amazed at the reactions from customers when I give them estimates. Really!? You thought writing a QuickBooks clone would take 3 months and only cost $10k?
Most contract developers don’t provide much technical support for the product they’ve developed, leaving it up to the customer to fend for themselves. Some clients are technically savvy, but most aren’t. Is the customer going to fix the code themselves? It’s been our experience that even the few clients that know Xojo aren’t capable of changing any code other than the most trivial – otherwise they’d have written it themselves.
Clients that are selling the application commercially are sometimes unprepared to handle tech support and that’s a problem as well. If they can’t answer basic tech support questions are they going to rely on you to answer those questions? Are they paying you to do this? We had one client that assumed we would be providing free tech support, forever.
Is your custom programming business going to stick around for the long-haul? Will the customer be able to come to you in five years and have you update their application for Windows 7 or Mac OS XIII or the current flavor(s) of Linux? The customer wants and needs long-term stability. I good portion of our clients have come from Real Studio and Xojo developers that are no longer consulting.
With all the problems associated with custom programming, why should anyone spend the money on it at all? The customer gets exactly what they asked for. If they’ve done a good job explaining their requirements and you’ve done a good job implementing them, they have something that makes their business very effective, very efficient, and is tailored to their business model.
Custom software might be an asset to the client in the event they sell their business. Some of this depends upon the contract details you signed (you do have a contract, right?) before you started the project. A lot of clients are going to want some sort of clause that allows them the rights to sell the software (with source code) to another party.
Custom software allows for additions and changes to occur over time. Off-the-shelf software may be cheap, but try getting Intuit to change the way QuickBooks does their payroll or the way they handle payments. Custom software allows the customer to grow their software as their company grows. If the customer wants to integrate CRM functions into their accounting application this year and add event scheduling next year they can. It’s really only a matter of your time and their money.
When talking to a potential customer for custom programming, be honest. Tell them the advantages of custom programming. You also need to be honest about the negatives as well. A big part of dealing with clients is managing their expectations on what you can and can’t do for them.
Thankfully, by the time a client gets to us they’ve already explored off-the-shelf solutions and have ruled them out. Usually they have a very specific need that can’t be addressed with the one-size-fits-all commercial application.
Have you ever convinced a client to use off-the-shelf software rather than your custom written solution? Other thoughts?