That’s good news for companies who need this type of service, as they have lots of options to choose from.
On the other hand, it also complicates the process of choosing the right team for your project. How do you even begin?
Fortunately, it can be as simple as asking the right questions.
This article shares ten questions you should ask a software development company you’re thinking of hiring.
Table of Contents
What projects have you worked on?
In our view, asking a software development company about their past experience is the most critical question.
The answers you’ll get here can tell you a lot about the development company and if they’re the right fit.
It can help you determine if they have the right experience, skills, work ethic, and level of professionalism for your particular project.
But to get meaningful insight, the company must provide as thorough explanations as possible. It’s not enough for them to say, “We worked on this fintech project.”
This is where case studies come in handy. A case study is a detailed walkthrough of how the development company tackled a project, including the challenges the team solved.
If the case study is similar to your current project, that’s a good sign.
It’s also good to ask for references from past clients. Checking up with them can give you unbiased feedback about the development company.
It will also help you verify if their claims are true.
If the development company can’t or won’t provide references due to confidentiality agreements, you can try checking third-party review sites like Glassdoor or Clutch.
Lastly, it’s important to ask about the typical profile of the companies they work with, so you can help gauge whether they’d be a proper fit.
For instance, if the company has only dealt with smaller companies or projects, they might struggle if you assign them a larger app.
How focused will you be on my project?
It’s not uncommon for software development companies to work on multiple projects simultaneously. Thus, asking how much focus they can give to you is a valid concern.
The best-case scenario is that the company uses a dedicated team model so developers can work on your project exclusively.
This is how DECODE operates. When we accept a project, we assemble a development team from our talent pool of 80+ potential team members.
They will only work on one project at a time because we believe constant switching would hamper their productivity and compromise results.
Of course, any development company could claim that they’ll focus 100% on your project. So, here are some follow-up questions you can ask to determine whether that’s really the case.
One, ask if your project will have a dedicated project manager. These professionals can be instrumental in keeping a project on track and fixing delays if they happen.
Even if a development team isn’t working on your project exclusively, a manager can make it seem that way.
Second, you can ask about the size of the team. A bigger team is likely to have a better chance of meeting deadlines and delivering quality work, even if they’re juggling multiple things.
Plus, assigning more developers shows the company’s full support for your project.
What development methodology do you use?
Methodology refers to how a software project is developed, including the processes and management techniques.
Different approaches have distinct pros and cons that will impact your client experience.
Thus, verifying if a software company’s methodology matches your preferences and expectations is important.
For instance, DECODE uses a subset of Agile methodology called Scrum.
Scrum divides the development process into sprints, which act like mini-projects. They include all the steps in a typical cycle, from planning to testing.
The beauty of this method is that it tests and reviews software regularly, thus giving more opportunities to find bugs.
It’s a great approach if the client prefers to be involved in the project, as meetings can be conducted after every sprint, giving the client the possibility of oversight.
On the other hand, a more linear approach like the Waterfall methodology is sometimes suitable for simpler projects where the client wants to be hands-off.
The important thing to remember is that there’s no right or wrong methodology. The best option is the one that fits your project requirements.
And you’ll only discover that by asking the software development company.
What tools do you use?
Tools can make or break any software project. The right ones can help deliver a quality project and a fantastic client experience.
Thus, asking a development team about their tools is in your best interest.
These include integrated development environments (IDEs), UX/UI design platforms, DevOps tools, and testing tools.
But probably the most critical is the communication and reporting platforms they use.
For instance, if you prefer to be hands-on in the project, you’ll want to get regular updates from the team. Ask if the development team uses collaboration software like Jira or Slack.
Tech stack refers to the technologies, programming languages, and third-party libraries used in software development.
Different projects require specific tech stacks, so you must know if the team can use the right ones.
For example, a fintech app would require more robust security than, say, a calculator app. Thus, using a programming language proven for security, such as Java, would make sense.
Ideally, the development company should be well-versed in various languages, frameworks, and technologies. That allows them to respond to any unexpected challenges along the way.
For example, here are some technologies DECODE uses.
Note that we make it a point to cover both iOS and Android and cross-platform technologies like React Native and Flutter.
Again, this shows flexibility and is a good sign for any development team.
What is the first step you take in a project?
As with anything else, the first step is always important. That’s why it’s a question worth asking your development team.
The first step sets the tone for the rest of the project. Furthermore, it solidifies the project’s foundation, which will help increase the chances of success.
So, what answers are you looking for here?
Ideally, the first step is for the software development team to get to know you (the client) and your project.
This is crucial because it determines everything else with the project—from the budget to the size of the team.
For instance, DECODE always starts with a consultation session or two (covered with a non-disclosure agreement) to discuss project details.
This allows us to gauge if we can take on the project and, if yes, the required resources.
We also talk with the client to find out their preferences.
Do they want to be involved with the project or take a backseat and let us handle it? What’s their vision for the app? What goals are they trying to achieve?
From there, we move on to the product discovery phase.
The goal of product discovery is to validate if the idea is actually something that the market needs. Here, we’ll define the user persona, study competitors, and do feasibility studies.
Of course, these first steps aren’t true with all development companies you’ll encounter. But they should all involve validating and exploring your software idea further.
Do you provide quality assurance?
This is a vital question because it will directly impact the stability and reliability of your software.
At the very least, the company should have a dedicated QA team.
But ideally, they should also have a continuous testing philosophy and use the right test methodologies. This ensures that the majority of bugs are detected and fixed early.
If the team can’t even explain their process or doesn’t have a proper testing workflow, that’s a red flag.
As an example, here’s what DECODE’s QA workflow looks like:
It’s also a good idea if a development team uses both automated and manual testing. Using only one over the other can limit test coverage and isn’t a good sign.
Automated testing speeds up the process by using test scripts. Manual processes, on the other hand, can evaluate qualitative metrics that automated methods miss, such as UX.
Because of this, it’s advantageous if the software development company also offers maintenance services after launch.
The main reason is that your software will always be a work in progress. You’ll get user feedback, bug reports, and other issues requiring software fixing or updating.
Furthermore, you’ll want to recover your app quickly during downtimes.
Ideally, it’s best to let the same development team handle maintenance because of their proven track record.
Plus, hiring another group requires passing knowledge, which can be slow and prone to errors.
Who will own the intellectual property (IP) rights?
A common source of confusion in software development involves ownership. Ironing it out as early as possible can save you from legal headaches later.
According to US copyright law, the client owns the intellectual property rights to the software, even if the team wrote it.
That means the client can do anything they want with it—sell it and even modify it.
This is the same principle that DECODE applies.
We cover all software projects with a watertight IP agreement backed by the strong legal framework of the EU, for our clients’ peace of mind.
Nevertheless, it’s crucial that you discuss this clearly with your development team and seal it with a legal contract.
What is your pricing model?
Pricing should be the top question you should ask potential software development companies.
Apart from your rates, you must discuss the pricing model they’re willing to support. This is vital because the wrong payment scheme could balloon your costs unnecessarily.
There are two models you can choose from—fixed price or time-and-materials.
In a fixed-price model, you agree on a set rate for the entire project. It’s pretty straightforward but doesn’t account for changes mid-development (which is fairly common).
In the time-and-materials model, you only pay your developers for the work they put in. It’s a much more accurate and fairer compensation scheme, so it’s our preferred model at DECODE.
Marko started DECODE with co-founders Peter and Mario, and a decade later, leads the company as CEO. His role is now almost entirely centred around business strategy, though his extensive background in software engineering makes sure he sees the future of the company from every angle.
A graduate of the University of Zagreb’s Faculty of Electrical Engineering and Computing, he’s fascinated by the architecture of mobile apps and reactive programming, and a strong believer in life-long learning. Always ready for action. Or an impromptu skiing trip.