Reading time: 6 minutes
The benefits of choosing one supplier for a complex IT project
27 / 02 / 2020
Choosing the right supplier for your planned project is just as important as employing a good construction team to build your dream house. You wouldn’t entrust this task to the first company you found online. It seems obvious that the selection process, in both cases, would be preceded by a thorough market research. Finally, we want to find a partner who is able to deliver entrusted tasks while maintaining quality, budget and deadlines.
In addition, the whole process of selecting a business partner is hindered by the possibility of separating parts of the project between different companies. In some cases, it may seem that employing a separate software house to perform one part, such as a mobile application, and a separate one for the backend is a good solution, however, such a decision entails consequences that customers often do not realize.
Every day at Unity Group, we work on multi-threaded cross-platform projects, which is why we know from our own experience the added value that cooperation with a single supplier brings to the customer during the entire Software Development Lifecycle (SDLC).
When does a project becomes complex?
What influences the complexity of the project? There can be many factors:
The number of details, i.e. the multitude of tasks, the complexity of the process that should be mapped, or even a large number of UX mockups.
Multi-modularity, i.e. wherever there is a need to integrate many elements. The simplest example of such a project is to create a portal with its counterparts for mobile devices and a backend module in one scope.
The more uncertainty increases, the greater the risk that something will not go our way. This increases the mark-up on risk management itself, but also involves an increase in costs (we are not just referring to the corrective actions we implement when the risk materializes, but also mark-ups that are added to the valuations themselves).
Unpredictability: if a given project is loaded with a large number of variables, it requires more work on the part of analysts, architects and PMs.
Project/business dynamics – manifested in a fast pace of changes, and thus a large variability in the scope of the project.
Stakeholders – a large number of people involved, as well as their potential relationships with each other, may translate into blurring responsibilities, a lack of clear guidelines or a long waiting time for making decisions on the client’s side.
Team – the size of the teams, or even a large number of teams that are dependent on each other, may reduce the efficiency of work (as it requires greater expenditure on meetings, joint planning, updates etc.).
Time – here we have to look at both ends of the spectrum. With a very tight schedule, the risk of errors increases (which is a direct result of cutting time for planning, testing and frequent overloading of the project team). However, for long-term projects, the need to document and transfer knowledge increases significantly. At the same time (but it is also related to the dynamics mentioned earlier), it is more likely that early design assumptions become outdated (maybe the initial concept will change, the budget will change or the customer will decide to add new functionalities, which will require us to remodel already produced elements).
Why then, it is worth to choose one supplier? Just as we would not order the construction of each wall of our home to a different contractor, we shouldn’t artificially separate the development of the system (which in fact constitutes one whole) when it is not absolutely necessary.
We know from experience that choosing one partner when working on a complex project has many advantages.
When working with one supplier, you’ll have your permanent team assigned. Thanks to this, you will also have the opportunity to get to know people and, thus, their strengths and style of work. This in turn translates into more accurate and reliable estimates. Further, as we know, better estimates mean more control over the progress of work, meeting deadlines and keeping it in the budget.
Working with one team from the very beginning also affects people’s involvement. Individuals who are involved in the project from the very first day identify more with it and are more motivated. Thus, they are more willing to take on the ownership – that is, they feel responsibility for the success of the entire order.
A permanent team is also easier and allows greater control over resources. As a Product Owner, you get your estimates only from one source, instead of multiple, unpatched channels.
Often, as part of a larger project, we have to combine modules created in different technologies. Usually, in these cases, we have dedicated teams specializing in specific solutions. If these are different teams that work for one company, in the same office, and have one PM who watches over the processes, then we have already solved the many communication problems that would definitely arise when trying to connect teams from different suppliers.
First of all, these teams know each other. They see each other in the corridors, eat dinner together, play table football together … they trust each other. You will not observe any shifting of responsibility, because although we manage different technological teams, they form one group with a common goal.
Secondly, these teams are physically in the same place. We do not have logistical problems related to organizing continuous teleconferences for three (and often more) interested parties. In case of any ambiguities, we do not have to wait for answers from the second contractor. Thus, we significantly save time and reduce inertia.
Thirdly, we eliminate stillness not only in the communication process itself, but also because teams can plan work together for the next sprints. Likewise, we aren’t waiting for another contractor to do his part of the work, which ensures no downtime.
One team not only provides less communication problems, but also greatly facilitates continuity in the transfer of knowledge. People involved in making key project decisions, such as architects, analysts, developers and PMs, work constantly with each other. The whole team understands why they approached a functionality in a given way.
It also has a positive effect in case of any extensions or refactoring. No one has to get into the code written by another team. Developers are familiar with the design, so they can approach adding functionality or improving their quality faster and more efficiently.
Additionally, by working with one supplier, we eliminate the risk of slipping in the case of used tools, or even with the very same work standards. A good example are situations where one team uses Git and definitely sticks to GitFlow, while the other does not, or when one team uses JIRA to plan the software development process, and another team uses something else, such as Targetprocess. By definition, complex projects are complicated; you do not need to make them even more difficult.
Another important aspect is the issue of ensuring security. SecOps, a set of tools and processes that are designed to provide it, is much simpler to implement and manage with fewer groups working on the project. Even when looking at access to sensitive data, we have to acknowledge that people are always the weakest link in the process, and therefore limiting access directly guarantees a reduction in the risk of data leakage.
Returning for a moment to the analogy of building a house, you would devote more time and energy to coordinating work with many suppliers and service providers than with one who will oversee and carry out the whole process consistently. However, just as when building a house with one subcontractor can be quite difficult, in IT it is not an overwhelming challenge.
Many IT companies are overcoming each other with the offer, new products, size and availability of expert teams. However, it is only in the many years of experience of consulting, designing, implementing and maintaining solutions do the greatest advantages lie. The comprehensive knowledge of the business partner, combined with the high-quality standard of the work carried out, will allow you to implement each of your projects with attention to detail and a calmer mind.