You set the task and together we find a great solution
The added value of software is that it is easy to understand, can be operated efficiently and is used with pleasure. Understanding you – our customers - and your needs correctly is essential: What problems do you face? Which groups of people are affected? What added value is achieved? Which solutions make sense?
Our user experience expert team has all the necessary skills to establish a common language together:
Work out business goals and product vision, generate and evaluate benefits
Identify user groups, understand their needs and describe them as personas
Define meaningful and user-friendly content
Structuring information and defining navigation paths
Define user interactions with storyboards, wire-frames, and prototypes
Design user interfaces using moodboards and mockups
In development, we rely on proven industry standards. Our engineers are involved in the analysis and design process and contribute with their technological know-how at an early stage. They develop technical concepts and verify ideas using prototypes.
In the implementation we rely on «Test-Driven Development»: First we define how a piece of software is to be tested before it is effectively implemented. As a result, our code has a high test coverage. We regularly check whether the quality of the tests is still correct and whether the targeted coverage has been achieved. Each line of code written is also reviewed by a teammate to ensure compliance with our programming guidelines.
Our solutions are built automatically after completion of a function and installed on a test system. There our testers check again whether the original requirements are fulfilled. The next step is to deliver the software to the customer for review.
This is how our solutions achieve above average quality!
Building efficient software solutions for real challenges is a complex task. Experience shows that yesterday's ideas are already outdated by tomorrow. In response to this constant change, agile project methods have emerged. They consider the fact that knowledge is continuously gained and new requirements arise during the course of the project.
Agile methods stipulate the breaking down of a planned software into its components and the roughly description of its individual functions. These ones are transferred to a prioritized list, which is processed in regular, short iterations from top to bottom. At the end of each iteration, in so call refinement meetings, the priorities are reviewed to ensure that the most urgent tasks are worked on continuously. During an iteration, the rough functions are detailed, designed, implemented and tested. In this way, the project team develops the optimum solution step by step.
We are avowed fans of agile practices for one simple reason: they have proven themselves!