Buying vs. Building Your Marketing Solutions – Evaluating the Costs of Custom Software Development on the Force.com Platform
- AUTHOR Dan Appleman
- December 6, 2016
- No Comments
If there is commercial software available that solves even part of a problem you are facing, it is almost always far less expensive to purchase the solution than to build one yourself.
Every software vendor, no matter what the application, will occasionally hear from a prospective customer something along the lines of “your product looks great, but it’s so expensive – I think we’ll just build something that will let us get by for now”
Whenever I hear that comment, several clichés come to mind: “famous last words”, “the road to hell is paved with good intentions” and “you have no idea….”
Perhaps that last one is the most important – especially when you finish the sentence. Because if you’re a marketer, you probably have no idea how much software really costs. That’s understandable – the truth is, most software developers don’t really know how much software costs either.
So let’s say there’s some marketing software that costs $30,000/year. That’s a lot of money. Let’s say you have a Salesforce developer on staff – why not let him or her write something customized for your organization that will let you get by? It may not have all of the features of the larger application, but you don’t really need them, do you?
This looks good from a budgeting perspective – after all, you’re already paying for the staff developer and perhaps have budget for some extra consulting, and you’d have to find additional budget for that $30,000/year marketing tool.
So the question is – how much does that “little bit” of custom coding actually cost you?
Staff costs for Force.com developers
You’re paying quite a bit for Salesforce developer in terms of salary and benefits. And that person is probably already fairly busy. Add this project in to the mix, and something else isn’t going to get done. How much is that going to cost?
Next, there are developers and there are DEVELOPERS. Salesforce will call people who write formulas, workflows and reports developers, but that doesn’t mean the person can write Apex code – a much more advanced skill, and one that may be required for anything sophisticated. And it’s not enough to get someone who has basic Apex skills – you’ll probably need someone who has real expertise – and they are expensive. A top developer will anticipate issues that you probably haven’t considered, and will make sure they are dealt with ahead of time.
Maybe you can bring in a consultant to help? Consultants are even more expensive than in-house staff – and they need to be managed properly (which will take your time and your developer’s time). If you don’t manage them correctly you won’t get what you need and the project will fail – that money will be thrown away. It happens all the time.
Think you can save money by offshoring the work?
That requires even more careful management – and will be a slower process. To do this right, you need someone on staff who has at least the same level of expertise as the people you are hiring – otherwise you won’t know if what you’re getting is any good.
After the coding – understanding your full costs
Did you know that the cost of actually writing software and the associated unit tests represents only about 10% of the cost of a software project? If you add the time to specify requirements and design (and much of that will be your time), that only goes up to 30%.
Here’s where you’re going to be spending money:
- Documentation and training. If you don’t do this, what will happen to your organization when the developer or consultants who built the project are no longer around?
- Maintenance. You will need to update your software – both for new features as your business process changes, and to adapt to changes in the Salesforce platform over time. Maintenance typically costs twice the original development cost over time.
- Internal support. Who is going to answer questions about the application you built? Are you? The developer? Or will you have to hire someone new to support it?
Developing, testing and deploying software takes time. In fact, it almost always takes longer (a lot longer) than you expect. It’s much faster to buy, deploy and configure an existing software package. Presumably you won’t even be interested in the software if you didn’t feel it would pay for itself in terms of improved marketing effectiveness and increased sales. How much will it cost you to delay those benefits by months, with no assurance that what you are building will ever work? (Remember – a large percentage of software projects fail completely).
Every good manager struggles to spend money in ways that are cost effective and help generate increased revenue. This is especially true of marketing and sales executives. But to do so, you have to be able to accurately measure costs. It’s easy to measure the cost of a marketing campaign. It’s easy to measure the cost of purchasing software or a service. But unless you have a very strong technical background, it is extremely difficult to accurately measure the cost of custom software development. Even experts have a hard time doing so. Even if you can estimate the cost to build the initial application, that represents just a small part of what the software is going to cost you.
As someone who has both worked as a consultant and as a developer of software products and services, I promise you this: if there is commercial software available that solves even part of a problem you are facing, it is almost always far less expensive to purchase the solution than to build one yourself.
You already know this in part – otherwise you wouldn’t be using Salesforce in the first place.
Here’s another way to look at it. Your Smartphone is a platform. Let’s say you travel a lot and you’re not happy with the alarm clock application because it doesn’t handle multiple time zones. Would you write your own? Would you hire someone to write one for you?
Of course not – you would go to the appstore and buy one.
Salesforce is a platform too. And being an enterprise platform, both the platform and applications tend to cost a lot more. But the concept is the same – those costs are small compared to the benefits received, and are a small fraction of the costs of creating the application in the first place.
Building your own custom applications should always be a last resort – because it always costs more than you expect.