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.

Tools

We use various tools supporting the seamless development process, like for example:

  • Microsoft Visual Studio (2010-2022), Android Studio, Eclipse - for coding and building
  • SVN or Git - for concurrently submitted source code and versioning
  • GitLab or Jenkins - for continuous integration and delivery support
  • Merant Tracker or Jira - for task planning and tracking

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.