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.
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.
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.
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.
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.
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:
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.
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.
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:
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.
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).
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.
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 processWe 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.
You are considering outsourcing some of your eLearning development. Since the success of your project largely depends on the relationship you build with your vendor, it’s helpful to meet with several vendors up front to make the best choice. Here are 10 questions you can use to guide your vendor interviews:
Most large-scale projects require different modality deliverables. Even if your project is not currently a blended effort, it may evolve into one over time. For example, an instructor-led course may be supported by an introductory learning video or an advanced online program for those learners needing more information. An excellent content provider will be able to make recommendations about delivery modality that you haven’t even considered yet.
If you’re working with a vendor to develop an online learning solution, will their package include supporting reference materials or redrawn graphics if needed? Can they help you brand the course? Develop a unique look and feel? For instructor-led learning, does your vendor provide both an instructor and participant set of materials? Handouts? Supplies for activities? How about a timing guide or pre-class instructions? Is printing included in the estimate or is it extra?
You’ll want to understand how the vendor estimates the final cost and timeline of the project. Is it based on the length of the web-based training? The complexity? The number of review cycles? If the initial estimate sounds too good to be true, it probably is. Developing effective learning takes time and money. Of course, you need to operate within your budget constraints, but be sure to educate yourself on what commonly causes changes to the estimate [1].
Successful learning development depends on effective collaboration between the Subject Matter Experts and the learning developers. This can be a sore spot for the development team. Be sure your vendor has a great track record working with time-strapped experts, extracting necessary information and getting their feedback in whatever way works best for the SME. You want your learners to be satisfied with the end product, but you also want your own team satisfied with the overall process.
This is a common circumstance at the start of a project and can be the source of delays and additional cost. Discuss the realistic impacts to the project cost and timeline up front. Discuss the option of bringing in your content provider later in the process. In addition, consider the possibility that the content may not be as complete or as accurate as your experts have indicated. Once development starts, gaps are often identified. It’s beneficial to review the preliminary content with the vendor during the proposal process so that all parties can see its current state and ascertain what will be necessary to develop custom eLearning deliverables.
Vendor practices vary widely on this topic. Sometimes, vendors treat the content as your intellectual property, but the output is their IP. Be sure you understand if your final deliverables will be shown to or used with other clients. And what are the end of project practices? Will you receive all files (including source files) or just a final deliverable bundle?
Related to our last question, if you anticipate later updates or revisions, you’ll need the source files as well as a copy of the development tool used so you can make your own updates. Otherwise, you’re dependent on the vendor to make ongoing updates. That option may make the most sense for your project, depending on your team resources and budget.
As we’ve mentioned, if you intend to maintain the final deliverables yourself after the project launches, you’ll need to acquire a license for the same development tool. Different tools also have different advantages and disadvantages [2], so you may wish to research them in advance.
Be sure to discuss the overall development and review process with the vendor. Confirm that there is time built in the schedule for adequate review and input. If you have multiple reviewers, confirm who is responsible for consolidating various reviews. This is a time-consuming element of the development process.
Most eLearning development tools create deliverables that are compatible with most LMS systems. However, if you have a unique configuration or your LMS team has tweaked some of the default settings, your custom eLearning content may need to be revised in order to launch or track properly. Discuss the vendor’s LMS testing/launch process and allow more time in the project timeline for this stage of the process than you might anticipate.
Your end goal in using these questions is to find the right vendor for your custom eLearning development project. The first project with a new vendor is a learning process, but collaboration on subsequent projects is often much more efficient, as you establish a process, communication methods, and strategies for review and testing for launch. Start by looking for more insights into this topic and be ready to maximize your investment in eLearning development.
References:
[1] Development Time for Corporate Learning: A Reality Check
[2] The Best eLearning Authoring Tools of 2018
For more information, please visit Sk Collet Chuck, Collet Sizes Explained, Hardness of Carbide.