Software companies today have been hiring project managers and engineer teams to develop their software products via outsourcing.

With the high bandwidth, efficient global communication through the Internet and other peripheral technology, access to capable and cost-effective talent from any part of the world is viable.

Though software outsourcing has been the road to success for many startup software firms, others are tempted but are fearful to fail.

And they’re right to fear for there are cardinal rules in software outsourcing, “sins” one must not commit lest the road to success becomes the death-walk to outsourcing hell.

I.    IGNORANCE. Have you been ignoring outsourcing because of the risks it can involve? Remember that any business incurs risks; it’s the challenge to make those risks into rewards. Outsourcing has its own rewards:

  1. It can reduce the cost of employee recruitment, benefits, overhead, office facilities, hardware and software.
  2. It can allow you to have the best talent to develop your software, if you’re careful enough. Outsourcing can get you the best talent in the shortest time possible, if you’re careful enough.
  3. Outsourcing can give you more time to focus on your core processes on software development. You won’t get distracted by administration functions, human resources issues and requirements. You just design it and they will build it.

Thou shall not disregard outsourcing as an option for your business.

II.    BIAS. It is a common, human mistake to prefer to look within your immediate circle for resources. Hiring the colleagues or friends of your investors is more appealing than doing the hard job of finding the best team for your project which could take many months.

And even if you have sought after, screened and short-listed a number of potential business process outsourcing (BPO) service providers to take care of your software product development, there is still a chance that you can fall short with your selected BPO service provider.

Thou shall not hire outsourcing providers based on simple recommendations or within your immediate circle.

Thou shall hire a BPO service provider with stability, reputation and a business culture that is parallel to your own. This outsourcing service provider should acquire teams of experienced and qualified members whose professional backgrounds you should screen and approve.

Thou shall start your BPO relationship with the service provider with a small, temporary pilot project to determine the team’s proficiency, the development’s feasibility and learning curve without incurring costly errors.

III.    PROMISCUOUSNESS. Do not take for granted that just because you’re in a business contract with your BPO service provider, they or maybe their employees wouldn’t take advantage of you.
If you do not emphasize in your contract regarding policies and procedures to protect your intellectual property, then you’re just too naïve and you could get violated.

Thou shall not allow your intellectual property to be sullied and stolen.

Thou shall hire a BPO service provider who’s proactive and committed to protecting your intellectual property rights. Review their established procedures and contingencies, make sure you share the same level of electronic protection and encryption, software licenses and have this all legally stipulated in your service agreement with your BPO service provider.

IV.    IRRESOLUTION. You’re the designer. You should know, or at least be aware, specifically what your software’s functions, requirements and its limitations in order to guide your outsourced team of software developers.  If you’re lost, most likely so would they.

Thou shall not be unsure of your own software.

Specify a reasonable set of details for effective software development. Don’t over specify or else you’ll get bogged down with low-level coding issues. Stay on top and focus on what customer can do with and expect from your software product.

If you found your match of the right outsourcing team, they should have the expertise with your technology and market to contribute to your software’s development to meet, or possibly surpass, your expectations.

V.    IRRESPONSIBILITY. You’ve decided to outsource, you screened and hired a BPO service provider, you’ve sent your software specifications to the team and then now what? You wait for what happens and hope for the best? No can do.

So you chose the team, gave them the specs as a guide map and the technology to get them to the destination SUCCESS and you might think that with their expertise, they could figure out how to get there but it has to be YOU that should drive them there. It’s your software, your team, thus your responsibility whether they would succeed or fail.

Thou shall not totally desert your responsibilities in managing your software project.

Work closely with your BPO service provider in monitoring your team’s progress and training. Provide effective supervision and incentives for good performance. Hire an engineering manager who’s goal-driven and focused on scheduled milestones and releases.

VI.    TAWDRINESS. Are you organized in your methods of software development? Do you engage your team to be proactive in the design and development of your software? Do you adhere to source code controls and software release procedure standards? Do you communicate consistently with your team? Do you regularly schedule milestones and software build releases with clear definitions of software features and fixes?

If you answered “YES” to all these questions, then you are NOT GUILTY of the sin of tawdriness.
Thou shall not allow your software development to be unstructured or subjected to spurs-of-the-moment.

Show a little trust in your outsourced development team.

Involve the team with the design of your software; take advantage of the experience and skills. They can get a final design much more quickly and cheaply while learning the details of your software.

Let them make an estimate of the development schedule, they should know better than anyone. If the schedule is reasonable, have them commit to it. Hold them accountable if the release date is not met.

Reward, or at least praise, them if they beat the release date.

Communicate with them consistently and clearly to keep track of your development as well as cultivate camaraderie. Set regular online and phone conferences. Require weekly status reports.

VII.    NEGLIGENCE. An important part of the software development process is quality assurance (QA). This should be prevalent in all stages of the software development process from step one until to the software release.

You shouldn’t be negligent in applying QA or ensuring your outsourced team applies QA to your software development. Doing so will save you a lot of headaches later on from complaining customers who found the bugs you decided to overlook. An ounce of prevention is worth a pound of cure.

Thou shall not wait for the last moment to test the quality of your work.

Implement a bug tracking system to keep track of defects, issues, enhancement requests and a standard process for fixing the bugs. Invest in technology and tools for an adequate, functional test and QA environment with your outsourced team to perform unit testing to detect low-level defects during development.

Acquire QA engineers to work alongside your development team to test your software on a variety of machines, scenarios and workloads to fine-tune your code for a pleasant customer experience.

Knowing the seven deadly sins of software outsourcing and redeeming yourself through the proactive, preventive measures stated above can deliver you away from the evils of failure and closure and into the paradise of profit and product brand perpetuity.


You must be logged in to post a comment.

Recommended Providers

Recommended Articles

Ask the Expert

Please click here or send an email to jeff@outsourcing.ph with your questions about outsourcing.