Everything You Need To Know Before You Pick A Software Development Company
Here are 6 things you need to know when you're looking for a software development company.
Remember, it takes experience to create good business software. You're looking for a team that you’ll enjoy working with, that will ask the right questions about how your business works and that can develop high quality software quickly.
1. It pays to write a reasonably detailed brief.
Prepare a brief. Get someone to spend some time talking to users and ask them to write down the business requirements. Avoid long detailed paragraphs and instead write down the requirements as numbered user scenarios - short statements in plain English that describe things from a user's point of view.
2. Always ask for fixed price quotes.
Some suppliers prefer time and materials because the customer pays when things are late, but a decent supplier will be happy to give you a fix price quote if you can give them enough detail about what the software needs to do.
Think about payment milestones. It's reasonable for the supplier to expect some payment during the development but you should link payments to delivery milestones - delivery of an early requirements specification, completion of some early functionality etc. Final payment should be when you've signed off on acceptance testing.
3. You need to take an interest in the supplier's preferred technology stack.
Do you have a preference for a particular technology stack?
Most of our systems are built with open source tools and technologies: code written in PHP; PostgreSQL for the database; and the finished application running on Linux.
Occasionally we get clients who want something different - usually they want their application built with the Microsoft technology stack because they got some wider integration requirements.
Ask the supplier to explain their technology choice in straightforward language - you want a technology stack that is future-proofed, well supported and widely used in the software development industry.
4. It can make sense to give the supplier an idea of your budget.
You don't have to do this but there's an argument that says you should give the supplier an early idea of your budget.
If your budget is too small and your expectations are unrealistic then you need to know sooner rather than later. Alternatively, they might be able to propose a slightly different solution - one that does fit. You can of course keep some budget back as contingency - the supplier doesn't need to know about that.
5. You must ask to see examples of other, similar work that they've done.
Get them to tell you how long the applications took to develop and how much effort was required from the client. Our experience is that clients often slightly underestimate the amount of work they need to do, particular when we're talking to them at the start about the detail of their business requirements.
Ask about some of the issues and challenges - what can they tell you that will help you understand how they'll approach your project?
6. Nominate someone in your team to be your project manager and get them involved right from the start.
Software developers struggle when it's not clear who's making the decisions at the client end. They like a single point of contact - someone to coordinate client feedback, hunt down answers to questions and make quick decisions when necessary.
You have multiple internal teams that all have a stake in the new software? You need a project manager.
If you're looking for a supplier to build a new internal system, or a new product that you'll sell to your customers or you're looking for a new supplier to rescue a struggling project, you need a team that can design and build great software and also meet your deadlines. The key to that is experience - look for a team that's got a strong track record in building the kind of software you need.