Why should you choose Solutional as your development partner?
Jarmo Pertman 2023-05-17 (5 minute read)
We recently had a conversation with a client about why they should prefer us as a software development partner over others? What are our pros and cons? I'll try to summarize the topics covered in the conversation in this article.
There are a lot of software development companies in the market with different profiles that differ from each other to one extent or another. As far as we know, there are only a few companies similar to Solutional in Estonia. We are mainly characterized by the following points.
We do not have positions like project manager, analyst, architect, tester, application/system administrator, product developer or UX specialist in the company. We only have software engineers who think and treat the development as if it were their own personal, most important task to complete and that kind of mentality is the same from the beginning to the very end of the project.
Since we only have one role represented, there are no communication problems that usually happen when there are multiple roles between the client and developers. Our software engineers communicate directly with the client on a daily basis, this ensures that developers will understand exactly what kind of issue the client wants to focus on so that they can offer technically and commercially the most effective and cheapest approach.
During the development process, a situation often arises where the client thinks that they know the solution on how to fix a certain problem. In reality, however, the problem might be a symptom, and the root cause exists somewhere else. During a direct discussion between the client and the developers, there is a greater chance that the root cause of the problem will be discovered sooner rather than later and the best solution for all parties will be found, which avoids spending money and time fixing the symptom rather than the root cause.
We practice agile software development technique called pair programming. Since two pairs of eyes are working on solving exactly the same problem at the same time, at first glance the customer may get the impression that it is a mindless waste of money - after all, they are paid twice as much for the same thing compared to other practices, where each developer works on solving a separate problem at his desk, i.e. at the same time there are two separate solutions to different problems in progress.
In reality, however, two minds guarantee that the software quality and security will be better. Every line of written code is thought through more carefully, and when writing the code, there is a constant so-called code review, which is why possible defects are less likely to slip through. This, in turn, creates a situation where you very rarely have to return to already implemented functionality due to unthought-out or defective functionality at the time of development, and you can always focus on solving new business problems.
Pair programming automatically brings advantages, where all developers know something about the whole code base, software development does not stop when one of the project members gets sick or goes on vacation, and changing team members in the project is possible without much effort.
And of course, since two developers use the same computer, there are no situations where developers forget themselves in social media for several hours. Pair programming is such a practice that requires constant focus and thus a time contribution to the client's project.
Our software engineers write automatic tests for their own code. By writing tests, we ensure that the code works exactly as it is intended to work at the time of writing. Thanks to the existence of tests, it will be possible to change the code much more easily in the future in a technical or commercial sense, leaving the previously developed functionality in working order.
In addition, the presence of automatic tests helps to catch edge cases while implementing new functionality and implement it with the help of passing tests.
Thanks to writing and running tests, a more manageable/upgradable code is created, which can be taken over in the future by someone else instead of us without fear of accidentally breaking functionality in an unknown code base.
Since the codebase is covered with high-quality automatic tests, the so-called testing phase that often exists in the release process is also skipped. Instead, newly developed functionality can be instantly deployed into production, reducing the time it takes to deliver new functionality to end customers.
Unfortunately, many of our competitors do not write tests at all or write very low-quality tests. Such an approach does help the project to move forward faster in its initial phase, but in the long term the whole project collapses under its own weight, and another phase of writing the project from scratch is waiting at the door, because it is no longer possible to develop the existing codebase with reasonable speed and quality.
When our software engineers work on a client's project, they do so 100% of the time. In our case, this means working hours from Monday to Thursday, as we practice a four-day work week. Without constant expensive context switching between projects, we ensure that the work is done as fast as possible.
However, many of our competitors work on several projects in parallel, which in our opinion makes the efficiency of work execution very low and increases the time required to complete the functionality.
Hopefully, this article provided a sufficient overview of what makes Solutional different from many of our competitors and what our advantages are compared to them. If the points described in the article raised any thoughts/questions, please feel free to contact us and maybe we will become partners in the future.
Be sure to contact us if you have any complaints towards your current software development partner.
Solutional is an agile software development company which has a team of professional engineers who are able to solve all software problems from beginning to the end without any middlemen.
Contact us at email@example.com in case you have any new or existing projects needing help with successful execution.