The principles on which we base the development of new software have become firmly established over the years. They reflect our convictions, and as such we are happy to set them out right here.
The days of monolithic IT structures are gone: we design our software to run on all platforms, from Windows PC and MAC through to Linux and iPhone. In the case of desktop software, we achieve this by developing our solutions wherever possible with Portable Java for use with different operating systems. Sometimes, however, it makes more sense to develop solutions in the form of a web application, and these are also platform-independent. Whichever form the solution takes, the key is always to think well ahead. We cannot assume that today’s infrastructure will remain the same in two years’ time. For this reason it is vital to factor in potential changes in order to avoid later surprises. Thinking ahead means thinking beyond specific platforms.
The buttons, switches and tables that feature in our applications might be used hundreds or even thousands of times a day by your staff. We are proud of that. But as application designers, it means that we have to take responsibility for deciding whether the approach we have chosen is already the best possible or whether there is still potential for improvement. Are our solutions sufficiently intuitive for non-specialist users, even without training, online help or a support request system?
In some cases, applications may require a multilingual user interface. You may need to add new languages if you want to use the software in other regions. As well as our own in-house linguists, we have been working for years with freelance translators. Alongside translations of technical and legal texts, we regularly localise our own software into other languages. We believe that international usability is a crucial feature of good software.
Wherever possible, we make use of widely available open-source technologies. This reduces licensing and development costs. Generic sub-modules can be re-used in many places, and widespread dissemination also provides an assurance of high quality. As well as incorporating recognised open-source technologies into our software, we use them as a matter of course in our everyday work: Eclipse as the development environment for Java programming and MySQL as a database are good examples of highly dependable software that can be used in a professional environment.
We strive to make all our applications as modular and flexible as possible. To this end, we consistently use XML configuration files to achieve maximum granularity. This also means that our customers can also be involved in configuring their software without a knowledge of programming languages.
We make every effort to ensure that the solutions we provide are error-free and fundamentally stable. To this end we use a range of standardised testing procedures that help to systematically detect any common operating or function errors. Unit tests are designed to check the reliability of our software. This also ensures that changes to the program do not result in unwanted side-effects or impair its existing functionality.