Technology
Stack
&
Development Process
For many years in the field, we have used many different technologies, tools and methods of
software development and project management depending on the specific project and customer
needs.
We always follow our basic principle: to help our customers to solve their IT
problems in the most effective manner.
Thus, we moved from the waterfall project management
model soon, far before the year 2005. Since then, we use agile methodologies to develop our
software, where customer needs are at the center of our common endeavor. We develop software
iteratively, in review with customers and use SCRUM methodology often, but in a light version,
to eliminate non-effective meetings.
As the team is cca. 40 developers, our technology
stack does cover all major streams in software development technology: windows desktop and
WEB-based client/server applications.
Technologies
Here are some
examples of technology used in projects we have delivered, illustrating the wide range
of our software development experience:
- .NET4.7/C# Applications using Prism for dependency injection,
WPF for User Interface, critical Business Logic in C++17 Libraries, data in MS SQL
accessed via Entity Framework, installed and running on Win OS Desktop
- ASP.NET HTTP Gateways and Microservices in .NET6/C#,
communicating via RabbitMQ/AMQP, with C++17 Libraries built into a Linux Docker
Container, deployed on Azure Cloud
- Desktop applications and Windows services developed using
Delphi and Oracle PL/SQL.
- Web applications with a Java backend using Hibernate and an
Angular frontend, utilizing a PostgreSQL database.
- Android mobile applications programmed in Java, incorporating
native C libraries.
Development Process
- The process begins with the first contact with the customer/partner,
continues through analysis, specification, often prototyping, implementation, testing,
deployment, debugging, up to the delivery of the solution, including deployment in practice and
subsequent maintenance.
It is often iterative, including review and feedback integration.
- The process depends on the size of the project and the level of
cooperation. We have experience in managing projects ranging from one person-week to dozens of
person-years.
- In case of long-term cooperation with a customer who develops the software
herself, we can adapt to the technologies preferred by the customer.
- We have the best experience with software development performed by agile
teams with a motivated product owner, developers and testers in properly planned and controlled
sprints (usually 2 weeks long) that represent iterative improvements to the product (aka Scrum).
Items defined at the specification requirements level are fed into the product backlog,
which is continuously refined to a prioritized list of tasks with a detailed specification,
including clear acceptance criteria and technical design, and with estimates we can commit to
(including both development and testing activities).
The process is supported by tool like
Jira in this case.
- Our internal communication languages are Slovak and English, and we also
have projects in German.