The first thing you should learn about your new partner is how long have they been operating and who is their owner. In any case, it’s always best to cooperate with a well-established and successful company which has been on the market for at least 5 years. The longer the business history, the better, because this means that it’s way more probable that they’ve already done a project similar to yours, or that they have some sort of knowledge in your business field. This is of utter importance, because the web development company you’re working with is also your business partner. You’re not just hiring someone to write the code for your app (actually, if that’s the case, you’ll be better off with a freelancer), but also to give you advice on key solutions for your application.
Company’s clients, track record and industry experience
In most cases the information about the main clients and projects could be found on the company’s website. Yet, do have in mind that each and every company has worked on projects which they cannot mention in their portfolio for one reason or another, so it’s always best to request additional information. And as regards the testimonials (feedback from previous and/or existing clients), you may look up the company profile in Clutch.co, where the user reviews are sent personally by their clients.
That said, you may look up our profile in the Clutch directory. The latter has actually recognized MTR Design as one of the Top Web development companies in Bulgaria in their 2020 report.
The company size (and especially the number of the programmers) matters insofar as the completion of your project in time depends on it. And also, it’s essential that the company can provide additional resources, if at a later stage the project requires involvement of more people than initially anticipated.
It's a common belief that the more hands at work, the faster the work gets done. In our view, however, based on 15 years of experience in development of complex web applications, you don’t need more than 4 – 5 people in the initial work on a project. So, unless your project is really huge, there’s no need to hire a company with hundreds of programmers. You should also take into account that smaller companies tend to pay more attention to each of their partners and projects.
Technical competencies, skills and experience
As far as technical expertise is concerned, your approach to selecting the right company largely depends on whether the project involves development of already existing web-based software (or you need to integrate a new solution with your legacy products), or you are about to start from scratch and work on a “greenfield” project.
In the first scenario, the existing software would largely determine the technology to be used in your project, so it would be wise to look for dev companies that have worked with the respective technology stack. And if this technology is outdated, it’s best that you choose among firms that have extensive experience in working with it – for example, they’ve developed projects with different versions of the technology, and they’ve made production migrations from an older to a newer version of the framework in question.
If you are starting your web dev project from scratch, the choice of technology would depend on the characteristics of the project (there are different tools that are effective to varying degrees in solving different problems), or on the expertise – either those of your team, or that of your partner. When the technology choice is based on the expertise of your own team, it would be easier to evaluate the quality of the partner's work and to control the development process. And if you trust your web development partner, you may let them decide which technologies will best suit your project.
Whatever the case, we would advise you to take the time to explain in detail all aspects of your project to the dev companies you are considering, and hear what they think about it. In most cases they wouldn’t have solid experience in your sphere, but the really good web dev teams could use what they’ve learned in other projects (regardless of the business field), and find their way in your project. If the questions they’re asking are meaningful (including such that even you can’t answer), and if their solutions are rational and simple, there’s a pretty good chance that you’ve found the right partner for your project.
Bad communication is one of the most common causes of unsatisfactory experience in project outsourcing. And because both parties suffer from a poorly organised business communication process, which inevitably leads to a poorly developed project, most agencies with strong market experience who care about the quality of their services have developed and follow communication plans of their own.
It’s not that important which means of communication you are going to use. In any case, you need more than communication over the phone and via email, in order to make sure that all persons involved are aware at all times of the project’s current status and if there are any problems that may have occurred during the development process.
For example, we use Basecamp for less-technical communication with our clients - to present all people from our team who will be involved in the project and to run discussions about business topics, app functionalities, UX directions and decisions. For daily communication and less important matters we use Slack. And for technical tasks we rely on tools, directly linked to the project codebase and the version-control system used (Gitlab/Github issues, Jira, etc.) In this way, each of our clients is able to contact our programmers directly, and get immediate feedback on the progress of their projects.
Of course, if a client of ours has already established certain means and processes of communication for a given project, we can use these tools.
We do realise that the price of a service is of utter importance when choosing a contractor, especially in projects that take months or even years to complete. Even if all other criteria are met, and both parties like each other, any partnership is out of the question if they don’t reach an agreement on a price that is fair and favorable for them.
Perhaps now is the time to discuss the two main pricing models that web development companies use - Fixed-price and Time & Material model.
The Time & Material pricing model is based on the number of hours actually spent on the project, and the agreed hourly rates of developers involved in the project. The Fixed-price model, on the other hand, is a contract where a web dev company offers to complete the project within the agreed price and timeframe. The price itself is based on the contractor's estimate of the time and skills required for the project completion, but the complexity of the project, potential risks and associated complications can greatly affect the final price.
Of course, both pricing models have their advantages and disadvantages. We won’t discuss this in further detail, but let’s just say that we at MTR Design use both, depending on the project.
In conclusion, we have to say that the selection of a web development agency is much more than filling out a checklist that will produce the right answer. It’s way more important that both parties in this process feel confident that this is the right business partner for them. And this usually happens during the initial communication – when the company clarifies what the project is all about, and the web development agency asks questions to clarify the business case.