What is the quality of your mission-critical computational software?
Mission critical computational software often grows organically. It starts with a simple program to quickly do some calculations. Years later, this small program has evolved into a major software package with tens of thousands or even more than a million lines of code. The initial developers were often not trained as scientific software engineer. Therefore, at some point, important questions arise, like whether everything is properly organized and whether the extension and maintenance of the software could be done cheaper.
VORtech can help you answer these kinds of questions. Our people are well-trained scientific software engineers and usually have extensive experience in the field. They know how things can best be organized and what will work and what won’t. Apart from this, they are also trained to provide professional consultancy.
Questions that we get frequently are:
- How should I organize the maintenance of my software?
Actually, the question is often: can it be done cheaper. Or: what will happen when the original developers leave the company. We know the various answers to these questions. And we do recognize that every situation is unique and requires a tailor-made approach.
- How can I improve the performance of my software?
Computational software almost always works at the limits of allowable computing time and memory use. Often a company could exploit new commercial opportunities if they could do more within these limits. VORtech can tell you how to reduce computing time and optimize memory use.
- How can I be sure that my software has no serious errors?
Computational software may contain very subtle errors. For instance: careless programming can cause rounding errors to explode and eventually dominate the results. Also, algorithms can give wrong results if they are not properly implemented. VORtech knows many of the pitfalls and has ways to detect them.
- How do I keep my documentation up to date?
Documenting software is probably the least popular task of software development. Very few software engineers enjoy writing long texts that will never be read by anybody and are outdated the minute they are written. We will gladly provide consultancy on workable methods to make sure that the software remains accessible also for new developers.
- What hardware is best for me?
The IT-department in most companies lacks specific knowledge about systems for large scale computing. We have a broad overview of the various options and understand the requirements of specific computing applications.
The Modelscan: a status report about your software in two days
Based on our experience we have developed the model scan. For two days, we dive into your software, talk to the developers and study the organization around the code.We pay special attention to issues that are important for you at that moment. Based on this review, we will write a report that shows where improvements can be made.
Training Scientific Software Engineering
Scientific Software Engineering is a special type of software engineering. Therefore, we have developed a two-day course to train people in the proper way to develop scientific software. We not only discuss things like design, version management and testing, but also tell you about coding-standards and documentation. The training is usually given in-house at the customer’s, but once in a while we also organize it for a broad audience.
VORtech offers a fact sheet about our most accessible form of consultancy: Modelscan: A clean insight into your scientific software.