Commercial software applications provide users with a common set of features and functions. But what if you need a solution that is a better fit for your business? What if you need an integration from your well-known ERP to a lesser-known CRM? What if out-of-the-box eCommerce applications don’t meet your customer’s expectations.
If a commercial app won’t do the job, it’s time to consider having a proprietary software solution built. And if you’re one of the thousands of companies that don’t have the staff with the knowledge or availability to tackle the project, you should consider outsourcing the work.
Choosing to Hire: Consultants or a Company?
In that case, you have two choices – pull together a collection of contract developers that you interview, onboard, get up to speed, and provide direction and requirements to, or you hit the easy button and find a custom software development company.
The advantages of hiring a company are pretty clear. You’ll have an instant team without the overhead of management and hiring, contract negotiations, and so forth.
But hiring a custom software development company still requires careful consideration. You’ll want someone that can actually solve your problem. You’ll need someone you can work with. And most importantly, you’ll want a company that you’re confident will deliver the solution you require.
How do you do that? Below we’ve listed the top 8 criteria you should consider when you want to find the right company to build your custom software.
8 Considerations When Hiring A Custom Software Development Company
1. Project Size
Your project’s size is an important consideration when choosing a development company, but perhaps not in the way you think.
If you have a large project and are speaking with a smaller company, be aware that it may take most or all of their staff to work on your project. That doesn’t mean that can’t do the work, or shouldn’t be considered. It might mean there needs to be a discussion about when they can fit you into their schedule. Your timeline might not be able to accommodate the availability of a smaller company.
You’ll also want to understand what it will mean if the work is more than their existing staff can handle. Will they bring in outside contractors? How will that impact the work? Do they have a bench of contractors available?
If you have a small project but are speaking with a large software firm, you’ll have different concerns. A small project doesn’t mean that it’s not complex. Be sure that the company will assign experienced and qualified resources to work with you to get the job done right.
- How will you be staffing my project?
- What if the project increases in scope?
- What does your time and availability to work on my project look like?
You’ll want to ensure that the product that you receive will work within your ecosystem and will be an asset to your long term roadmap. If you already have a team of developers you plan to have support the application after release, you’ll also want to be sure it’s built using technologies they understand.
For instance, if you’re going to have a mobile application built, will the company be creating specific versions for iPhone and Android? Or will they be using a cross-platform development platform, like Xamarin? Is your team familiar with Java and can support the Android app, or are they only familiar with Objective-C and iOS? You’ll want answers to these questions before you dive into the project.
- What technologies are in your wheelhouse?
- Which do you specialize in or have particular expertise in?
- How do those technologies apply to this project?
Clarifying what you expect from the project upfront – and what the software development company expects to deliver – is crucial for success.
This consideration goes beyond the requirements of the project, however. Discussing what the software is and does is a given. The outcomes are more than that.
For instance, application ownership. You’ll want to establish before you hire a custom software development firm who will retain the rights and own the code. If the answer is you, then you have the option to have the company who created it expand on it or add to it or you can hire someone else to do that. Or perhaps you plan to do that yourself.
If, on the other hand, the software development company retains the rights, you won’t have that option and they will be able to take the app and commercialize it or sell it to others. These are the extremes, and there are many shades in between the two ends of software ownership.
Another consideration is additional project phases. You may decide to quickly create a first version of your application, but already know you’ll want enhancements and expanded features soon after. If you know that is the case, it’s a good point to explore when choosing a company. Even if you aren’t 100% sure that’s what you want, it’s still good to understand what any continued work on the application looks like.
- What are our options for the ownership of the application?
- Is there an additional cost if we want to retain 100% ownership?
- How will you price out new phases?
4. Flexible and Responsive
Software development methodologies have started to take into account that business priorities can change. That’s at the core of development processes using something like Agile. When you’re having a custom software development company create your application you’ll want to know that if your business needs should change slightly during development that you can discuss reshuffling feature priorities.
- How flexible is your development process?
- How would we work together if we needed to reprioritize our features for release?
5. After delivery support
The goal of everyone involved in the project will be for the software to work right from the start.
The reality is that you may experience some kind of issue anywhere from immediately after launch to many months or even years later. Because the potential timeline for finding an issue is broad, it’s best to discuss these different scenarios during the selection process.
This question may also be tightly connected with the answer to who owns the code. If your company owns it, you might have support in the immediate weeks or months following its release, but you’ll need to handle it from there.
- Based on our application ownership agreement, how long will you handle bugs and issues?
- If an issue arises outside of your support window, can we engage you for further fixes?
This may seem like an obvious consideration but it’s important enough to mention, regardless.
When choosing a custom software development company take the time to discuss their experience and be open to their answers. They may not have experience with developing your exact application, but if what you’re looking for already existed you wouldn’t need to have something custom built.
- Have you built something similar to what we’re looking for?
- What were some of the challenges that you ran into, and how did you address them?
- Do you have references we can speak with?
Unlike the previous point, security may not be an obvious consideration. But it’s one you should take into account.
Application security is as important as making sure that the software provides the functionality that you need. If this is a solution that will be sitting on your servers – on-prem or in the cloud – or that has access to your other applications you’ll want it to be secure. Software with vulnerabilities can be a gateway to your proprietary data.
- What is your process for securing the software to prevent hackers from using it to access our systems?
8. User experience
Whether your application is customer-facing or internal only to your team, the user experience must be considered. When it comes to your customers, you’ll want a solution that is enjoyable to use and doesn’t require a lot of support. For your internal team, a seamless and streamlined user experience means less time getting up to speed on its operation and fast adoption across the company.
- How do you plan the user experience?
- Do you do UX testing?
- What’s your process for understanding the end-user?