Business-focused custom software

Go Back

How to prevent vendor lock-in

There isn’t anything more frustrating than feeling like you have no choice. That’s one of the benefits of competition. But with technology, customers are often afraid of making a switch to a different vendor. If the current vendor is being difficult, a customer may worry that the vendor has programmed a technical "bomb" that will damage their system or reputation if they decide to switch vendors. Here are some ideas for customers to help protect their interests when working with a custom programmer:

Deal with professionals
You paid your girlfriend's cousin's high school acquaintance to build this awesome web application that powers your entire new business. You didn't bother with a contract, because he seemed "okay", and besides he was cheap. But now he's asking for more money than what you agreed to, and when you refused, he changed the web application so that it ruined your reputation and your business.

Professional software consultants do not do this. When you work with a professional, you have a contract that clearly lays out each parties responsibilities. It can also protect you from malicious behavior on the part of the vendor. So select a vendor who behaves professionally at the beginning and make sure you have a contract.

Ask for the source code
Assuming your contract allows you to have a copy of the source code, you should always ask for one. A reputable programmer won’t have a problem providing you with the source code if that is your agreement. I tend to provide a copy of the source code after every system update. This is even more important when working with an independent programmer, because with a single person, there is always a risk that something will happen to them. Recreating your software without the source code will be expensive and painful.

Ask for access to the source code management tool
This is a variation on the previous item. All good programmers have some kind of process for tracking software versions, and most use a tool for facilitating this. Many of these tools are web accessible. This may not be possible, but it doesn’t hurt to ask. I use an online tool for tracking bugs that also provides source code repositories. I don't use that feature (I keep my source code in a separate tool), but I would be willing to start using it if my customers expressed a preference.

Ask about any third party components or dependencies in use
Programmers will occasionally use external libraries or components in developing their software. This can be to your benefit because they don't have to re-invent the wheel, saving time and money. However, just because they have a license to use these external tools does not me that your next developer will. So it doesn't hurt to ask the developer to tell you about any external dependencies the software may have (and it would be even better if they document it). That will make it a little easier for the next guy to set-up the project.

As a custom programmer, I hope my customers have a great experience working with me on their projects, and will come back when they need additional programming work done. However, I understand that this may not always happen, for reasons that have nothing to do with me. They may find a more affordable programmer, or they may have special requirements I am not able to provide. If that happens, I want my customer to have what they need to be successful no matter who they work with.

  • Facebook
  • Twitter
  • Digg It!
  • StumbleUpon
  • Technorati
  • Reddit

Comments  1

  1. Default 24 Apr

    Pingback from:
Post a comment!

Formatting options

Wanna Subscribe?
Here's the RSS Feed

What the critics are saying...

Avonelle is a talented expert in her field. She has blended well with our team and built applications that we are proud to deploy to our associates. Her talents helped us execute a vision expediently and with quality. If we could do it all over again, we wouldn’t change a thing.

Peter Edstrom @ Renewal by Andersen