Return to Archive
Runtime - The Software Outsourcing Newsletter
for Executives and Investors
from Accelerance and Steve MezakFour Weddings Without A Funeral
In a software company there are four happy situations where use of outsourcing is an excellent and valuable strategy to enhance your success. And there is one more situation where outsourcing can be used to avoid disaster. See if any of these situations fit your company:
You are creating your first product (version 1.0) You need to create a new or an additional product You want to augment your internal development team You need to do maintenance programming on an existing product You must cut the burn rate to enable your company to surviveLet's look at each one in more detail.
A couple of weeks ago, I again received skepticism from a venture capitalist about the possibility of using outsourcing for creating the first software product at a startup. Even though I have done this at multiple startups of my own, and for clients, I know it is not a viable strategy for every startup.
For example, just yesterday I spoke with a technical entrepreneur creating a new on-line game product. He and a partner are still coding and inventing. They are just not ready for outsourcing.
Outsourcing of your version 1.0 will require some amount of specification. That is the challenge. It is difficult to specify a product when you have not finished innovating!
But it also depends on the nature of your innovation. An on-line game requires technical and artistic innovation that can be difficult or impossible to specify ahead of time. An enterprise software application typically uses standard software technology and delivers a business innovation in how the software is used. In this case it is easier to create a specification which in turn enables effective use of outsourcing. Outsourcing of version 1.0 will also give you an instant development team and accelerate your time to market.
Second, you can use outsourcing to develop a new product and avoid distracting your existing development team from other important work. Perhaps your new product is an add-on or extension to your main product. You can keep your internal developers working on your main product while the outsourced team completes the add-on. It is usually easier to specify an add-on product by making use of existing product documentation and other "artifacts" from the development process of your main product.
One Accelerance client is creating a version of their product to address a new market. They are using outsourcing to create the new product at a low cost. The starting point is the source code of their main product. The existing product is a major component of the "specification" for the new product. They only need to add a short description of the changes required in the new user interface.
Third, you can augment your existing development team by integrating in the efforts of an outsourced team. This approach gives you the raw manpower required to develop your software and needed technical expertise your internal team may not possess. In addition, you can get round-the-clock development when the outsourced team is offshore and multiple time zones ahead, which helps you quickly get your product to market.
In the past it was common to outsource to a US-based company to acquire special technical expertise and this is still true today. For example, Accelerance has an affiliate program member in the US that specializes in the design and architecture of Microsoft-based systems. Face-to-face communication with such a US-based outsourced team is very valuable in the early product definition phase. You then have the choice of using your internal team or the outsourced team to do the coding.
Fourth is a very popular use of outsourcing: maintenance programming for supporting an existing product. Some outsourcing teams specialize in this kind of programming. After an initial ramp-up period it is easy for them to make incremental changes to existing code.
One of my startups used an Indian operation to support version 1.0 after version 2.0 was developed and became the main product. We still had a few customers that did not want to pay to upgrade and we were contractually committed to support them with version 1.0. Outsourcing of this non-strategic activity made a lot of sense.
Some "experts" believe maintenance programming is the only "safe" use of outsourcing. I disagree. I am sure there are outsourcing companies that will never aspire to do more than this type of programming. But I am also sure that their are many outsourced teams of professional programmers that are experts at creating new software products. The Accelerance Affiliate Program contains many of these expert outsourcing teams.
Fifth is the dreaded use of outsourcing to cut burn rate. This can lead to difficult choices. Highly paid programmers may need to be sacked to extend the life of the company.
The typical scenario is a software company starts out by hiring a full engineering team to create the product. Then either product development takes longer than expected. Or the market was misjudged and it takes longer to close business. Or both. Use of outsourcing in this case can mean difference between corporate life and death.
Using outsourcing to replace employees can be tricky. You need to keep key employees as a core technical team capable of managing the new outsourced programming team, and to do product management.
Of course a better approach is to plan on using outsourcing to minimize costs right from the start.
Outsourcing has definitely matured beyond use by only the early adopters and is now being embraced by the early majority of software companies. Outsourcing has become an integral part of the product development process at American software companies.
Using outsourcing in a software product company is like a marriage. It takes commitment from both sides to make the relationship work. Good communication is required. Success factors like these are the lifeblood of thriving outsourcing companies.
Vision Resources
![]()
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 Outsourcing213 Garcia Avenue
Half Moon Bay, CA 94019
1-650-712-8990(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."