Software Engineering

Tailor-made solutions for your individual challenge

We specialize in the development of individual software solutions for complex challenges. Whenever a company chooses such a tailor-made solution, there are the highest demands on quality, expandability and smooth operation. This allows us to achieve consistently high quality and prevent regression.

The project know-how is distributed in a DevOps team, which continues beyond the implementation phase. This ensures that new features and updates can be integrated at any time, even after long development breaks – successful operation and support guaranteed.

We develop in stable, multidisciplinary teams.

We develop sustainable software architectures and document them meticulously.

We analyze and check each line of code with at least four eyes.

We guarantee the highest level of automatic test coverage.

We always keep an eye on the company operations during the development.

Mastering technologies together

Only in a team does the ever-growing density of technology remain manageable. We have many years of experience and certified experts in the development and operation of on-premises and cloud solutions (e.g. AWS, Azure). The appropriate backend frameworks (e.g. ASP.NET Core, Django or Laravel) and programming languages (e.g. C#, Java, Python, PHP) are part of the standard repertoire of our developers.

The same applies to various database systems (SQL or No-SQL) and containerization solutions (e.g. Docker, Kubernetes). Connections to machines and systems (e.g. PLC-based controllers) using frameworks and protocols such as OPC-UA, CAN-Bus or MQTT are implemented project-specifically.

Data Analytics
IoT & Shopfloor

Depending on the requirements, user frontends utilize frameworks for developing desktop applications (e.g. .NET WPF, Qt on Windows, Linux, macOS), mobile applications (e.g. Xamarin for Android and iOS) or web-based applications (e.g. Angular, React, JavaScript or TypeScript).

The connection to the backend is usually established with the native means of the respective framework or e.g. by REST- or GraphQL-based interfaces. The use of web technologies creates synergy effects in many projects in the development of frontends, which are to be used on different target platforms (e.g. also via app containers such as Electron or Cordova).

We build it, we run it

Our DevOps teams take overall responsibility of planning, conception, software creation, operation and maintenance. Only through this interaction can it be achieved that the software meets the desired requirements for quality criteria such as robustness, fault tolerance and scalability.

Our development flow meets these criteria:

  • Automated Release Pipeline
    Especially for cloud-based applications based on continuous delivery principles. In order to be able to publish the current state of development at any time.
  • Infrastructure as Code
    Reproducible and traceable automatic deployments by versioning the operational infrastructure, such as cloud resources, build and deployment pipeline.
  • Feature Toggles
    In order to be able to react quickly to new requirements and problems as part of continuous integration. In addition, early (user) feedback can be obtained and incorporated into the development process.

Quality and expandability

Our agile approach model aims to continuously deliver high software quality. Code analysis, code and architecture reviews and automated testing are central elements for forming a common understanding of quality in the team and for quality assurance.

This also allows us to share knowledge about the latest implementations in the team. A uniform architecture and code style also increases the comprehensibility, extensibility, and maintainability of the software.

Automated testing is a central part of any XITASO software project. You ensure that features work according to requirements at the moment of implementation, even in the event of subsequent changes. This means that good test coverage not only increases the development speed of new features, but also facilitates changes to existing software parts.