- Outsourcing News
- Outsourcing Press-Releases
- Outsourcing Events
- Outsourcing Analytics
In a world where outsourcing is quickly evolving into a standard business practice, competitive advantage relies heavily on your outsourcing savvy. Theoretically, outsourcing should be a risk-free, painless process that doesn’t add extra hassle to your operation. But the results are often contingent on a company’s ability to navigate the outsourcing realm. So in the next few paragraphs, I’d like to examine some of the outsourcing essentials that businesses should know.
Let’s start at the foundation: what is outsourcing? Consider services you utilize on a regular basis. You might find you’re already an outsourcing expert. How about eating out at a nice restaurant or having your car oil changed? Essentially, outsourcing is hiring someone to do a service for you rather than doing it yourself. The reasons for outsourcing are saving money, saving time, reducing risks, and benefiting from someone else’s expertise. When you have dinner at a nice restaurant, you’re benefiting from the chef’s culinary expertise. Unless you’re an auto mechanic with a garage full of tools, you save time and money by having a service station change the oil in your car.
Outsourcing is commonly thought of as a way to reduce costs by eliminating or laying-off staff. For example, in an effort to save money, a company with a large call center might outsource that entire department to an offshore company. However, in the software industry it’s a bit different. With software related outsourcing it’s most common to reduce costs by expanding your team.
Initially, that might sound counterproductive. So consider it like this. Today’s outsourcing practices are about adding value to your operation. For example, if you can affordably get to market 20% faster by means of outsourcing, you’re adding value. You’re more competitive, and your profitability goes up. Likewise, if outsourcing certain projects increases your staff’s productivity by 50%, you’re adding value. Hiring a vendor can often be significantly cheaper and more effective than hiring your own staff to do the same job.
In the last few years, there has been a steady increase in the number of companies who utilize outsourcing to their advantage. Computer Economics reports that 27% of typical IT organizations outsource the maintenance of their existing software to an external vendor. Similarly, the same report indicates that 33% of IT organizations are outsourcing their application development. IT Business Edge sums up these trends pretty well in their 2010 market survey on outsourcing. They write, “One big difference between today’s outsourcing market and that of, say, ten years ago, is that outsourcing is no longer an innovative and risky undertaking; it’s a mainstream strategy that has been adopted across the corporate universe.”
The key to this practice is knowing what to outsource. Here are a few software development related items that can be outsourced:
• A function, like quality assurance testing
• A specific project, like building or maintaining software
• A skill/skill-set you might be missing, like a project manager, business analyst, or developer
You can think of outsourcing as either adding a team or completing a team. Meaning, you can add an entire team to your operation. Or, you can complete your existing team by hiring a few resources that might have been lacking. Consider your goals and ask yourself what you need in order to accomplish them:
• Do you have all the necessary skill-sets in house?
• Do you need to expand your skill-set range?
• Do you need to expand your operation just for short-term,
e.g. 6-8 months?
• Do you have a need for a function that isn’t already in-house?
• Do you have a team of developers that already knows your software and needs to stay focused on maintenance?
• Do you want to free up your in-house resources so they can focus on core functions?
Most good vendors can fulfill these needs with “on-demand” resources. Meaning, you only pay for them when you need them. This model is yet another value adding/cost reducing aspect of outsourcing.
Let’s talk a bit about completing a team. Completing a team by adding resources or consultants to a project in-progress can benefit you in many ways. It can be a helpful way to advance your development efforts or overcome a roadblock in a project. You can bring in an expert to fill a gap in your skill set or add bandwidth to your team. Keep in mind, however, that this will only be beneficial if you know exactly what you need and can define it for the vendor. With outsourcing you’re defining a relationship with a vendor. You must be able to communicate to them exactly what you need/expect. This is critical no matter how simple or extensive your project is. Computer Economics also addresses this in their most recent report saying, “The best practices revealed in surveys of successful outsourcing clients demonstrate that judicious planning, disciplined vendor selection, and a commitment to collaborative relationship management are key success factors in outsourcing.”
Now, there are certain aspects of your business that won’t benefit you to outsource. For example, anything that isn’t entirely defined, or doesn’t have a definite direction will be better handled by your internal teams. Why? Because with projects that are still going through research and development, it will be difficult to establish expectations for your vendor. Outsourcing must be managed by results, not tasks. If you’re not sure what results you expect, you can’t manage adequately. So these types of projects won’t be as effective to outsource. There’s not much benefit to hiring someone until you can both agree on detailed expectations.
Generally speaking, outsourcing should reduce your risk of project failure. You outsource to an expert because you trust they’re going to do a good job and not make costly mistakes. Outsourcing should not add extra time, cost, or hassle for you. If it does, you’re not gaining anything. A good vendor will always have a service delivery model that ensures you will benefit without adding extra strain to your operation. If you’re hiring an entire team, a good vendor will have an onsite resource placed within your company. This individual will learn your operation and gather necessary requirements. From that point forward, they are responsible to assemble and train a team. Your vendor is fully obligated to achieve good results for you.
I always recommend a crawl-walk-run approach to outsourcing. Meaning, start on a small scale and move forward slowly. Define the criteria for the project; get to know the vendor; and let the vendor get to know your company/requirements. Then do a small project with that vendor. Learning on smaller projects is always much easier than learning on big projects. A small project is a good way to set standards for yourself and the vendor. If you only have a large project, figure out a way to modularize it and test the vendor out with one piece at time.
If everything goes well and both parties are happy with the result, then move forward to progressively larger projects.