Offshoring the developing of a software solution should be part of the considerations for addressing any business problem that can be resolved with technology. Because technology moves so quickly and any new software development can touch on a lot of parts of your organization, it has become more the norm than something unusual for any company to use contractors and to offshore some of the development work to stay on track with the business goals of the organization.
As with any vendor relationship though, there are ways to mismanage the offshoring process and create opportunities for failure for the project. Nobody wants that to happen so if you as the business doing the offshoring know your responsibilities in the relationship, then the contractor will be enabled to do a great job for you. That makes them a success and you a success and creates a business relationship that can go for years.
One of the biggest mistakes in offshoring development is to put too much of the project design or definition on the contractor. Remember, you are hiring a worker to do a job and at the heart of that relationship, the assignment is not that much different from calling in a plumber to fix the pipes or hiring painters to spruce up the walls. The contractor needs to be managed and must have clear guidelines on what is being done and what the criteria for success will look like.
You are the boss of any company you offshore work to. That means that it should not be the contractors job to define the work they are going to do. For one thing, if you leave it open ended what needs to be done, any consultant will have the natural tendency to make the job as big as they can make it. The old saying about consultants that “no job is too big, no fee is too large” applies to anyone working on a contract basis. So putting limits around the job is your responsibility, not theirs.
The first task that must be accomplished before you start your consultations with offshoring agents is to define the problem. You have to know what you want done and how your problem can be addressed by a software solution before you turn over the problem to a contractor. Remember that software cannot be a solution to management problems. If you are having trouble with inventory, with employees or with some other management situation, you cannot make a computer be a better manager than you are. So don’t ask a contractor to solve a problem with a computer that is not a computer problem.
Problem definition is often a difficult process but you no doubt have on staff skilled systems designers and project leaders who know the project development method well and can help guide management through the problem definition process. Tap the talent you have on staff to define the problem and lay the groundwork for a software solution. Then when you bring in a contractor to consider taking on the problem, you are giving them clear direction to start with and something concrete upon which to base their proposal and their price.
The more can do to remove opportunities for speculation or interpretation in what you are asking your contractor to do, the better your relationship with the contractor will be. By developing a detailed definition of the problem, that exercise itself will give you a template for what the solution will look like. Now it is not out of line to use the talents of a contractor or offshoring company to perform the systems design of the software you want to have built for you. But that systems design should be built on a well defined problem definition and needs analysis.
Remember the contractor will never talk you out of doing a job. But your on staff project managers will. Seek balanced counsel in what software projects justify the expense of using contract workers and which ones are not candidates for offshoring. By doing this fundamental definition work within the management team, using the analytical and technical knowledge of your staff analysts, you will have a clear outline of the work you want done when you start the offshoring process. And that groundwork will be the foundation of a successful solution for your business as well.