Outsourcing Software Development - You Get What You Pay For
This post is excerpting / paraphrasing a section that appeared in our July 2008 newsletter. I'd really love to hear your thoughts on this.
Over the past months, I have been approached by several different companies to help them clean up someone else’s mess (actually, disaster). Some of these companies we’ve been able to help (essentially rewriting their system), some we’ve had to turn down, and a few we are still in the midst of discussions and specifications. The details are different, but the recurring theme is the same: a company looks to outsource some or all of its software development in order to save money. They find a vendor who offers to do the work for a low price. X months and Y thousands of dollars later, they sadly realize that the reason the vendor was so inexpensive is because the system they delivered is close to useless. Then they call me.
I’ve been thinking about why we at Renaissance are different from these other companies and developers. Sure, we have assembled a team of exceptional software developers – but everyone claims to have done that (even when obviously not true). Beyond raw talent and a great environment, why do we always succeed where others seem to fail? At Renaissance, we spend a lot of time and effort in evaluating, selecting, and continuously improving the tools, techniques, and technologies that we use for our projects. From what I’ve seen and heard from these other projects, the software vendors did not use recent technologies, did not use known and common best practices, failed to use any sort of structured process, and were unaware of the many tools available to make things easier and faster. I just don’t get it…
When it comes to outsourcing software development, like most things in life, you get what you pay for.