Expertise
Learn more about the services and expertise of Zwyssig Informatik GmbH and see for yourself what we can do in software development.
Solutions
Intelligence Lifecycle (BigData)
With the right and important knowledge in your organization, you gain a decisive advantage over your competitors and have the information at hand to make important decisions. To achieve this, however, you must analyze and process a wide variety of information sources for patterns and characteristics. The requirements on the resulting volume of data are high and call for new and modern concepts.
For many years we have been working with the collection, processing, analysis, production and distribution of data, turning raw data into valuable knowledge.
We offer you solutions for the following tasks:
- Storing large volumes of data
- Recognizing patterns
- Processing and aggregating past or current events in order to derive forecasts and trends
- Time- and geo-oriented analyses and visualizations
If you have solutions or similar tasks that need addressing, we are glad to offer you expert support with the design and implementation.
Software Practices
Continuous Integration and Delivery
The early detection and correction of errors during software development is an important part of a productive development environment. Continuous Integration fulfills this important requirement by continuously verifying all source code changes in the repository and actively notifying the team in case of errors. In addition, short and fast deployments of software products to various test and production environments are essential nowadays in order to respond adequately to changes in the value chain. With traditional manual release cycles, this means a great deal of effort and is prone to error. Continuous Delivery and DevOps make it possible to standardize and automate the distribution of software products.
We have solid knowledge and extensive practical experience in applying Continuous Integration, ranging from unit and integration test frameworks through build servers to Continuous Delivery with deployment pipelines and DevOps technologies.
We support you in the design and implementation of these innovative approaches in order to enable the most productive development environment possible for you.
Test Automation
A wide variety of software building blocks are used in software development, whether developed in-house or supplied by other third-party vendors. When integrating these building blocks, it is necessary to verify and ensure the compatibility and overall functionality of the system by means of time-consuming acceptance tests. Automating these acceptance tests reduces the recurring effort involved.
Using test automation with unit, integration and automated acceptance tests offers you the following advantages:
- Higher test efficiency through the simple, automatic execution of test cases
- Higher quality through early detection of defects
- Higher test coverage through the execution of multiple test cases
The quality of your product and your service is very important to us, and we believe that quality is non-negotiable and the guarantor of success. We are happy to advise and support you in the design and implementation of test automation.
Model-Driven Software Development (MDSD)
By using model-driven software development, changes for different technologies can be implemented in the shortest possible time, on both the macro and micro level of the software architecture. Using the specification model and the generators, you can unify the domain and your technology while always retaining an overview of your software architecture. Our approach to model-driven software development, combined with state-of-the-art .NET technologies, offers many advantages:
- Higher productivity through the reduction of repetitive work steps, improved communication through the use of unambiguous terms, and evolvability across other projects
- Higher traceability of requirements from the architecture down to the source code
- Higher testability through generation of test classes
- Higher analyzability thanks to the use of software models
Model-driven software development also conceals many risks, which can lead to mistakes and ultimately to additional costs. We support and guide you through the introduction and implementation of model-driven software development to ensure its successful use.
Parallel Programming
Modern computer systems, from high-end servers to smartphones, mostly have multiple processor cores. If you want to make use of this computing power, the question quickly arises as to which parts of a program can be executed in parallel, or how the waiting time for a media access can be put to sensible use through asynchronous communication.
The gain in performance and scalability, however, comes at the cost of increased complexity in the program code. The correct order of execution must be guaranteed, and access to shared resources must be protected through synchronization. If this goes wrong, it can lead to mutual blocking (deadlock).
We have many years of experience in parallel programming and asynchronous communication, and are happy to support you in using the .NET tools async/await, TPL, semaphores, mutexes and threads.
Architecture per arc42
Developing the architecture of a software system is creative teamwork that is often associated with uncertainties and risks. It does not follow a strict process or procedure model. To avoid sinking into chaos, we rely on the proven methods of arc42.
Arc42 provides a standardized template for architecture documentation. It forms a complete, structured and interconnected collection of all architecture-relevant topics — an indispensable support during the development and ongoing evolution of the architecture.
Clean Code
We place high demands on code quality. Software development must be worthwhile for the customer and contribute sustainably to value creation. Software systems are typically in use over long periods of time and must be continuously adapted and extended. That is why we implement our software according to the Clean Code value system:
- Evolvability (ability to be extended and changed)
- Correctness
- Production efficiency
- Reflection
To put these values into practice, the Clean Code Initiative provides a collection of principles and practices.
Certifications
- iSAQB® Certified Professional for Software Architecture (CPSA) - Foundation Level
- Certified Scrum Product Owner® (CSPO)
- Certified Scrum Master® (CSM)
- Certified Scrum Developer® (CSD)