Outsource the smart way

6 tips for choosing a software development company

choosing a software development company

Choosing a software development company to outsource your work to is a common occurrence these days. You may need to do it for a variety of reasons. Maybe you’re a startup and don’t have a team big enough to develop software yet. Maybe you’re an established company, but your IT team doesn’t have the time to build your latest business idea. Maybe the issue is just a lack of local talent in the region you live in.

No matter the reason, choosing your next partner can be challenging. It’s important to think things through from the start. In a 2018 Global Outsourcing Survey, Deloitte asked over 500 executives from leading organizations what they’d do differently in their next outsourcing initiative. A surprising 42% said they’d spend more time selecting a service provider, highlighting just how important it is to do your research before making any decisions.

Here at Mooncascade, we’ve been helping companies build great software products since 2009. We love what we do and we know how much value a successful collaboration can bring to the table. So we thought we’d share a few tips to help you make informed decisions, build strong partnerships, and develop great software the next time you’re looking for a company to outsource your work to.

Tip #1: Don’t rush RFP

Don't rush the request for proposal stage (RFP) when choosing a software development company
Take your time to learn to know your potential partner. It will get you to your goal quicker.

Our first tip is simple. Spend more time learning about your partner early on and you’ll increase your chances of success down the road. This is key during the request for proposal stage (RFP), where you’ll be soliciting business proposals from potential partners. It can be tempting to speed through this process and jump right into development. But knowing who you’ll be working with is essential, as it’ll make or break the product you build. Here’s a short checklist to go through before moving forward:

  • Check your partner’s references.
  • Find out who they’ve worked with in the past and drop them a line.
  • Learn about their experience in the industry.
  • Ask about past projects and results.
  • Compare your findings and see which candidate is best for you.

Rushing through RFP can lead you to work with a company whose approach doesn’t match yours or that doesn’t truly understand your needs—a trap you should avoid at all costs. You want to be familiar with your partner’s methods and their experience in development, and you want them to speak your language, too. Remember that starting to build a product a little later than planned will always be cheaper than spending months building it poorly. So don’t hesitate to take your time here.

Tip #2: Ask how they handle challenging situations

Ask how they handle challenging situations when choosing a software development company
Which way would you want your partner to handle possible problems? Image: Devops

Any company that claims to never run into problems when building a product with a team is probably lying. Mess-ups and miscommunications are part for the course in group-based projects. IT development in particular can be very unpredictable, and it’s impossible to perfectly control every part of the process.

The question isn’t whether or not you’ll have any issues, it’s how you’ll deal with those you come across. So it’s essential to ask your partner about their approach to communication, especially in tough situations. They have to be reachable and open to holding daily stand-ups to discuss how your project is moving forward—no exceptions here.

Key things to look for are how transparent, accountable, and proactive your partner will be. Let’s say an environmental issue leads to a misfire in a development sprint, or someone makes a bad call including a library they shouldn’t have. What will they do and how have they handled similar issues in the past? What if the project goes over budget, how will they react?

Ask them tough questions like these. Not only should they make it clear they’ll take responsibility for their actions, they should also show an active willingness to fix them along the way.

Tip #3: Discuss the technical side of things

discuss technical questions when choosing a software development company
Building a software product is, after all, a technical thing. Bring your technical people to the table and let them go wild with their questions. Image: Pawel Kadysz

This next point is crucial. Request access to your partner’s technical staff as quickly as possible and ask them to discuss the project’s technical specifications with you. Learn about their capabilities and get suggestions for improving your approach. Some important questions to ask include:

  • How do you hire your development team?
  • Which tech stack do you use?
  • What kind of product management methods do you use?
  • How do you ensure code quality?
  • How do you make sure that what you’re developing is what I want?

Make sure your partner uses best practices like clean code, code reviews, and QA testing. This could also be the right moment to ask about IP. At Mooncascade, for example, we work in sprints. Once a sprint is completed, IP is transferred to the client. This quick turnover means that you get ownership of the product—and peace of mind—in small increments along the way, rather than after many months of development.

Tip #4: Assess how they’ll be creating value for you

Transparency is key in any working relationship. So ask your potential partner what they think of your idea and how they’ll be building its value during your collaboration. Find out if you see eye to eye on things, or if they have any improvements to propose.

A good software development partner will usually ask you a lot of “why” questions, to understand what your end-users need and how your project will help them solve it. They’ll also want to learn more about the context your idea was created in and try to understand how decisions have been made so far, making suggestions for implementing better practices wherever possible.

Make sure they know where you stand and what your limitations are. Anyone willing to sign a contract without an in-depth discussion of your company’s background and current position should raise a red flag. Would you trust someone who says they’d work with you without looking closely into what you do first? You probably shouldn’t. You want to make sure your partner knows exactly what they’re getting into. That means respecting your privacy, too. So while we’re at it, don’t forget to sign an NDA.

Don't forget to sign an NDA when choosing a software development company
Of course, make sure you both understand the NDA in the same way. Image: Social Signal

Tip #5: Request resumes

When choosing a software development company, ask to see the resumes of each team member you’ll be working with. You want to treat the process as if you were hiring staff for your own team. Make sure your partner has what it takes to build your product. If they do, they’ll have no problem sharing their employees’ skill levels and industry experience.

This is something clients ask us for all the time, requesting one-on-one sit-downs with team members when we tell them we can provide X amount of people with Y skills. And it makes sense: if you talk the talk, you’ve got to be able to walk it, too.

Tip #6: Keep an eye on contract negotiations

choosing a software development company
Don’t let your legal department work on the contract alone. Things move quicker and you’ll have a better overview when you keep track of the process.

This last phase is one of the most important. If your partner’s price estimation seems really low, that’s another red flag: they might be desperate.

Don’t hesitate to take a second bid during this part. But when taking competing offers, make sure your procurement process supports agile development and has room to adapt to unexpected situations. In software development, a lot can change during the project cycle, so few partners are going to work with you if you have a rigid price plan.

One last thing to watch out for in the contract-signing phase is risk. Make sure your contract covers this. If something breaks, what happens? If there’s a disagreement, how will it be solved? Many companies these days also make a separate contract to cover support once the product has been launched. Software updates happen all the time, so you need to know how your partner will deal with any issues you might come across once the next Android or iOS update is rolled out.

When choosing a software development company, be demanding!

Hopefully these tips will help you choose your next outsourcing partner for product development. For us, the main takeaway is this: don’t hesitate to be demanding. Treat the process like a lot of time and money are on the line. Which they will be, once you sign the contract. Look for partners who value transparency and accountability, as well as proactive thinking and problem-solving. The more rigorous you are in this phase, the smoother your partnership will be, and the more successful your product will be once your collaboration comes to an end.

THINKING ABOUT OUTSOURCING ?

If you’d like to ask for advice, our Business Development team would be glad to help guide your way and make outsourcing software development easy. Don’t hesitate to get in touch!


Published by Hanna-Mari Kirs

. Hanna-Mari is our Business Lead for European Markets. Previously part of the team at Monese, she has varied experience working in a rapidly changing startup environment across different roles and responsibilities. At Mooncascade, she helps our clients to stay on top of the competition and achieve their business goals.