10 questions to ask a custom software development company

11 min read
March 3, 2023

 

As of 2022, there are 21,500 software development firms around the world.

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.

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.

Case study example

Source: DECODE

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.

Software development roles

Source: Tigo Software

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.

Scrum sprints

Source: IT Chronicles

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.

Waterfall model

Source: Actitime

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.

Here are some other examples:

Collaboration tools for business

Source: WhatFix

It’s also ideal if the software development company uses the same communication tools as you do or, at the very least, can easily adapt to them.

This ensures that you can begin working together as quickly as possible.

To give you an idea of the tools to look for, here’s our rundown of the best platforms to use when working with software teams.

What tech stack do you use?

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.

DECODE tech stack

Source: DECODE

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.

Product discovery lifecycle

Source: Net Solutions

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:

DECODE QA workflow

Source: DECODE

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.

For more information on manual and automated testing, check out our article here.

Do you offer support after launch?

Development doesn’t end when your software launches. In fact, the bulk of the work is only beginning.

As proof, consider that as much as 67% of your development budget could go to maintenance.

Development budget breakdown

Source: University of Houston-Clear Lake

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).

Fixed-price model

Source: DECODE

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.

Time-and-materials model

Source: DECODE

However, note that each of these two models has its pros and cons. Which one you’ll pick depends on your project.

For instance, fixed-price is a straightforward option if you have a project with well-defined requirements and a limited budget.

Otherwise, a complex app would do better with time-and-materials.

The important thing is that your software company supports your preferred payment method.

This is only a small part of the hiring process

We hope you appreciate the power of asking the right questions when hiring a development team.

However, that’s just one part of it.

Hiring the right team is a complicated, multi-step process that can be time-consuming and tedious.

Yet it doesn’t have to be.

If you’d like to learn a quick framework for hiring a development team, check out our primer here or read up about some common hiring mistakes so you can avoid them.

Categories
Written by

Marko Strizic

Co-founder and CEO

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.

Related articles