How we do it – realization
of the order step by step
It all starts on our analyst's desk. It doesn't matter if it's a simple reflection on a small project in a few hours or a weekly structured process that results in a comprehensive document with process diagrams, a list of business requirements, infrastructure design and a data model.
An analytical document can serve in itself as a basis for a tender, part of a decision-making process on the effectiveness of the project and, of course, as a basis for future development.
Preparation / technical design
There is a thorough preparation between the analysis and the implementation itself. The architect must translate the requirements into a language that our developers understand. The goal for them is not to worry unnecessarily about the specification, but to be able to dive straight into the depths of algorithms and data structures. Such preparation includes, in particular, the specification of development tasks, API design and prototyping of the user interface, from which a completely accurate idea of how the final application will work will emerge.
Implementation / programming
The key step, of course, is the programming itself, during which the product is finally created that everyone is so impatiently waiting for. Our developers carefully go through the prepared tasks, specifications and technical analysis and gradually breathe life into the future application. At this point, all the components of a well-greased gear will fit together and our software factory will start to run on full capacity. The whole process is constantly carefully monitored and adjusted by the project manager so that unnecessary setbacks do not occur. This access saves the client's money as well as the nerves of all people involved.
Not even Rome was built in a day. We make things tailored and fulfill even the wildest wishes of the client. Unfortunately this approach brings the dark side – unexpected bugs and mistakes. We are coping with it with our heads held high. We are testing every development step from the beginning. We start with automated unit tests, which verify the correct implementation of individual functions, algorithms and interfaces. Each line of code goes through an output control in the form of a code review from a more experienced colleague, each new function is examined by testers under a microscope, and the entire release passes an integration and system test.
Deployment a DevOps
The last step remains – to launch the prepared application into the real world. This is a task for our system engineers and their fine-tuned set of DevOps tools preparing for virtualization, building and testing all application components. Thanks to them, the effort and hard work of the entire team will reliably reach the end users.
In order for the just born application to fulfill its function in the distant future, it is necessary to think about its support, upgrade and at least minimal development. Just as the most sophisticated machines become obsolete and break without maintenance, so do applications. We are also fully aware of it and provide long-term service to all our products.
Tools that help us create successful projects
Our main specialization is backends of large-scale information systems. For this purpose, we have been successfully using the Python programming language since the beginning of time.
A younger member of the family of our backend languages is Java. We dare to say that the Java programming language is the industry standard in our field.