Once you’ve made the decision to have a piece of custom software built, whether it’s an app or a piece of software to smooth out an internal process, it can seem daunting to figure out which software company to work alongside. This is a big investment and it’s important to choose the right software partner for your project.
It can seem like there’s no good way to choose a partner. All the websites seem to say the same things and all the sales pitches start to sound familiar. But there are some good ways to differentiate between software partners even if you have never worked with one before.
We have partnered with many different companies for many different jobs so we know what companies are looking for in a partner, even if they can’t articulate it. Here are the six areas we think are crucial to finding the perfect software partner for you.
Six Important Qualities in a Software Partner
Strong track record
Ask for examples and case studies of their work. Talk about goals of the project, the approach they took, and the software created. Don’t worry too much about finding someone with projects that match yours exactly, but do look for experience that will be applicable to your work.
Most importantly, ask for references. A reputable software development company will be more than happy to give you the names and contact information of some of their past clients for you to interview about their experience. Some great sample questions for these interviews are:
- What is it like working with Company X? What went really well? What was challenging?
- Did they deliver what they said they would on time and on a budget?
- Did you look at companies other than Company X? Why did you choose them?
Continuous and transparent communication is very important when building software. If you aren’t a developer, understanding the progress of your project will be difficult if the team doesn’t have communication skills. Here are a few things to consider:
- Are they responsive? What is their average response time? Will you have a dedicated project manager or just a general email address to send questions to?
- Is there someone on the team that can help explain the technical progress and implementation in a way that allows you to make informed business decisions?
- How will they communicate with you through the build? Again, will you have a dedicated project manager or will you just communicate with various people on your team throughout the process? Is there a dashboard or command center you will have access to or scheduled update communications throughout the process or is it an ad hoc approach?
Focusing on your business goals
Remember, you are building software to achieve a business goal. It might be to generate a new line of revenue or service your customers better. Maybe you are building software to help your business run more efficiently. Whatever it is, you have a business goal that is driving your decision to invest. It is important that you find a partner that will understand that goal and help you make decisions to reach that goal. Here are a few things to keep in mind:
- Do they seem to understand your business goals and provide insights on paths to achieve those goals?
- Are they listening and asking good questions?
- Are they able to articulate the trade-offs for different implementation options?
- Are they listening and asking good questions? Do they seem to understand your goals for the build or do they seem to tune out when you talk about them? Are their follow-up questions well thought out and seek to expand their knowledge of your project or are they just repeating back what you said to them?
The makeup of the team
You want to look for a company that provides a team that goes beyond just development services. Find a team that is skilled in design, product, development, and process so you ensure that you get a comprehensive custom solution. If you or one of your employees has some expertise in these roles, talk to the team you’re interviewing about their experience working alongside of existing teams. That said, you also want a lean, effective team that is skilled at delivering all these things: design, product, process, development. Things to consider:
- What roles will be engaged in your project and at what capacity?
- What is your role and interaction with the team?
- What is the experience level of the team that will be on my project?
Deliver quality code
You’re investing a lot of money in software. You need to be sure you are going to get a quality product. A great way to figure this out (and to seem like you’re up on the lingo) is to ask if they practice Test Driven Development (TDD) and automated tests. Having automated tests means that your software app is being tested using automation in order to ensure everything will work as planned and greatly reduce the number of bugs.
Another important thing to know is if they have experience building scalable solutions. After this vetting process, the last thing you want to do is launch your software and, shortly down the line, realize you want it to do more only to find that your build isn’t able to be expanded without a new build or completely revamp. You want to work with someone who can build something that will grow with you.
A great software partner will check all of these boxes and more. They also will be prepared for you to ask these questions and will have strong, clear answers to each area. It’s a good practice to avoid any company that can’t, or won’t, answer these questions. Here are a few questions you could ask:
- What is your approach to automated testing?
- How do you ensure the software that you deploy will work?
- What is your approach to building software that I can continue to evolve as my business needs grow?
Values that align with yours
You can tell a lot about a company by its mission, vision, and values. Investigating these often overlooked aspects of software companies can help you differentiate between your choices. You want a team that’s as passionate about your project as you are. You don’t want to be another client cog in the company’s wheel. You want to work with people that are as excited and dedicated to this project as you are. Here are a few things to consider:
- What are their values and do they line up with the values at your company?
- Does the team seem like people you will enjoy working with? If you’re not going to be working with the people you are talking to, see if it is possible to interview the actual people working on your build. You are going to be working closely with them for a long time so it’s important you connect with them. like them or has a connection with them.
Learn more about choosing your custom software partner in our latest podcast episode.