A Roadmap for Successful Outsourcing. Part 1.

Why outsource your software development?

Most organizations will cite one or more of the following reasons when asked, “Why do you outsource your software development?”

Reasons:

  1. Lower costs on specific projects or across the board.
  2. Need technical expertise not available in-house.
  3. Want to create a scalable workforce that can flex with workloads and business needs.
  4. Increase speed to market with more professionals on the project.

This is your starting point: knowing your reason(s) for considering outsourcing as a business option. This will make it much easier to evaluate your options as you work through the process of finding and vetting a potential outsourcing partner.

Considerations

Industry – Some outsourcers specialize in certain industries, like healthcare or finance. Others do it all, and a great many have expertise in several areas. If your product or project depends upon developers with a lot of industry knowledge, you certainly want to find an outfit that has some experience in your realm. If your need is for a general application that would be found in most organizations, industry knowledge may not be as important to you.

Organization size – Consider the size of your organization and the supplier(s) you are considering. Typically you’ll want to match up with your supplier. Large organizations on either side of the equation tend to be more rigid in their policies and procedures. They follow hierarchies and do not respond quickly to change. On the other end of the spectrum, small to medium size companies tend to be nimbler and more inclined to insert new thinking along the way. You want a partner who understands and can respond to your culture.

Technology and skills – Technology familiarity and skill levels vary widely between suppliers, as do the needs of organizations. Be sure to consider – and only pay for – the level of skill you need. Whether you need mundane, repetitive tasks performed error-free, or highly specialized skills in DevOps, UX or other areas, there is an outsourcing partner out there for you.

Lead/turnaround times – Be realistic about your own structure, including bottlenecks and areas of weakness, and discuss these with potential providers. Make sure your structure and culture will mesh with theirs.

Process/methodologies – Organizations can be anywhere on the continuum from flexible to rigid with their processes. Know your own culture and restrictions, and discuss these openly with potential providers. Ask probing questions about their style and preferences, and be sure you can work within the structure of each others’ organizations.