>Return to Archive


yellow line
Runtime - The Software Outsourcing Newsletter
for Executives and Investors
from Accelerance and Steve Mezak

Avoid These 7 Deadly Dangers Of Outsourcing

Here are seven dangers of outsourcing your software development. They become deadly if your career or entire company depends on the timely release of your software.

Danger #1- Ignoring Outsourcing

It may seem safer to ignore outsourcing and stick with what has worked well in the past - hire employee programmers and work with them directly to get your software developed. There are situations where concerns about intellectual property or security make this the only choice. But if you do not have these constraints, then you are wasting money and time by hiring your own programmers.

And the waste is non-trivial - at least double what you will pay to an outsourced team offshore. If you have 20 programmers working for a year, you are spending one million dollars more than if you used outsourcing.

A core cause of not outsourcing is the difficulty in selecting a good outsourcing team. Another is believing every detail of your software MUST be specified before outsourcing can be used. It assumes you hand off a completely defined project to the outsourced team. It is extremely difficult to write this kind of specification and it is therefore assumed that outsourcing is impractical for most programming situations

Using a prime contractor like Accelerance can help you get started with outsourcing by quickly selecting a team and recommending the correct level of specification.

Danger #2- Hiring the Wrong Team

It is a common mistake to look for an outsourcing team only in your immediate circle of friends and acquaintances. But considering ONLY your friend’s roommate’s brother in Beijing, or his cousin in Costa Rica, is unlikely to produce the best team that best matches your software development needs.

Don't hire an outsourced team that will be distracted by multiple types of services, or worse, by developing their own products. The best teams are dedicated to providing software development services for their clients and already have multiple happy clients in the US.

Do not settle for a team of junior programmers. Each team should have a combination of junior and experienced senior programmers.

Danger #3- Not Protecting Your Intellectual Property

The dangers of not protecting your intellectual property (IP) are multiplied when working with outsourcing. Are you using all three types of IP protection – physical, electronic and legal?

Proper physical security of locked doors & computers without removable media are common precautions you would take in your own facilities. Make sure your outsourced team does the same to reduce the risk of unauthorized access to your software IP.

Are you using electronic protection like firewalls, VPN and encryption to protect your IP when in transit over the Internet?

Do you have proper legal protections including written agreements and NDAs that are enforceable in the US? No one entering a business relationship ever wants a dispute to go to court. But having a clearly stated agreement helps avoid disagreements later and keeps you from the expense of legal resolution of disputes.

Not dividing or architecting your software to isolate the most sensitive IP can be a critical mistake when outsourcing. When you outsource, keeping your sensitive IP isolated is key to insuring your right to market your creative ideas worldwide. Dividing development of critical components between your in-house and outsourced team (or multiple outsourced teams) allows you to increase the speed of development without undue concern.

Finally, using open source software in your software without understanding license restrictions both for use and geography may cause future legal problems with the ownership and sublicensing of your code and may impede your ability to reach global markets.

Danger #4- Not Knowing What Your Software Should Do

Programmers hate to write specifications. Sometimes programmers jump into coding a complex prototype and get caught up in the minutiae of making the software work. They lose the bigger picture of trying to understand what the software should do to solve a customer’s problem.

Having good requirements and specifications are key to successful software development. And having some description of your software requirements is critical for successful outsourcing. Fortunately, outsourcing can be successful using only a high-level specification and an outsourced team that can communicate and work with you to determine the details.

Danger #5- Meager Engineering Management

Unfortunately, you cannot completely rely on an offshore team to manage your software development. After all, it is YOUR software. They will do their best to meet commitments to schedules and a high level of quality. But in the end, it will be your customers trying to use your software.

You need professional management as employees or contractors, to manage outsourcing. Using a programmer, scientist or subject matter expert without software development experience is dangerous.

Danger #6- Mediocre Software Development Methodology

How do you go about the process of developing software? Do you create an excruciatingly detailed spec and then micromanage? Do you pile up the features for a single stupendous major release? And do you make sure the offshore team must cram all those features in the software by next Tuesday? If so, you have a mediocre software development methodology.

Do you assume “No News is Good News”, if you have not heard from your offshore team? Do you strictly adhere to the strategy, “You code, I'll design?” Do you not bother with QA until later? Do you NOT have a standard software release procedure or source code control system? If so, you have a mediocre software development methodology.

Danger #7- Quality as an Afterthought

QA is a critical part of the software development process. It is also a major concern when you outsource to programmers that are far away. You cannot wait to start testing until just before you release your software and rush an unacceptable version into use. Having your users find the bugs is a bad strategy. If you are developing a software product these customer experiences may create negative word-of-mouth and press coverage that can doom a product and a company.

It is dangerous to think that unit testing by your outsourced team is sufficient. You need to have integration testing also. And you may need to invest in enough computers to create a sufficient test and QA environment. Not testing to verify load and performance requirements may cause unmet capacity specifications that are required to honor your customer expectations and commitments.

yellow line

Use of outsourced software development has grown significantly over the last two decades and is accelerating. The Internet has enabled access to low-cost but expert software development teams in many countries. The process is past the innovation and experimental stage of making outsourced development effective.

You don’t need to repeat the mistakes made by software companies that have tried outsourcing in the recent past. You can benefit from their lessons learned and avoid the seven deadly dangers presented in this report. The BIG mistake is not using outsourcing due to fears of the associated risks and ignorance of the methods and techniques that make it an effective tool to create your software.

Accelerance provides you an experienced, impartial source of information about outsourcing plus associated services that enable you to take advantage of risk-free outsourcing to develop your software.

Vision Resources
yellow line
Are you wondering how you will select an expert offshore team
to develop your software?

Use the Accelerance Vision Resources(sm) outsourced vendor
selection service and cut the time of your vendor selection
process by as much as 90%.

Vision Resources leverages members of the Accelerance's 17
teams in 14 countries around the world.

Click here to learn more about Vision Resources

Accelerance, Inc. delivers impartial & expert strategies and services
for risk-free outsourcing of your software development.
Visit our web site at www.Accelerance.com

 

Until next time,

Steve Mezak

Accelerance, Inc.
Risk-Free Outsourcing

yellow line

www.Accelerance.com

213 Garcia Avenue
Half Moon Bay, CA 94019
1-650-712-8990

Contact me by email

(c) 2005 Accelerance, Inc. All rights reserved. You are free to use material from the "Runtime" eZine in whole or in part, as long as you include complete attribution, including live web site link. Please also notify me where the material will appear.

The attribution should read:

"By Steve Mezak, CEO of Accelerance, Inc. Please visit the Accelerance web site at http://www.Accelerance.com for more information and resources on outsourcing and creating great software products."

yellow line