How to differ a bad contractor from a good partner? There can be many advantages of working by the outsourced model, but also many risks. Finding a good partner is difficult but an ambitious and necessary task. We wrote this article to help you differentiate good from bad and irresponsible contractors. What kind of mistakes do contractors make, so it’s not worth working with them?
SIGN #1 WORK OF THE TEAM IS NOT VISIBLE
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 project result was and whether work was underway.
How should it be:
- 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
SIGN #2 DOUBTFUL CODE QUALITY
In a rush, programmers write low-quality code that is very hard to support. Because of this, in the future, it will be necessary to rewrite the system from scratch, or it will not perform the required tasks and functions at all. The system may run slowly due to poor quality and unstructured code, so finalizing a new module will be challenging and expensive.
How should it be:
- 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 efficiently work with the code
SING #3 HAS NO DEEP UNDERSTANDING OF THE PROJECT
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 should it be:
- 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, and 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
SING #4 JUST THE VISIBILITY OF WORK, MANY EXTRA MOVEMENTS
The team creates the appearance of work – constantly, there are new documents with descriptions and further work files. The code is written just for the 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 should it be:
- 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
SING #5 DON’T CARE ABOUT DESIGN
Bad contractors focus only on functionality and don’t consider design an essential stage in product development and 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 should it be:
- 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 emphasize 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!
SING #6 GO TO NEW FUNCTIONS WITHOUT COMPLETING PREVIOUS
For your product, you have conceived many functions described in the contractor’s specifications. He began developing all the functions at once but didn’t complete any of them correctly. Six months later, all the modules are “almost ready,” but none can be used.
How should it be:
- Give the revised functions – correctly working modules that consider all the scenarios. Screens are correctly displayed on all devices and all operating systems. Pages perfectly 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 entire project’s success, 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!