Listen to this Guide

Table of Contents

Not all outsourcing companies are created equal. When it comes to finding the right IT outsourcing company, thoroughly vetting potential partners is an absolute must.

You can find amazingly talented development teams on every continent, but to separate the strategic thinkers from the order-takers, you’ve got to ask several challenging questions.

This is the only way you can find a team that is competent, experienced, and able to exceed your expectations for your software development project. That’s why we’ve assembled the 15 questions we believe you should ask any potential software development outsourcing partner—including us!

Any experienced firm can easily answer these questions, so if they hesitate or offer you vague answers, take them off the list of prospective partners immediately.

1. What Are Your Core Competencies and Specializations?

Full-service firms, like Net Solutions, can handle every element of the software development cycle: User research, design, development, Quality Assurance (QA), and project management to oversee an entire project (if you need it).

That said, even a full-service agency will likely have more experience in certain industries and certain types of software development projects.

You can get a sense of the industries they’ve served by looking at the clients listed on their website and customer case studies describing specific projects. If they don’t have any case studies posted, that’s a red flag.

Be sure to ask any prospective partner about:

  • Industries and specific companies they’ve served
  • Projects they’ve successfully delivered that are similar to yours
  • Links to completed projects and case studies
  • Examples of products they’ve built using the programming languages you envision for the project

Be aware that a software development team may have a general awareness of a given programming language without truly mastering it, so look for evidence that they’ve really worked with any languages you intend to use.

2. Can You Provide Case Studies for Success Stories?

Anyone can claim to have a large roster of satisfied clients, but it’s important to review case studies from previous clients for the following reasons.

  • Case studies will walk you through the details, from tech stacks to programming languages to the final results.
  • A potential software development partner that has a library of case studies means their clients were so happy with them that they were willing to let someone from the company interview them and testify to their competence.
  • Case studies allow you to verify that they have worked on similar projects and have the know-how to bring your software product to life.

If a software development company doesn’t feature case studies that include testimonials, it means one of three things: They’re inexperienced, they have very few satisfied clients, or they simply don’t take their business seriously enough to put prospective clients at ease by showcasing their experience.

3. What Is Your Approach to Project Management?

Understanding how a potential partner handles project management is one of the most important questions you can ask a custom software development firm.

A professional, experienced firm will have an established software development process in place to ensure clear communication, focus, and efficiency. Here are some items to look for when assessing an outsourced team’s project management capabilities.

  • Which software development methodologies can they use? Are they well-versed in Agile development, including popular variants like Agile Scrum?
  • If your project requires a Waterfall approach (or some other methodology), do they have experience with that approach to software engineering?
  • Are they DevOps developers?
  • How often will your project managers meet with you and your team?
  • How do they communicate updates on a regular basis?
  • How often do they meet with their own team leaders and team members?
  • If they will be working alongside your in-house team, how do they handle communication with your in-house employees?
  • Do they use communication tools like Slack?
  • How do they work with time zone differences if they’re offshore? Are they willing to adapt to your business hours if that’s what you need?

Full-service development teams that know what they’re doing will have a clear project management strategy in place, and their answers will put your mind at ease.

4. What Is Your Dev Team’s Size and Composition?

It’s important to learn about the size of a potential partner’s development team, that way you can assess their capacity to grow as your needs expand. You may be small now, but who knows what the future will bring?

Key questions to ask about the size and composition of the team include:

  • What is your total number of developers on staff?
  • What are the roles of each team member? For example, what is the breakdown of front-end engineers, back-end engineers, QA engineers, and any other key roles your project requires?
  • How much of your team is typically dedicated to a project like yours?

You can also ask for profiles of the team members who might be assigned to your project.

5. How Do You Ensure Code Quality and Best Practices?

Quality Assurance(QA) is key to producing viable, usable software that doesn’t frustrate users or leave behind gaping security holes (see the next section for more on security).

Whether you’re hiring a full-service software development firm to handle end-to-end software creation or simply hiring an outside company for their testing services, it’s vital to understand their approach.

  • Which QA best practices do they adhere to?
  • What type of automated testing do they use (e.g., system tests, integration tests, unit tests)?
  • What kind of experience do they have with testing?
  • How skilled are their testers?

Non-techies might not understand or fully appreciate the role that testing plays, but it’s an essential element of the development cycle. Make sure you’re working with an experienced provider.

6. What Is Your Security and Data Privacy Protocol?

When you work with an outsourcing company, they’ll have access to your source code and other sensitive data. Obviously, you’ll have them sign an NDA and other important documents, but you still need to ensure they’re taking the right security measures to keep your data (and your customers’ data) safe.

Any legitimate software development company will have systems in place to ensure cybersecurity and data privacy throughout the entire software development process.

Ask them for a detailed explanation of all their processes surrounding data protection and cybersecurity, and make sure they align with the requirements of your industry and general best practices.

7. What Is Your Pricing Model and Payment Structure?

One of the biggest benefits of software outsourcing is that it’s a cost-effective way to produce high-quality products efficiently.

That said, budgeting is only possible when you clearly understand the pricing model that your outsourcing partner uses. You may engage in a fixed pricing model, a time-and-materials model, or some other structure.

Whichever pricing model you use, and whichever payment requirements they have, make sure it’s all clearly spelled out in the contract.

8. Do You Have a Disaster Recovery and Business Continuity Plan?

In 2018, the city of Atlanta was the target of a ransomware attack that shut down computers for five days, disrupted a whole host of city services, and cost the city more than $17 million. Imagine all that loss, when the criminals were demanding $52,000.

IT disasters can strike at any time, in a number of forms, from natural disasters that impact physical servers to viruses, ransomware, and more. A good IT partner will have disaster recovery plans in place, and they’ll be able to work with you to develop business continuity plans so you can serve your customers while everyone works to address the threat.

9. What Tools and Technologies Do You Use?

A good outsourcing team will have access to the latest tools and technologies, using modern frameworks to support quality and efficiency.

Ask your potential partner which tools and technologies they use to support:

  • Project management
  • General productivity
  • DevOps processes
  • Analytics
  • Testing automation tools
  • Security automation software
  • Source control
  • User Interface (UI) and User Experience (UX) design
  • Any other tools they use throughout the design, development, and testing processes

Different companies will prefer different tools, which is perfectly fine, but don’t be afraid to do a little research and make sure they’re using top-of-the-line products that align with your in-house team’s needs and processes.

10. How Do You Handle Scalability and Future Changes?

Today’s software products are built to scale, and any development team must think about the long-term strategy surrounding:

  • Gathering customer feedback
  • Selecting and prioritizing features for new updates
  • What’s required to scale a given product and handle a larger user base
  • Plans for adapting to competitor products and market forces

Are your potential partners strategic thinkers who understand product life cycles and how to continuously improve software products? Ask them about their approach to scalability and product updates. This will give you a good sense of whether you’re dealing with order-takers or strategic thinkers.

11. What Is the Procedure for Handling Bug Fixes and Maintenance?

After you’ve released your software product into the market, the first round of actual users will discover bugs and request improvements. That’s all part of the product life cycle, and the new data you receive following your launch will help you guide future releases.

Before you even begin building the product, it’s important to have prospective development partners explain their anticipated post-launch role.

Their role will, of course, depend on your needs, but the important thing is to be clear about what everyone expects from the relationship. If you need someone who will continue to play an active role in post-launch maintenance and new releases, be sure to spell that out in the contract.

12. What Is the Communication Plan and Reporting Frequency?

Communication and check-in plans will vary from project to project, depending on how heavily you and your in-house team are involved in the product’s development.

If you’re handing the reins over to your outsourcing partner, there will naturally be less frequent contact between you and the project managers. That might involve quick weekly check-ins and meetings after each milestone is reached, for example.

On the other hand, if you and your in-house team are working in tandem on a project, you’ll need systems in place for regular communication. This may include more frequent meetings, creating Slack channels, sharing access to Jira project plans, and more.

Ask your prospective partner about their approach to communication and collaboration, and let them explain their processes. This will give you a sense of how well they communicate in general and what systems they have in place for similar clients.

13. What Is Your Turnaround Time for Support and Issue Resolution?

Software systems require support when users or administrators experience problems.

It’s one thing to identify a partner’s role in support and maintenance, but it’s equally important to spell out how quickly they’re able to respond to requests. It’s also important to ask how long they take, on average, to those issues once they’ve responded.

As with any agreement, it’s important to learn upfront what kind of contractual obligations both parties will enter into. On your end, you’ll want to be sure to have them sign Non-Disclosure Agreements, and the provider will likely have you sign a Master Service Agreement (MSA) and/or Service Level Agreements (SLAs).

In any event, it’s great to have this conversation early on with potential vendors, that way you can make sure you’re all on the same page regarding contractual obligations.

15. Can You Share Client References for Verification?

Any experienced firm should have a list of client references, beyond any case studies and testimonials that appear on their website.

Yes, those case studies and testimonials are important, but it’s great to speak directly with at least one or two clients they’ve worked with. This will allow you to dig deeper than any testimonial and identify any drawbacks to working with the provider.

You’ll also get a sense of how the long-term relationship has developed over time, since you may be reading case studies from three or more years ago. A lot can change in a few years, so it’s great to see how their product development efforts fared over the long haul.

Are You Looking for an Experience Outsourcing Partner?

At Net Solutions, we encourage our clients to ask the tough questions, because asking the right questions is the foundation of a successful project.

We’re a full-service software outsourcing company that handles everything from user research and design to development and testing. Plus, we’ve got experienced project managers who can guide your software solution to completion.

We’ve done complex web app and mobile app development for well-known organizations in the United States and Europe, from the Harvard Business Review to Euro Car Parts.

If you’ve got questions, reach out! We’re here to help.

WRITTEN BY:

Got a Project in Mind?