20 Questions to Ask When Outsourcing Software Development

We’ve mentioned this several times throughout this series—finding the right service provider requires a ton of due diligence on your end—from considering the risks associated with different outsourcing locations to running credit reports and digging deep into the nitty-gritty of international IP protections.

That said, much of the due diligence process is about asking the right questions about day-to-day stuff. For example, how do they recruit and onboard talent? What capabilities do they offer? How do they guarantee success?

In this article, we’ll turn our focus toward which questions to ask a company you’re
ask your shortlisted vendors before determining if they’re the right fit for your business.

Meet with Internal Stakeholders to Determine Which Outsourcing Questions to Ask

Before you start grilling potential outsourcing partners, get together with all relevant internal stakeholders to get on the same page. Determine together what you expect to gain from this outsourcing partnership.

Here, your goal is to define and solidify project requirements and to gather outsourcing questions from the group that can be passed on to potential partners. Skipping this step can lead to many long-term issues. It’s important to get on the same page with all as every team has a different set of goals and priorities that guide daily activities.

You’ll want to hold a stakeholder meeting before you start having deeper conversations with potential outsourcing partners.

Think about it this way; in-house developers who will be working directly with the outsourced team will have different concerns than the finance team, the C-suite, sales, and customer service.

As such, consider who might be involved in the process and call a meeting before taking the conversation outside the organization. There, you’ll define goals, expectations, and the metrics that measure success, making sure that everyone is on the same page.

Once you’ve determined what, exactly, you’re looking for, put together a list of questions that will ensure you find the perfect partner for the job.

Below, we’ve outlined some example of outsourcing questions you might ask potential partners, organized into a series of buckets to make things easier:

What Capabilities Do They Offer?

Your outsourcing partner should have the skills and the capacity to support whatever project you have in mind. Get started by asking the following questions to assess potential partners’ capabilities:

  1. Have you worked with other companies in this industry?First of all, you’ll want to partner with an outsourcing company that understands your organization, the market it serves, and the end-customer. If you’re working in the e-commerce space, partnering with a development team that typically works with healthcare companies doesn’t exactly make sense.
  2. Have you done similar projects in the past? Beyond industry experience, you’ll want to team up with partners that have worked on similar projects for similar use cases.Ask prospective partners if they can share specific examples. Can they link to specific sites? Put you in touch with an existing client? Share data-driven case studies that highlight the value they bring to the table?

    Ultimately the goal is finding a partner that understands the challenges associated with your industry as well as the ones that feel a bit more personal.

  3. What technologies do you use? Find out if your prospective partner is prepared to help you take on future challenges. Do they have experience with big data analytics? Artificial intelligence? Machine learning? AR/VR?

    You might also ask about quality assurance tools and testing types to find out whether this provider offers adequate testing (Functional, Performance, Security) and whether or not they’re using automation to streamline/improve the process.

    Keep in mind; technology isn’t everything. While you want to make sure that prospective partners are using the latest and greatest tech, you’ll want to avoid getting too caught up in the specific tools used to achieve organizational objectives.

    Be flexible and focus on outcomes. In many cases, developers might have a faster, easier, more cost-effective approach in mind.

  4. Programming languages? Building on our last point, asking about programming languages is more about making sure that your potential service provider has the skills/tools they need to deliver the best possible outcomes than whether or not they can deliver a project in Python, Java, or Go.
  5. How much experience with X, Y, Z technologies does your team have? Once you’ve confirmed that your prospective partner works with the technologies you have in mind, ensure that they have enough experience to make the best choices for your project, keeping the desired outcomes in mind, regardless of the underlying architecture or programming language.
  6. Is it possible to review past work? Can the service provider share examples of past work?Are there live examples similar to what you’re looking for? If so, is it possible to find out how those apps/sites performed?
  7. How many people are available to take on new work? How many workers are currently available to take on new work? While you might not be ready to scale production right now, partnering with an outsourcing company that can accommodate more than you’re currently asking for means that long-term, you can outsource more work as it comes in.
  8. How much time do you need to scale up team and capacity? Down the road, you might aim to build out your outsourcing strategy. It only makes sense to pursue potential partners with the capacity to scale up as your organization grows. Get ahead of the hypotheticals by asking about the firm’s current capacity. Questions include: how much time do they need to gather the talent and resources necessary to take on a new project? What tools/documentation/requirements will you need to provide to bring new developers up to speed?
  9. Have you ever contributed to open source, created new libraries, frameworks, patents, research publications, or any sort of novel work? This could be important in some projects, depending on the complexity and expected outcomes.

    For example, a company looking to outsource certain parts of a research project might care more about a team that can do software prototyping and quick proof-of-concepts rather than finding a team of experts who know the ins and outs of technology X or Y.

    Perhaps the product itself is a framework or library, rather than a user-facing application.

    In that case, it makes more sense to look for a development team with an eye for developer needs rather than an end-user looking for a seamless e-commerce experience or tool for streamlining interactions with buyers.

How Will the Vendor Guarantee Success?

In a recent internal survey, several developers mentioned the critical importance of openness and consistent collaboration when it comes to ensuring successful client outcomes. To make sure you’ve got the right collaborator on your side, ask the following questions:

  1. How do you ensure that clients receive the desired outcome? You might start by asking potential providers an open-ended question: “how do you ensure that clients receive the desired outcome?” or “how do you help clients achieve their business goals?”
  2. What is your reporting process? Next, you’ll want to find out how the vendor monitors and tracks their progress and how they share results with the client. Do they typically share progress reports during routine meetings (i.e., a weekly or bi-weekly call), or will you need to request this information yourself?
  3. How do you recruit/hire talent? Try to learn more about how your potential partner vets development talent. This can give you some insight as to whether or not you’ll be getting true “top performers” versus whomever the outsourcing firm was able to find.
  4. What metrics do you use to measure success? How does your potential outsourcing partner track progress toward achieving the desired outcome? Which metrics do they use? What happens if the team is off track? Do they have a process for course-correcting?
  5. What do you expect from us to set the team up for success? Find out what your outsourcing provider typically provides to support client projects/engagements. Will it be your responsibility to ensure that external developers have the tools they need to work on this project, or is that something the vendor covers?
  6. Do you have a mature Agile practice? Does the outsourcing firm provide access to Agile experts? While outsourcing Agile development can be challenging, the fast-paced, iterative methodology tends to yield better results.

Terms & Conditions

Finally, discuss the nitty-gritty of what you can expect in the official contract.

  1. What’s included in the price? Does the quoted price include support? Rework? Will you be charged extra for “consulting fees?”
  2. Do you provide an SLA? The SLA, or service level agreement, lays out a list of support actions that the provider offers alongside their core offering. The SLA should outline how the provider will take on the project and includes delivery dates, QA testing, availability of services, and target turnaround times for responding to service requests.
  3. How will you handle licensing/copyright/IP laws? While your contract terms and US intellectual property law do the heavy lifting when it comes to protecting your IP, ask potential providers what they do on their end to protect clients’ valuable data.
  4. Will we own the source code? In some countries, the developer who wrote the code is the one who owns it–regardless of who commissioned the project. That said, when you’re outsourcing software development projects, you need to be 100% sure that you own the code, the software, and everything else.

    When you put together your contract, you’ll assign your company exclusive ownership of any code written by an external developer. This step allows you to retain full ownership of all assets created through this partnership. While the contract will protect you from a legal standpoint, it’s still a good idea to ask prospective partners how they typically handle the situation. Do they follow US IP laws? If not, what laws do they follow?

  5. What kinds of devices will the outsourced team need? Find out who is responsible for buying them and how often they’ll need to be updated.

Final Thoughts

Selecting an outsourcing provider can be a difficult decision. At this stage, your goal is to gather as much information as possible so that when the time comes to choose a provider, you’re making an informed decision.

While the questions to ask when outsourcing vary by company, industry, and use case, there are a few things you’ll need to get real clear on before heading into negotiations across the board. How will the vendor ensure quality? What services are included under the contract? What is their process for engaging clients?

From there, work with internal stakeholders to determine which outsourcing questions will help you narrow down your vendor shortlist to something more manageable.

Tiempo Development pairs clients with expert developers who work in US time zones and follow mature Agile practices. This, and more, allows organizations to deliver high-quality end-products to market faster. To learn more about our nearshore business model and how we deliver ultimate outcomes, contact an expert today.