[OBSERVE: Use this field to inform the user (in your language) that the Join us page is only available in english]
12 things you need to know when deciding to outsource software development
Choosing an IT outsourcing company to carry out a technological project is not an easy task. You may have many doubts and questions, for which you need answers before you can make the final decision on selecting a given partner. You may even be unsure whether the quality of the provided software will be up to par. What if you fall into a legal trap at the contract signing stage? What about maintaining control over the project and gaining insight into the work of the team? Find the answers to these and many other questions! Read through the following checklist to discover what you should check before deciding to outsource your software development!
1. Company size, location and experience in the industry
One good place to start is with those seemingly simple things, ones which are also very important and will enable you to verify quickly what kind of supplier you’re considering. Checking what the company headquarters look like, where they are located and how many people work there allows you to determine whether you’re dealing with a trustworthy partner. What else is worth assessing at the beginning? Ensuring that the company is financially stable. This will testify to its maturity, experience and the management skills of the staff, as well as giving you a sense of security that the company will be able to cope with any problems. Its scale is also important, such as the size of their team of programmers and whether the departure of one person could leave your project marooned.
2. Completed and ongoing projects, references from customers
Always verify which customers the company has worked and still works with. Are these large and recognizable brands? Or are they only small, local businesses? Never forget to check whether the company’s references are signed by actual people, that they are still current, that the company works in technologies that are of interest to you, and whether it has experience with projects from your industry.
It is also invaluable at this stage to see some demo applications (web or mobile) that the company has in its portfolio.
3. Degree of advancement in project management, and form of contact with the company
The success of a project depends on whether the outsourcing company has experience in comprehensive project management. It is therefore important to determine the structure of the team which will handle your tasks. Always ask questions: does the chosen business partner have a complete scrum team, can it offer you support not only from a team of programmers, but also from Project Managers, Quality Managers or an Agile Coach. An experienced and comprehensive team will testify to the business maturity of the company. You can then count on comprehensive support, so you only have to deal with basic supervision over the process. Always pay attention to the way in which the company deals with the organizational issues of the project, and whether it has contact with the end users and understands their needs and expectations. One added value is the supplier’s guarantee regarding their ability to identify a customer’s problem, at the very start of the process during dedicated workshops, then present an idea for its solution, as well as efficiently determining the time and costs of the project, and preparing a realistic schedule for the required workload. Ask for certificates! In this way, you can confirm the supplier’s competence in such areas as Agile methodology, project management or IT security.
4. Organizational culture
The term “organizational culture” can seem enigmatic and difficult to measure. How can it be checked if you do not work at the company? The foundation of the organizational culture is based upon the values of the company. The company’s vision is an expression of their purpose, and their values are a set of guidelines that influence their thoughts and behaviours, allowing the vision to be put into practice. How can you verify this with your potential supplier? It’s best to ask them directly about their vision, mission and values. Whether they actually impact the functioning of the company can be revealed during your first conversation with the salesperson or the development team on the supplier’s side. Conflicts in organizational culture, such as when one company manages projects under the Waterfall model and the other under the Agile model, can cause misunderstandings between the customer and supplier in terms of both expectations and project requirements. This seemingly obvious element can therefore have a significant impact on your project, either towards its success or failure.
5. Agile or Waterfall business model?
From the point of view of the project, choosing which methodology will be used to create it is an important stage. First of all, it’s important to decide what you expect from the project – a variable, dynamic environment or stable work? How will the working hours, scope and costs be determined, in advance or with some flexibility in this scope? An analysis of your expectations helps in choosing which business model will bring the greatest benefit to your company. What decisions do you need to make?
In the IT industry, the Agile methodology has become extremely popular, and it’s a perfect fit. Agile is above all a tailor-made service. It allows the customer to contact the supplier at every stage of the project, and to maintain full control over what is currently being developed. The key to Agile is to deliver the “MVP” – minimum viable product – right from the start of the project. The customer sees a tangible part of the still imperfect product, which is then improved and refined during further works. In the initial phase of the project, it is therefore possible to validate whether the resulting product will benefit the business or whether it’s better to quit rather than burn cash by continuing the process. Determining the scope of works on an ongoing basis allows for a great deal of creativity during the development process itself.
Under the Agile methodology, the Time&Material method is the accepted form of project settlement. Why is this so beneficial? You avoid creating a full specification and setting a specific amount in advance, you are billed for the working hours of the team dedicated to you, and changes are not as expensive as with other settlement models. It’s crucial at the start to define at the most important functionalities of the project and the business assumptions.
For this type of project management, the scope of work and requirements are stable and known from the beginning. You should be aware that this model of software development makes it impossible for you to maintain any insight into the project and ongoing control over it during development works. You receive the finished software at the end of the project – by which time it can be cumbersome and time-consuming to make any changes, and maybe even impossible. There is therefore a risk that the end result will differ greatly from what you ordered. Waterfall assumes settlements under the Fixed Price model, which may also give rise to some traps. The price is estimated for the entire project in advance (based on the work schedule and your scope of requirements), and then if the product does not perform the way you wanted, you may feel that your money has been wasted.
You bear sole responsibility for choosing the method, so it is worthwhile verifying whether your intended supplier has the required experience in the methodology you have chosen, and whether they are able to effectively carry out the project to its end.
6. Physical distance
The smaller the physical distance, the better – this is obvious. It is well known that face-to-face meetings can be much more productive than conference calls. However, geographical distance should not automatically exclude a company from being chosen as your IT service provider. But how can you ensure that the long distance does not cause communication problems? First of all, check if the company has the tools to organize video conferences, and whether they are willing to visit your office from time to time. Personal contact can have a very positive impact on speeding up work on the project, as well as achieving a better understanding of your needs. When you choose a supplier operating in a different time zone, it is good to learn how they deal with this challenge and whether they can adapt to your working hours.
7. Ability to manage a remote team
Experience plays a key role in remote team management. Therefore, it’s worth asking a potential supplier about how long they have worked in such an ecosystem and what tools they use to work effectively with a team in a different location. It is also useful to find out what methodology they use and how they solve problems caused by remote work.
8. Development team set-up time
What should concern you in this respect?
“The team will be available in over 3 months”. If you hear something like this, it could mean that the company does not yet have a team for you, and will be recruiting it. This creates the risk that the team may not be set up on time, the members may not work well with each other, and the may not know the culture of their organization well, which in turn will affect your project.
“We’ll assign a team immediately!” Such a message should also be alarming. It could mean that they will select the members of the development team from another project (so this could be the fate of your project in the future), or the team could comprise people lacking in experience and the appropriate skills – and thus be unable to provide the desired quality.
A good sign in favour of a company is that the team cannot be put together immediately, but certainly in less than 3 months.
9. End-to-end solutions
If a supplier can guarantee that it will provide you with a complete team of programmers, testers, UX experts, Cloud or Security specialists and Project Managers, you can say that it is a trustworthy company.
10. Technological partners and quality of the services provided
Find out whether the intended supplier has technological partners, who the partners are and what their relations are with your supplier. This allows you to determine whether the company is stable, guarantees a certain quality, is familiar with modern technologies and uses them effectively.
11. Legal issues – framework contract
At the supplier selection stage, it is worth considering what kind of framework contract this company uses. A framework contract is a form of agreement on the readiness to commission and perform a service. Therefore, it is worthwhile requesting your future business partner to show you a template of such a contract, ask about the criteria for withdrawing from the contract and how the programming work will proceed. A framework contract is a starting point for working with the selected contractor, allowing you to establish the terms and conditions of cooperation. It is therefore important that you understand the terms in this area. If a supplier can guarantee that it will provide you with a complete team of programmers, testers, UX experts, Cloud or Security specialists and Project Managers, you can say that it is a trustworthy company.
12. Awareness of GDPR, data security
In this era of the General Data Protection Regulation (GDPR) and the awareness of how those regulations put in place in 2018 affect companies, it is essential to check whether your potential software supplier complies with the current law imposed by the European Union and carries out all work in line with these regulations.
A good sign is if the company signs the Data Processor Agreement (DPA).
If you wish to delve deeper into the issue of GDPR, you can also ask the potential supplier how they take care of the customer’s intellectual property (the resulting programming code), how they manage information inside the organization, how they protect confidential documents, what form of technical environment they use, whether there is any possibility of remote access to design works and whether such access is securely protected against unwanted individuals. It is also worth verifying what is included in the Non-Disclosure Agreement (NDA) proposed by the supplier, and how soon they propose signing such an agreement.
This is only a basic checklist, and certainly does not exhaust the subject. Bearing in mind that both the desire to digitize a company and the huge budget involved in such an endeavour are at stake, and should be used effectively, we have written a guide for you. We are always more than pleased to personally answer any questions about software outsourcing, during a meeting, workshop or even a conference call!
Managing Director Cybercom Poland
Make sure all fields are filled with valid information
Thank you, your message has been sent