Choosing a software development company to tackle your project is a bit like recruiting and hiring a new employee. The challenge is not simply finding a software developer. It's about finding the one that's the best fit for you, your project and your timetable.
Here are 10 things to consider:
Set your budget. This is especially important if you're a smaller company dipping a toe into the world of custom software development for the first time. You don't want to decimate your bottom line spending more than you can realistically afford. Do some research on typical costs, give yourself a ballpark and then start thinking about your project. But remember, in software development as in most aspects of business, you get what you pay for.
What is the scope of your project? Not all firms take on projects of all sizes. You can find firms that run the gamut from small shops that specialize in small projects to large operations that handle enterprise-level work. Decide what camp you're in, and look for firms that have successfully done your type of project.
Start with the end result. You have to think about your needs, wants and desired outcome, and then go about finding the best firm to deliver them. How best to know what you want and need? A good starting place is talking to your employees. Ask about pain points, snags in the process, things that bog down productivity, roadblocks that always seem to pop up. Then you'll have a good understanding of what you want to fix with this new software. It will be your developer's roadmap of the product they're going to design for you.
Check out the firm you're considering. Just as though you were interviewing a person for a position in your company, you need proof that the development firm you choose can do the job. Ask for proof of their technical skills, expertise, portfolio, education and credentials.
Ask for references of similar projects. Have candid discussions with past clients of your prospective developer about what went wrong, what went right, how they were to work with and whether they'd use the firm again. You can also check the company's rating on Glassdoor to see how employees feel about working there.
What will the working relationship be like? Talk about expectations for working style, communication and reporting. Are they open to collaboration? Set out some ground rules for how the working relationship will progress going forward.
Ask about security. Will your intellectual property be safe? Do their developers have non-disclosure agreements and have they passed background checks? Many U.S.-based firms require it, whereas many overseas firms do not.
Are they based in the U.S.? This matters for myriad reasons. U.S.-based developers can communicate efficiently and effectively with you, understanding your needs easily. Also, firms based in the U.S. work when you work. If there are problems or issues that need to be addressed, your developers are on the job when you are.
Code is not all created equal. You don't want someone who is too out there or unique, in case it needs to be redesigned by someone else later. Make sure it's written in a common code language and that it's designed for updates.
Ask about ongoing support and follow up. What happens when the project is complete? Is it a set-it-and-forget-it situation, or will your developer be there to help if things go wrong?