I know many people, companies, and organizations who have tempted fate with the promises of Off-shore development. It does sound pretty good. I mean you get five resources for the price of one in North America. You can get a full scale application for a fraction of the cost. Sounds amazing, who wouldn’t want more for less? For those who are thinking of using Off-Shore resources, READ THIS FIRST.
You will get a contract. Very professional. It will be large and it will outline and the processes the company will use and it will outline the testing they do will do in order to produce a stable, and quality product. You will be assured over and over that they will deliver your product, just as you want it, with a very fast turnaround time and at a great price. So far so good!
Be careful and understand the details in the contract. They will outline the time required to build requirements. Requirements will be a “Check List” so to speak on what you want in your application with little documentation. Typically this is not very long. You may see something like a week for a large scale application. For this, if you have experience in the industry, you know a week turnaround for a large application while working in the same building is hard, if not impossible. Never mind working with a company on the other side of the world.
They will have a clause that states if the requirements are not done in this week, it will be an extra ‘x’ number of weeks to complete it. That’s right, if the full thing can’t be done in one week, it will take up to 3 weeks to finalize it. Doesn’t really make sense to me. This is an attempt to ensure you will not want to miss this deadline. Who wants to be 3 weeks behind right away?
Now keep in mind all email communication will have a 24 hour turn-a-round. Let’s put that in perspective. You get a requirements list. You ask a couple questions on that list. The next day, the off-shore company gets that response and answers it. You have a follow up question. One round of questions, has now taken up 2-3 days of your week.
In an attempt to stay on target, you ask less questions, make assumptions of what is meant by the items on the requirements list, and think you will drive out the details once you get going. You assume the defination is the same as what's in your head. But BE AWARE, this list is golden! This is what you have agreed to. If it is not clear, it doesn’t matter. This is what the contract states the off-shore company is building towards. Not having a complete and comprehensive list here will equate to an automatic failure to the success of your project.
Let’s talk about quality, the documentation you got from the off-shore company will list out the ways it will make a quality product. They might have pages of tests and methods they will use. You’ve heard about quality being an issue with off-shore development, but this company seems to really care! Look at all these tests. Oh but wait, there’s a one-liner in the contract that talks about timelines and testing. What does it say? The amount of testing done will be based on the time permitted at the end of the project. Hmm, so we know we can’t do requirements in a week… even if we do, we know the requirement list is not going to be complete, meaning we will have more communication throughout the development process. We know a full round of communication is a min 2-3 days per. All of this time will eat into the time scheduled for testing. With all of this, how much testing do you think will actually get done?
As timelines start to fail, lack of details in your requirements are realized, quality is suspect, and your product is more and more moving AWAY from the vision you had, the Off-shore company will push more and more to just complete the project. As you bring up missing details or changes to the application, you will be met with change requests and scope changes? You will be told the changes were not part of the original requirement list and will take more time and money to complete, in which you will have to sign off on. At first, you might comply, but this change request list gets longer. You realize that everything you are bringing up and asking is your fault. Not once has the company taken responsibility for not delivering something properly. The cost of your project grows with each change request and your timeline gets pushed out with each issue you find.
At some point you start cutting out what you need. You just want to stop paying for these change requests and scope changes. Let’s just get the project done, then we can enhance it later.
You finish your project and launch your application. It’s not what you originally wanted, but it's operational. The cost was higher than you expected from what the original contract stated, and you’re at least several months behind, but you made it through!
Some bugs come up and you make a list of enhancements. You get quotes for this work from the off-shore company and get them working on them. You still have the same level of frustration getting clear requirements understood, but the items are smaller, and it’s more manageable. However, as you get more things fixed, and more enhancements added, the application seems to be getting slower. More complex, harder to fix issues start happening. As this cycle continues, new enhancements start to cost more and more to implement. How is this possible?
Your product was not built to scale remember? It was only meant to be completed as fast as possible. You didn’t pay for quality and scalability, you paid less for higher speed.
Eventually, finally fed up, you call in a reputable organization to make some enhancements to your application. You’ve now invested a lot of money into this app, and you’ve hit a wall. You might of even spent more than the local shops had quoted you at the beginning.
Your new company comes in, takes one look at it and says it needs to be re-created from scratch. It’s not built to scale, and it’s so bandaged together, it’s going to cost more to fix than to re-create. You’ve built a bungalow on 2x4’s with little support for the roof, than added a second floor. Now the floors on both levels are buckling from the weight, the roof is leaking, and the foundation is cracking. This is going to take more than a little duct tape!
Now let’s clarify some things here. Is there good IT talent in other countries other than North America? Of course there is. There is top talent all of the globe. The issue is not that the talent thats out there. The issue is that business is done differently in these countries. This is an important thing to know.
In North America, we strive to build working relationships with organizations. We primarily target our local areas to start. We want to build partnerships that we can nourish and grow. Through these partnerships, we build more business and become more success. Image is everything.
An off-shore development company makes money one way, by completing projects for less. That’s there number one goal. They pay people small amounts to complete the work, they work them hard, and they typically have clauses in their contracts, especially with larger organizations, that have penalties and/or steep discounts if work is not completed on time. This is how their business model stays competitive with other off-shore companies. As timelines on projects become threatened, they work their people harder. They will quite literally lock a group of people in a suite, bringing in food, until the project is done.
With this, they’re not as committed to scaleability and quality. They don’t make money off of that. They make money off of completing their work on time, and that’s it. The longer it takes, the less money they make.
If you are investigating off-shore development as a possibility, ensure you know your requirements and your wants. Even with that, I’ve seen small companies fail while leveraging off-shore development. Either they run out of capital or end up with a product that doesn’t sell as well as they expected due to quality concerns. I’ve seen larger organizations move their development to off-shore companies to save on costs, only to spend millions of dollars (unfortunately that is not an over-exaggeration) and many years bringing these teams and development back in house.
Is it possible to be successful with off-shore development, sure. But go in understanding how their business differs from ours and know your stats. More companies fail than succeed with this model.