1. Choose outsharing vs outsourcing

Outsourcing refers to passing low/average quality tasks to cheaper remote teams and saving costs. They simply build what you tell them. Outsharing means finding high profile partners who perform on a top level, read between the lines and think about the most optimal development way. They are your true partners and add value beyond simple software development.

Now both options have pros & and cons and this is where you have to clearly make a decision. If you’re under the budget and looking to save costs, ask you partners about their pricing and look for decent quality (quality/price ratio). If you strive to build a great product and simply look for exceptional talent, focus on quality parameters, which will be presented below.


2. Check their Portfolio

Before you start doing anything, check the portfolio of the provider. Sounds so f****** self-evident and you’re right. Yet, the devil is in the details. First of all, evaluate the number of portfolio items. There should be at least 10. Check their natural attractiveness and the design appeal. Evaluate the status, size and general recognition of the clients these items were built for. Check if the company presents testimonials. If it’s a mobile app, do not be lazy and download it to test it yourself. It has to carry a convenient UX and work smoothly, fast and without any bugs. If it’s a website, do not be lazy and sign-up for the service. You cannot imagine how many malfunctions start appearing once you actually use the product as opposed to simply having a look at the screenshots. Always consider the scale the software solution is handling. This is your primary exercise and only the companies passing this test are worth closer inspection.


3. Check the technologies they use

Go to the website of the firm and check the technologies they use. A modern, growing and high quality company would use the latest or at least up-to-date tools. For example in front-end web development look for angular.js, html5 and\or javascript. Now older technologies might not be a disadvantage either – some firms might still use WordPress as CMS (25% of the whole web is built on it) or php to optimise the development and\or save costs, which is good for outsourcing. Yet, in the latter case the best combination would be php or WordPress as the back-end and then a stack of modern tools for the front-end.

Pay attention to the size of the company and the number of technologies they master. The narrower the field, the bigger specialization and in general better expertise of the firm.


4. Check their services and the level of specialization

The notion of specialization and experts in one field can be continued by examining the services of the company. Once again the firms size should be considered as some huge companies might have specialized departments for specific services and these departments might be as competent as separate software boutiques. Yet, in general the more specialized the company is, the bigger the odds they are true masters of their craft. Sometimes it’s surprising to see a software company to do web, mobile, ERP development as well as data mining and QA with 10 employees only.


5. Check the basics like company age, size, revenues & locations

Now one option for efficient outsourcing is looking for the “raising stars” or companies, which really want to prove themselves. These are usually 1-3 years old, employ 5-20 people and do not have their representative offices abroad. If their portfolio looks good and the managers work under up-to-date standards, you have a fair chance to hit a great bargain. Another way to go is to look for time proven firms, which specialize in outsourcing. Usually they are based in talent abundant, yet relatively cheaper Eastern European destinations like Ukraine or Belarus.

For efficient outsharing look for more experienced (3+ years) and a bit bigger (20+ employees) firms. The company’s foreign offices would be an advantage proving they have enough clients from abroad to support the office. The latter means more successful international projects and more experience to become you high profile partner.


6. Check company’s social presence

Stay careful with stronger conclusions. It’s definitely an advantage for the company if it has social presence. It communicates credibility. It shows what the company is up to. Yet, do not immediately disqualify firms without social presence. Some great software houses and digital agencies are run by sharp geeks, who might be skeptical about social networks. They might still do a great job, yet they require more research in terms of transparency.


6. Check the senior management & company owners

Firms are run by people and in the end it’s all about their talent. Check the employees on Linkedin. Our general rule of thumb says that usually there are 50% of company’s employees on Linkedin (for software development firms in Eastern Europe). If this number is way lower, additional investigation is suggested. Check senior management, their experience, years within the company, recommendations and other HR related topics. Obviously make sure that people building your product has enough experience in that.

Now we have covered the public information, which is usually presented on company pages and is worth assessing. Let’s march to the questions, which need to be asked the representatives of the firm themselves.


7. Ask about lead developers and the team dedicated to you

Once again it’s all about the leading people who will be building your product. So feel free to ask about their profiles (Linkedin, CVs) and experience. Be curious about how many seniors, mids and juniors they have. Ask about the composition of the team specifically for your project. Ask if the same team will be working for your product for the whole time and about the number of projects they will be doing simultaneously. Feel free to wonder if the company is doing any of outsourcing. Outsourcing might be beneficial, yet the major question is the competence of the outsourced team. Finally, the majority of the performance will be determined by the decisions of the team lead, so strive for the best one and pay close attention to the company offering the top one.


8. Ask for the client contacts and ACTUALLY call them

Once again it seems self-evident, but you would be surprised how little users are actually doing it. First of all, it’s a great test for your potential partner. Strong companies never hesitate upon this question. They have many successful projects in their case and immediately can promise you some contacts. They are used to being asked this questions. Pay closer attention to companies, which hesitate much or especially say that all of their clients are confidential. Sure some of them could be, yet it would be strange to have all of them anonymous.

Finally, actually make a couple of calls and listen to the customer voice. Of course companies give the contacts of the friendliest clients or the ones who give the best words about them. On the other hand, pay close attention to the background and position of the person, giving this recommendation. The bigger the status, the more he treats his reputation seriously and gives more objective suggestions.


9. Ask if they give any guarantees

Believe it or not, but some software development companies and digital agencies provide with financial guarantees for the project. They have credit lines at banks and are able to guarantee you that they pay x amount of money to you if the conditions of the agreement are not met. Now even this is an extreme example, it’s still worth to look how confident the companies are about themselves. Other firms, do not charge for the first two weeks of development if the client is not satisfied. Once again treat the guarantees as a sweet extra and an advantage for a company which offers it. Some firms do not offer them just because they have plenty of clients. There might be nothing wrong with them.


10. Ask about the tools they use and managerial practices

A modern company can usually work under several ways. Conventional waterfall is one of them. Then most of the progressive firms are able to use some kind of agile methodology. Usually it’s scrum. Then they use some promising tools accordingly. The usage of Jira or its alternatives suggest potential agile capabilities. Of course, the case should be investigated further, but it’s a some kind of beginning. Ask if the company is using sprints, morning stand-ups and how often it communicates with the clients. Ask about its foreign language proficiency.


11. Use Aciety

Yes, use it. Use our system simply to assess the providers. We have already screened hundreds of companies to select high quality ones. We have done much of the research so we could save your time. Use our system to search portfolio items and select firms based on what they actually deliver.

To sum up, this is our list of actions to help you to evaluate the potential software development partner. We would like to draw your attention to the Pareto rule and the fact that some factors are more important than others. When it comes down to selecting software houses it’s much about portfolio and the client references. So make sure you dig really deep within these two fields. Make also sure you try Aciety 🙂 As always any comments and reflections are more than welcome.