How to differ a bad contractor from a good partner? There can be many advantages of working by the outsourced model, but also a lot of risks. Finding a good partner is difficult, but it is an ambitious and necessary task. We wrote this article to differ it from a bad and irresponsible contractor. What kind of mistakes do contractors make, so it`s not worth working with them?


The manager assured that the team was working and would show the result “in the nearest future”, and after weeks of work, it wasn`t clear what the result of the project is and whether work is underway.

How it is needed:

Use the Scrum project management methodology:

✓ Carry out daily calls where show the status of the tasks

✓ Make the result demonstration each sprint (2 weeks)

✓ Analyze the results of each sprint

What is the benefit for you:

✓ You see not only the final result but also understand the progress along with the sprint

✓ You see delays and problems on time and keep your finger on the pulse


In a rush, programmers write low-quality code that cannot be supported. Because of this, in the future, it will be necessary to rewrite the system from scratch or it will not perform the necessary tasks and functions at all. The system may run slowly due to poor-quality and unstructured code, so it will be extremely difficult and expensive to finalize a new module.

How it is needed:

✓ Make and show a code quality assessment using special programs – professional tools for analysis

✓ Work on git-flow, where some programmers check others to avoid mistakes

What is the benefit for you:

✓ You don’t need to overpay for alterations

✓ You get a working system that is easy to refine and scale

✓ Other programmers and teams can easily work with the code

Подрядчик в IT


The contractor simply performs the task pool, not wanting to delve into the subtleties of the project and study it. Developers just write the code the way they understand the task.

How it is needed:

✓ Make a competitor analysis and study successful counterparts in the market to understand trends and delve deeply into the project

✓ Fix errors and improve the system along the way, playing the role of business analysts

✓ Developers write code, taking into account business requirements, think about creating a product that will be interesting and convenient for the user

What is the benefit for you:

✓ The contractor isn’t just “hands” that build, but also a “head” that will find and come up with the best solution


The team creates the appearance of work – constantly there are new documents with a description, new work files. The code is simply written just for fact and over time it turns out that the functions aren’t logical, inconvenient, or impossible to use. Business doesn’t get results – a system that can be used.

How it is needed:

✓ Iteratively create a finished product that can be used after the first sprints

✓ Instead of 20 sheets of documentation, make one prototype and clearly show how the new module will work

✓ Don’t just write code but offer a solution for business – work functions that are needed

What is the benefit for you:

✓ You get the result – a system that you can use 

✓ Save time and money


Bad contractors focus only on functionality and don’t consider design as an important stage in product development and as a tool to achieve project goals. Don’t reuse logic/components from already developed system modules. Don’t use a design system – a unified style and approach to project design.

How it is needed:

✓ Follow the best solutions of modern UI/UX design with care for the user

✓ Don’t just develop functionality to the level of “everything works fine”, but make a big emphasis on the visual part to the level of “comfortable and beautiful”

✓ Use ready-made solutions and components from already completed system modules

✓ Use the design system and templates in the design to speed up the work and improve its quality

What is the benefit for you:

✓ Time for design and engineering is allocated as efficiently as possible

✓ Users get a product that looks like they want to use it all the time – all because it has a responsive, understandable, convenient, inspirational design!

IT аутсорс подрядчик


For your product, you have conceived many functions that are described in the specifications for the contractor. He began developing all the functions at once but didn’t complete any of them properly. Six months later, all the modules are “almost ready” but none can be used.

How it is needed:

✓ Give the revised functions – correctly working modules that take into account all the scenarios. Screens are correctly displayed on all devices and all operating systems. Pages correctly show information, even if there is no data, there is no Internet or the user entered an incorrect value

✓ Develop all functions in stages, bringing them to the desired result – a modified functional that you can use

✓ Pass to the new task only after the previous one is fully completed

What is the benefit for you:

✓ You see how your product is formed – gradually, but with visible results

✓ You get working functions after the end of the current sprints, and not at the very end of the project when it turns out that something remains unfinished

We think you have found at least a couple of matches with the work of your current or ex contractor. Their mistakes and lack of professionalism can cost you the success of the entire project, so we advise you to carefully choose the company to which you are ready to entrust your business. We try to follow the principles described in the paragraphs “how it is needed”, taking care of you and the end-users of your product. Speaking of the importance of outsourcing, Forbes wrote an excellent article.

The next step after choosing a contractor will be writing a statement of work (SOW or specifications). In our article “How to make correct requirement specifications”, we have written everything you need to consider. Good luck with implementing your ambitious ideas!