How to choose a software house

HubOfTech was created about … years ago. Since then we’ve made a lot of contacts who, once in a while, ask us what is the best way to find a good software house. Quite often we feel that we wouldn’t be the right fit for them (even though some might argue that is we see a sales opportunity we should use it).

To understand the reason for this situation let’s dig deeper into main aspects that should be taken into consideration when looking for a perfect fit when it comes to software development.

People

I can’t stress that enough – people are the key value of any company, especially a software house or R&D team. So once you make sure that the company is within your budget I would strongly advise you to meet the people behind the numbers. Ideally, you should visit their office, but whenever the situation requires you can simply make a call on which you would meet the potential team. I’m not saying you should do recruitment (you have to trust the company to do that properly) but one hour call to get to know them is totally enough. The key point is that you must feel comfortable with the people you’d be working with!

Stage

Another factor that has to be taken into consideration is the stage of your product. Some companies are perfect for creating simple MVPs and in a way – short projects. Others are way better when it comes to taking over the codebase. The rule is pretty simple (usually) – the less advanced the idea is (which usually means it’s an early stage) – the less picky you have to be. I’m not talking of course about taking the cheapest and low-quality company, but let’s face facts – it doesn’t take rocket science to build a simple MVP fast. Heck, sometimes even implementing an already existing solution (especially in the e-commerce area) will do the trick. So be careful about your expectations towards the team, given the stage you are in.

Time

And that brings us to another important factor. Most of you think of time as a deadline date. It is good, you should keep it in mind (rarely you will need a team that is available in a year from today) but it is not actually what I wanted to tell you. My goal is to stress the importance of having a lot of time as a product-owner. If you are planning a project or are already running one and you know that you just have an hour a week to maintain your relationship with software house – don’t bother. You will waste your precious hours and a lot of money. Working on any kind of software will require a lot of time and energy from the owner or the person designated as the product/project manager on the clients’ side. There a lot of decisions to be made and many meetings to attend. Be prepared to think about your project every day – only then it will make sense. And as for the deadline – the more you think about your project, the more ideas you have. Some of them will need to be implemented so it is good to be realistic about the deadline. You will need to constantly control the number of functionalities in the first version or another iteration so that your deploy date will stay more or less the same. 

Price

This is a very sensitive subject. Naturally, most of the early-stage companies are looking for the lowest price possible – but in our opinion, that is a dead end. There’s nothing wrong with finding the best quality to price ratio but never try to optimize the cost to the maximum. Most of the time it’s better to spend a few dollars more and has higher quality than doing things in the cheapest way. Usually, the latter approach will cost you a lot of money once your product gains traction – as it will require rewriting once the user base grows.

Another thing is – do not be afraid of the Time & Material model. This is the way most of the companies operate in and if you will find a company you will trust – they will be open about the budget and will be keeping you in the loop during the course of actions – making sure that you will know exactly what the money is used for.

Methodology

The rule is pretty simple here – the less you know about what you are building the more you actually need AGILE model of cooperation. If you have full specs of the project (which is rarely the case in our experience) you can consider going with the waterfall approach, but please remember – any changes in this model will generate way higher costs than in AGILE approach.

Location.

A simple, yet important thing. Especially at the early stage, it is good to either find a company in similar time-zone or be prepared to spend some time in the evening (or early morning) to have some meetings with the team. The remote working model is definitely working well, but you still have to see if a given company has some experience in that area.

Social proof

Last but not least – ask for references. Check out portals like goodfirms or Clutch to see if there are some references. Additionally, ask the company to provide some meaningful ones. By meaningful I mean references form a company operating in a similar field, or running a similar business model. It’s not a must – but definitely a nice-to-have.

To sum up: Concentrate on the people – in the end, they will be responsible for your project. Find a team with passion for their work and excitement for your project. Try to keep in mind that a proactive and crafty team can be a better fit than just experienced one as creating software is also about the excitement about the thing you are creating.