So, you have decided to develop a personal ERP, your next step is the choice of the company-developer. And it is this choice that will ultimately determine whether your project will succeed or lead to an expensive failure.
From this article you will learn:
- what you need to understand before starting the search;
- where to look for potential technology partners;
- by what criteria to choose some of the best candidates;
- how to make a final decision.
What you needBefore starting the search of a technology partner, it is necessary to prepare accurate and specific information on the software that needs to be developed. To do this, hold a meeting of the heads of all departments and give answers to such questions:
- The scale of the ERP project? Which departments and in what extent will they switch to the new system, how many users will be connected, how many operations will be processed and so on.
- Your expectations? What do you expect from the developer, what qualities he should have and what work he should do. How to evaluate the outsourcing company when searching and after the completion of the project.
- How to regulate relationships? On what basis should your relations with the companies developing ERP systems be built (the form of contractual relations, what will be stated in the contract, how to resolve disputes).
- Project team? Expectations, wishes and requirements for the formation of the project team (composition, competence, management structure).
- Price and terms? Exhaustive information about the work that needs to be done, including the timing and cost of the entire project as a whole and the individual stages (elements).
Where to look for a developerReferrals. You probably know people from the headquarters or management of other companies that have collaborated with companies developing ERP systems. This can be your partners, suppliers or customers - now almost all use ERP to manage your business. Ask about their experiences, and if they are satisfied with the collaboration, ask the developer contacts.
Profile resources. Aggregators and listings where developers post information about themselves. There are a lot of them, but the most popular ones are:
- Clutch.co — resource with a large list of software companies. There are filters that help sort the lists by location, orientation, number of employees and hourly rate. All developers are checked using detailed application forms, real calls, customer reviews, portfolio and other factors.
- LinkedIn — social network for establishing business contacts, where you can quickly find software development companies of any kind. True, nobody checks them here, and therefore the list will be quite impressive.
- Appfutura — platform for placing orders for execution. You publish your project with a detailed description of all the specifications, functions, platform, deadlines, budget, and the like, and in the near future you will be contacted by companies offering their services. Then you can chat with their representatives and select the best candidate.
- Other listings. For example, Goodfirms.co, Adnify, Extract.co, Contractiq, The Software Network, They Make Apps, CrunchBase and others. You can find listings online using any search engine.
Social networks. In addition to the LinkedIn business network, you can also search for developers on ordinary social networks: Facebook, Twitter, Instagram StackExchange and on Asian Weibo, Qzone and Renren. All companies have social media accounts to attract potential customers. They tell about themselves, the team, customers and partners - a lot of useful information.
Events. If it’s important to have a personal contact when choosing a technology partner, visit events for software developers. There are a lot of them, they are held in all corners of the world and, as a rule, these are annual events. You can find out about the nearest ones in search engines or the corresponding section of the site Meetup.com (or its analogs).
Who to look for: the key criteria
Initial choosing of candidates
Take a look at the company's case portfolio. After studying it, you will learn what projects the development team has been working on. This will help you understand whether they have experience in the field of business and programming you need, as well as give an idea of the level of professional skills and the scale of completed projects.
Development companies that do not have much experience in creating ERP software may not be aware of the many problems that arise during the development of such systems and their subsequent operation. The scale of past projects is important because you can assess whether a technology partner understands the specifics of your business niche.
Check out comments and feedback. Check out what they write about the company in the network: social networks, reviews, news and profile resources. Such reviews can be found at Resiport, Venturepact and Clutch.co. But be careful, many such reviews are bought for the sake of increasing popularity or fighting competitors. Look for messages with details and screenshots of cooperation agreements.
In addition, you can check applicants on sites such as WebChecker, GlassDoor and BBB.com. These are resources where you can check the company's legal purity and read anonymous reviews of current and former employees of the company.
Check the company's technology stack. You need a partner who follows technological innovations and invests in new tools and technologies. He learns new skills and development processes as they become available and uses it in practice. So take a close look at the candidate portfolio and ask yourself the following questions:
- Did they previously create software for ERP systems?
- Do you notice innovative approach and / or innovative technologies like blockchain? For example, neural networks, virtual reality.
- Did they create software for companies that are similar to yours by business, scope, and sales chains?
- Does the development team participate in industry conferences, events, or open source projects?
- What approach to development do they use? For example, Agile or Scrum (80% of IT teams use this approach).
Remember about the geographical location. When looking for outsourcing developers, you may want to hire a team from the other side of the world just because they offer the lowest price. There is nothing wrong with that, but you need to consider the following points:
- Communication. Successful cooperation implies close communication, which is impossible if you speak different languages or live in time zones distant from each other.
- Culture. The development team should share with you all or at least the main elements of our culture. It will save you from many conflicts and so-called “translation problems”, when you seem to be talking about the same thing, but you mean completely different things.
- Access to the "body". The development of ERP requires the study of business processes, which is almost impossible without a personal visit to the office and production facilities of the company to explore all "from the inside".
- Education. It is important to remember that not everywhere education, culture, level of access to technology and other factors contribute to the training of good programmers. For example, in China and Northern Europe there are no problems with this, whereas in Nigeria or Pakistan there are very few good programmers.
What to ask candidatesMain questions:
- How do you work, what approach do you use? (Tip: get a general idea of the development process, team composition, management structure, and the like.)
- What communication tools do you use to learn about PPP: plans, processes, problems. (Tip: Need a procedure or mechanism that will allow you to monitor what is happening with the project.)
- How do we know that something went wrong? How do you handle failed projects? (Tip: Make sure that the developers were previously frank with customers whose projects went the “bad” way. Find such customers and chat with them. If you are told that the company had no problems or failures - do not believe it! Nobody is perfect.)
- What do you expect from us during the cooperation and what should we expect? (Tip: You need to know in advance about the responsibilities and needs of both parties, roles in the team and areas of responsibility.)
- How do you determine what customers need? (Tip: You need to understand how the development company will figure out which particular ERP software you need. Usually for this are used briefs, questionnaires and personal communication, general meetings.)
- What tools do you use for collaboration? (Tip: It would be great if you use not only e-mail for communication and collaboration, but also, for example, Trello, Jira, Asana or Taiga for process traceability.)
- Will instant communication tools be used? (Tip: This communication is more efficient.)
- Will the project manager and programmers involved in my project participate in other projects in parallel? (Tip: Much more effective when people are working on the same project.)
- How do you monitor / assure software quality? For example, do you use automated tests or code review? (Tip: Write it in the contract.)
- Who will own the source code of the ERP system?
- Do you develop technical documentation? How?
- Can you provide employee profiles? (Note: Usually such profiles are anonymized, i.e., without contact and personal data).
- Can I talk to the most experienced / professional person on your team?
- How do you solve the cost issue? (Tip: Let them give an example similar to yours.)
- Can you show your model cases?
- Why should we choose you, why are you better than others? (Tip: If the answer is abstract - this is a bad option, if it is concrete (we have a great project manager, senior programmer, IT architect) - everything is fine.)
- How easy and fast can you grow a team? (Tip: Usually it takes 1–3 months. If less, most likely, for you will be assembled a team of poorly organized freelancers.)
- What is your hourly rate for different categories of employees? (Tip: Usually this is what most influences the cost of development.)
- Have you worked with my business scale, focus area?
- Can you provide contacts of former customers - successful and unsuccessful projects? (Tip: The failed projects speak much more about the company: why the project failed, who was to blame, how the developers got out of it, how everything ended up).
How to make the final choiceIdeally, you should choose 5–20 candidates that fit all your requirements and criteria, and hold an open tender. So you can evaluate candidates in a competitive environment and get more favorable conditions for cooperation.
Just remember that you should not chase the lowest price (the highest doesn’t say anything about the quality of the product), usually it is offered by those who have nothing more to offer.