How to spot right Software Development Company
You are planning to build your dream software tool. Probably you even know what problems your target profile users have and how your tool will help resolve them. The only thing you need is the product. You have made a decision to delegate software development to professionals instead of building software and maybe even a team by your own. This is smart move. We live in a time of sharing economy. Process of building software requires experience, talents and right management. The question is are you prepared to pick the right company you will cooperate with. This decision will have big consequences to you and your business for long time so be sure you are well prepared. Be sure you made the best decision you could having knowledge and informations from the market at that time.
At this article I will try to guide you through process of choosing the right software development company for long term successful cooperation.
Just before you buy
Before we go for shopping we should prepare accordingly. As you go for grocerry shopping - you prepare a list of products you want to buy. Same here - I strongly advise to look deep inside into your needs and communicate them well. Before you will start reaching to right partners try to write down those needs. They will help you to keep on the plan.
Do I know what I want to build
What is your business idea behind the product. What problems you want to solve? What is the list of functional requirements (prioritized by business value). Will it be only mobile app or you need alsoweb application (it multiply the cost). Thse questions should be answered. You shall have your own opinion. Don't close yourself for the recommendations of professionals. This is one of many values of cooperation which should not be overlooked.
Do I have a budget
Do I have a budget at all? If so - is my budget bottomless and as big as it needs to be (that would be great) or penny less? If you have one it is great. Then I will ask how your budget was prepared. Was it estimated? Was it prepared based on your past project or heuristic assumptions. Most software development companies will work on the budget.
You shouldn't forget that besides development of an app you should estimate the costs of: hosting of the application, maintenance costs.
Here in Poland, Europe entry level budget starts around $20 000 USD. Most common business model is time and material. Average price per hour is $40 USD. Be prepared to trade features for costs. Having an average price you can always ask yourself
Am i willing to pay lower than average market price and accept some minor deficiencies.
Am i willing pay market price and get quality service.
Am i willing pay more than market price for some additional value? It can be some non payable consultative sales, attention of senior management, product design workshops.
You should have your own vision of that. There is one important issue. Work with companies whith whom you are able to work out solutions. Beware of a companies which promise you everything.
How do I want to work with the software
The most popular and effective methodology to cooperate is Agile (Scrum). Dive in and be sure you understand the principles and roles. You can also ask for some short introduction at beginning of the cooperation with chosen company.
Do I prefer any technology stack.
This is quite important. Every technology has its own characteristic. It is better for one kind of project and worse for the other. Decision even have its own reflection in the cost of man hour price of the web developer who specialise in development in this particular technology. It will also determine future development so pay attention for arguments pros and cons particular technology. Try to avoid non mature programming languages and frameworks.
If you are bigger company then probably you already made that decision and now you need to follow it.
Questions are answered?
Now it's time to take some action.
It is hard to find a place where you can find some established software development companies. I can help you out with it.
You can ask for referrals you friends or colleagues from their outsourcing experiences or there are independent research and review portals listing software development companies such as:
Again I suggest to create an action plan:
Pick 10 companies who match your ideal software development company profile
Get in touch with these companies
Pitch them your software development project and tell how you want to engage with them (show them you made your homework).
Ask whether they are interested in cooperation.
What you should ask for:
General Company informations
Mission, Vision, Values
Size of the company ( engineers and other people)
Perks and processes to motivate people
3 case studies related to your project
Client contact referrals
Software Development / Project Management
Software Development Processes
Price for the service
Then rate every company based on above criteria giving each of them from 1 to 3 points.
From that list pick 5 best matches and proceed with 3 best if them (leaving 2 of them as a backup plan).
Ask your golden trio for:
Legal contract (it should be short and simple but all most important issues shall be placed in the contract)
Project Team Squad:
profiles of the candidates
available start of the project
interview meetings with each member
After reviewing all of above rate those candidate companies from 1-3 points taking into account criteria such as:
Negotiate mutual conditions having in mind win-win strategy. Please have in mind this is beginning of a cooperation. It is good to address expectations for both sides at the beginning. Then measure the results during the cooperation. Discuss and work on improvement of differences. Do not forget to celebrate successes and take lessons from the failures. Meet at least once a year face to face and integrate as this give huge improvement in engagement and accountability.