Home > Research > Are You In or Out? How to Source Application Development

Are You In or Out? How to Source Application Development

Custom application development is a strategic differentiator in a digital economy crowded with commodity, COTS, and SaaS software. Over 40% of organizations made the choice to outsource some or all development in the past year. Unfortunately, less than 20% of the software delivered fully satisfied the outsourcers.

Outsourcing can reduce costs and increase focus on the core business. It is also a valuable way to develop the capacity and capability of your development team. The option is also an attractive consideration when your organization is not able to attract the talent required develop high quality or leading-edge solutions such as AI, blockchain, Dapps, edge computing, augmented reality, and other digital applications. There is also a smorgasbord of outsourcing options: body shops, studios, digital agencies, development shops, freelancers, consultants, systems integrators; onshore, near-shore, and offshore; and more.

Caveat Emptor!

Attractive as outsourcing may be, it comes at the cost of throughput. It’s not just the time it takes to define your needs, identify a partner, contract them, and work through growing pains. Leaders in rapid application delivery have focused on building the teams and practices required for the digital delivery umbrella: product management, Agile, Lean UX, DevOps, and design thinking. On the other hand, organizations that have invested far more in outsourcing have found it comes at the cost of throughput and quality.

Insource or Outsource?

None of this means you can’t outsource and be a leader in the digital economy. It means that outsourcing is a strategic decision that depends on five key factors Info-Tech is ready to advise you on:

Business strategy for your applications team and product

Product ownership and vendor management capabilities

The capacity and capability of your development team

The importance of adaptability and throughput

Selecting a partner who is the right FIT

Start With Strategy

Outsourcing is a strategic decision that starts with a robust application department strategy that defines the role and capabilities required for your internal AND external applications team. This are critical considerations that will inform the decision to insource or outsource as well as how you evaluate the FIT of potential development partners.

You Can’t Outsource Product Ownership

Many outsourced development providers will include a product owner who manages delivery by the outsourcer’s development team. This is an important factor for the successful delivery of working software. However, it does not guarantee the software will deliver the expected benefits to your organization needs. That requires a robust internal product owner who can define the product vision, build a prioritized backlog for it, and roadmap the delivery of value throughout the life of the product. This also means that you will need to define the internal and external product ownership roles and how they will work together to avoid stepping on each other’s toes.

Different Scenarios Require Different Kinds of Partners

Even if you have chosen to insource development, capacity and capability may mean you need to embark on an outsourcing relationship to deal with a number of different scenarios to deliver on your product vision:

Capability

Capacity

Outsourcing Model

Low

Low

Your software solution will be with you for a long time, so it doesn’t matter whether it is a strategic decision to outsource development or if you are not able to attract the talent required to deliver in your market. Look for a studio, agency, or development shop that has a proven reputation for long-term partnership with their clients.

Low

High

Your team has capacity but needs to develop new skills to be successful. Look for a studio, agency, or development shop that has a track record of developing their customers as well as delivering software.

High

Low

Your organization knows what it is doing but is strapped for people. Look at body shops and recruiting agencies that will support short-term development contracts that can be converted to full-time staff or even a wholesale development shop acquisition.

High

High

You’ve got capability and capacity for delivering on your everyday demands but need to rise to the challenge of a significant, short-term rise in demand on a critical initiative. Look for a major system integrator or development shop with the specific expertise in the appropriate technology.

You Can Outsource Development, but not the SDLC

Every outsourcer will have a proven methodology for delivering software. In most circumstances it will not be a true SDLC. As WW Royce, the project manager for NASA’s Pioneer project, wrote in Managing the development of large software systems, an effective SDLC requires continuous and formal engagement of the customer in the process. We recommend that every organization has a formally defined, quality-centric modern SDLC that incorporates Agile, DevOps, and product management practices to maximize adaptability, quality, and throughput.

Selecting the Right Partner Is More About FIT Than Features

It goes that without saying that an outsourced development partner must have the technical capabilities required to deliver the solutions you need. While that is table stakes, it isn’t going to deliver the return on investment you will need. Selecting the right development partner requires finding a good FIT with your organization. Fit means they bring a complementary culture and capabilities to the relationship and ensure you both benefit from the partnership. Your product owner also needs to actively manage the relationship, starting with ensuring you identify and reduce Agile contract risk and work effectively with an Agile outsourced development partner.

To Onshore or Offshore?

The attractive pricing models associated with offshore development have eroded over the years. The organizational impact that comes from working across a significant time zone differential and the related communication challenges also cannot be ignored. Near-shoring in Europe can mitigate that to some extent, but ultimately you are faced with a key question related to FIT – look for the best fit, then staff your product ownership function to support the time shift if required.

Our Take

Insourcing or outsourcing application development is a critical decision every applications leader will face. Both scenarios begin with a clear vision of the product to be delivered, an effective product ownership function, and a robust delivery process. When you choose to outsource, an effective vendor management capability and a clearly defined approach to working with a partner are critical considerations. If you are new to outsourced development, a pilot project represents a solid first step to build the capabilities and the capacity you need to succeed at application development outsourcing. If you are not ready to commit to these steps, application development outsourcing may not be for you.


Want to Know More?

Book an Outsource Application Development Key Initiative Plan call to get started or jump to our supporting research: