Having custom software developed is a place where many growing businesses stumble. I recall one company I worked with briefly that had already invested tens of thousands of dollars (it might be over $100K by now) and after two and half years, they still didn’t have what I (or anyone else) would call functioning software. The code was buggy, the program crashed with annoying frequency, and it really wasn’t user friendly. Basically, all they had after two years and tens of thousands of dollars was a nice looking skin (with no substance behind it.)
How does that happen? Simple. Most of us are not sophisticated buyers when it comes to software. We use software, but we don’t design it. We know what it is supposed to do when it’s done (at least most of us do) but we don’t know how hard it is to bring that to pass. Because we’re not sophisticated buyers, we can’t distinguish between someone who really knows their stuff and someone who is blowing smoke. For example, when you take your car to a mechanic, you can tell just by talking to him how much experience he has, whether he really does know what he’s talking about and whether he’s going to be able to get the job done at a reasonable price. With software developers, you have no way of knowing (unless you’re a developer too, in which case why are you talking to someone else?)
Here are some things you need to be aware of to save time, money and grief:
1. Know what you want. This is by far and away the most important thing when buying software. You know from building a home that every time you make a change from the original plan, the price goes through the roof. It’s no different with software. If you change what you want or how you want it in mid-stream, you will have wasted a lot of time and money.
2. Know what things are must-haves and what things are luxuries. Let’s face it. Some things you can’t live without. That’s why you’re investing in custom software in the first place. But some things are luxuries. Know which is which and discuss them with your developer. Some may be easy and inexpensive to add, some may be expensive. Having been honest with yourself about what you absolutely can’t live without and what you’d like to have will save you money.
3. The best price is not always the best deal. You might even say it’s seldom the best deal. Once you get in bed with someone you’re in it for the long haul. Make darn sure you have the right developer. If you’re not a sophisticated buyer (and who is?) get some help. Don’t rely on the kid next door. Get suggestions from people who have already been down this road and by all means, CHECK REFERENCES. Can I say that again? Don’t strike a deal with anyone without checking SEVERAL references. This is potentially the biggest mistake you ever made. You can avoid it by doing your homework.
4. Write a contract that spells out exactly what you’re getting, when you’re getting it, and what it will look like when it’s done. No matter how good of friends you are, how reputable the firm is, whatever. Write a contract. Developers who are on the up and up will want to do this even more than you do. Avoid the tendency to say, “Well just work this out as it goes.” You wouldn’t build a home that way, don’t build your business software that way.
5. If it’s not working, and doesn’t look like it’s going to, get out now. Don’t wait. It’s not going to get better. Cut your losses, lick your wounds and start over. It’s better to cut your losses after a few weeks or months than to invest years and still not have anything.
There are many other things you should do, but if you’ll just do these four things, you’ll be well on your way to a good experience. If you have additional comments I’d love to hear them. Until then, let the buyer beware.
2 Responses
Scott
February 5th, 2009 at 6:48 pm
1“If it’s not working, and doesn’t look like it’s going to, get out now.”
Amen. I recently left a company that got stuck with an inept development partner. After two years, their “groundbreaking social networking platform” was still riddled with bugs, a very difficult UI, and an unworkable development process. Instead of circling back to examine core problems (including management issues), the programmers pressed-on adding additional features to try and placate their users, effectively increasing the bugs by orders of magnitude.
Sunk costs mean nothing. Lick your wounds and find a better developer.
Another tip, visit the company headquarters. Meet the actual coders. Ask how much of the work is outsourced. Decide early if you really want to work with an entire company. If you have the connections, you can find an individual coder who can produce better work, better responsiveness, in a shorter amount of time. One capable programmer at a higher hourly wage is MUCH more affordable than a company of less-capable developers at a cheaper rate.
awebb
February 6th, 2009 at 10:06 am
2Thanks Scott. Good points. You’re obviously not an unsophisticated buyer like most of the rest of us.
RSS feed for comments on this post · TrackBack URI
Leave a reply
Syndicate
Recent Comments
Recent Posts
Archives
Blogroll