3.1 Objectives
3.1.1 About SOFiSTiK
SOFiSTiK finite element software has been continuously developed since 1981. It is currently used by more than 10000 customers worldwide. SOFiSTiK is a multipurpose tool with extensive capabilities which fall into a wide spectrum of engineering analyses such as static and dynamic structural analysis, modal and buckling eigenvalue problems, nonlinearities and higher order effects, geotechnics and tunnel analysis, heat transfer and fire analysis, as well as numerous types of other applications.
3.1.2 Innovation and Reliability
As a provider of cutting-edge engineering software, confidence in robustness and reliability of the prod-uct is an issue of outstanding relevance for SOFiSTiK. To some degree, however, innovation and reliabil-ity are conflicting targets, since every change introduces new possible sources of uncertainty and error.
To meet both demands on a sustainable basis, SOFiSTiK has installed a comprehensive quality assur-ance system. The involved organizational procedures and instruments are documented in the following Sections.
3.2 Organisation
3.2.1 Software Release Schedule
The SOFiSTiK software release schedule is characterized by a two-year major release cycle. The first customer shipment (FCS) of a SOFiSTiK major release is preceded by an extensive BETA testing period. In this phase - after having passed all internal test procedures (Section 3.2.4: Software Release Procedure) - the new product is adopted for authentic engineering projects both by SOFiSTiK and by selected customers. For a two-year transition period, subsequent major releases are fully supported in parallel, as shown in Fig. 3.1.
2009 2010 2011 2012 2013 2014 2015 2016 2017
BETA FCS
SOFiSTiK 2010 ·
Start of Transition Phase Discontinuation of Maintenance
BETA SOFiSTiK 2012 ·
BETA SOFiSTiK 2014 ·
Figure 3.1: SOFiSTiK Release Schedule
The major release cycle is supplemented by a two-month service pack cycle. Service packs are quality assured, which means they have passed both the continuous testing procedures and the functional tests (Section 3.2.2: SQA Modules - Classification). They are available for download via the SOFiSTiK update tool SONAR.
Software updates for the current version (service packs) include bug-fixes and minor new features only;
major new developments with increased potential regarding side- effects are reserved for major releases
SOFiSTiK SQA Policy
with an obligatory extensive testing period.
3.2.2 SQA Modules - Classification
Figure 3.2 depicts the ”three pillars” of the SOFiSTiK SQA procedure. Preventive and analytic provisions can be differentiated.
Preventive provisions essentially concern the organization of the development process. They aim at minimizing human errors by a high degree of automatism and by avoiding error-prone stress situations.
These provisions comprise:
• A thoroughly planned feature map and release schedule.
• Strict phase differentiation: Prior to any software release (also for service packs), the development phase is followed up by a consolidation phase . This phase is characterized by extensive functional testing. No new features are implemented, only test feedback is incorporated. For major releases, an additional BETA test phase is scheduled.
• Fully automated build and publishing mechanisms.
Analytic provisions provide for the actual testing of the software products. Continuous Testing directly accompanies the development process: Automated and modular regression tests assure feedback at a very early stage of the development (Section 3.3.3: Continuous Testing). Functional Testing is carried out in particular during the consolidation phases. These tests essentially involve manual testing; they focus on comprehensive workflow tests and product oriented semantic tests.
SQA
The consistent implementation of quality assurance procedures is responsibly coordinated by the man-aging board executive for products.
The development divisions are in authority for:
• The establishment, maintenance and checking of continuous testing procedures.
• The implementation of corresponding feedback.
SOFiSTiK SQA Policy
The product management is responsible for:
• The coordination and execution of functional testing.
• The integration of customer feedback into the QA process.
As a corporate activity is carried out:
• Continuous review of processes.
• The identification of supplemental objectives.
• Identification and implementation of possible optimizations.
Product Management Functional testing Integrating customer
feedback Development
Continuous Integration Continuous Testing Implementing feedback
Corporate Activity Adaption of processes Definition of objectives Coordinated by managing board Figure 3.3: SQA Responsibilities
3.2.4 Software Release Procedure
The defined minimum requirements for software releases of type Hotfix, Service Pack and Major Release are illustrated by Figure 3.4. Approval of individual products is accomplished by the respective person in charge; the overall approval is in authority of the managing board executive for products.
SOFiSTiK SQA Policy
Each request from our customers is traced by means of a Customer Relation Management (CRM) System assuring that no case will be lost. Detailed feedback to the customer is provided via this system.
Possible bug fixes or enhancements of the software are documented with version number and date in corresponding log files. These log files are published via RSS-feed to our customers. In this way, announcement of available software updates (service-pack or hotfix) is featured proactively. Moreover, information is provided independent of and prior to the actual software update procedure.
Further sources of information are the electronic newsletter/ newsfeeds and the internet forum (www.sofistik.de / www.sofistik.com).
3.3.2 Tracking System (internal)
For SOFiSTiK-internal management and coordination of the software development process - both re-garding implementation of features and the fixing of detected bugs - a web-based tracking system is adopted.
3.3.3 Continuous Integration – Continuous Testing
As mentioned above, the production chain is characterized by a high degree of automation. An important concern is the realization of prompt feedback cycles featuring an immediate response regarding quality of the current development state.
SOFiSTiK SQA Policy
Figure 3.5: Feedback cycle: Continuous Integration – Continuous Testing
Continuous integration denotes the automated process, assuring that all executed and committed mod-ifications of the program’s code basis are directly integrated via rebuild into the internal testing environ-ment.
Upon completion of the integration, the continuous testing procedure is triggered automatically. This procedure executes a standardized testing scenario using the newly updated software. Test results are prepared in form of compact test protocols allowing for quick assessment.
The executed tests are so-called regression tests. Regression tests examine by means of associated reference solutions wether the conducted modifications of the code basis cause undesired performance in other already tested parts of the program.
Together, continuous integration and continuous testing form the basis for a quality control that directly accompanies the development process. This way, possibly required corrections can be initiated prompt-ly. SOFiSTiK has successfully implemented this procedure. Currently, the continuous test database comprises more than 3000 tests.
3.4 Additional Provisions
3.4.1 Training
As a special service to our customers, SOFiSTiK provides for comprehensive and individually tailored training to support a qualified and responsible use of the software. This is complemented by offering a variety of thematic workshops which are dedicated to specific engineering topics.
It is the credo of SOFiSTiK that a high-quality product can only be created and maintained by highly qual-ified personnel. Continuing education of the staff members is required by SOFiSTiK and it is supported by an education program which involves both in- house trainings and provisions of external trainings on a regular basis.
SOFiSTiK SQA Policy
3.4.2 Academia Network
Arising questions are treated by an intense discussion with customers, authorities and scientists to find the best interpretation.
3.5 Disclaimer
Despite all efforts to achieve the highest possible degree of reliability, SOFiSTiK cannot assure that the provided software is bug-free or that it will solve a particular problem in a way which is implied with the opinion of the user in all details. Engineering skill is required when assessing the software results.