Software Qualitätssicherung
Unser Qualitätsanspruch an Software
Vor allem in der Investitionsgüterindustrie mit sehr langen Produktlebenszyklen zahlen sich ein konstanter Fokus und stetige Investition in qualitätssichernde Maßnahmen mittel- bis langfristig immer aus. Deshalb wenden wir konsequent Maßnahmen zur Qualitätssicherung an und haben diese Prozesse in unserer Arbeitsweise verankert. Der Qualitätsaspekt ist Teil unseres Mindset, quasi Teil unserer DNA.
Worauf legen wir im Softwareentwicklungsprozess Wert?
Lars, Softwareentwickler
Judith, Head of People & Communication
Hien, Softwareentwickler
Wer ist von Auswirkungen mangelnder Softwarequalität betroffen?
Die Vernachlässigung qualitätssichernder Maßnahmen vor und während des Softwareentwicklungsprozesses zeigen sich u.a. in undurchdachten Architekturen und schlecht lesbarem Quellcode.
Selbst wenn eine entwickelte Software die funktionalen Anforderungen gerade noch erfüllt, entstehen mittel- bis langfristig negative Auswirkungen. Davon sind während und nach der Zusammenarbeit alle Projektbeteiligten betroffen.
- erhält mangelhafte, schlecht bedienbare Software
- im schlimmsten Fall verursacht Software Systemausfälle
- hohes Frustrationslevel
- höherer Schulungsaufwand aufgrund kürzerer Nutzungsdauer der Software
- hohe Kosten durch zeitintensive Fehlerbehebungen
- unwirtschaftliche Lösung, keine Wiederverwendung programmierter Funktionen
- Abhängigkeit von Dienstleister, interne Weiterentwicklung aufgrund unverständlichen Codes unmöglich
- Anhäufung technischer Schulden
- im Worst Case droht Abbruch des Softwareprojekts
- hoher Zeitaufwand für Fehlersuchen und -behebungen
- hohes Frustrationslevel
- sinkende Motivation
- erschwerte Teamarbeit, kaum kollaboratives Arbeiten möglich
Technische Schulden
Fehlt die Bereitschaft, zu Beginn eines Softwareentwicklungsprojekts in den notwendigen Aufwand zur Qualitätssicherung zu investieren, riskiert der Auftraggeber den Aufbau „Technischer Schulden“. Auch zu hoher Zeitdruck und unklare Anforderungen können diesen Effekt begünstigen. Vergleichbar mit finanziellen Schulden, Zinsen und Zinseszinseffekt potenzieren sich diese Altlasten v. a. bei einer längeren Lebensdauer von Software mit allen nachteiligen Konsequenzen.
Technische Schuld kann somit als aufgeschobene Investition in die innere Qualität gesehen werden. Dies geht so lange gut, bis die technische Schuld so hoch ist, dass es Auswirkungen auf das Projekt hat. Änderungen am schlechten Code werden nur behelfsmäßig durchgeführt, wodurch sich die Mängel an der Software weiter erhöhen. Am Ende beeinträchtigt die Tilgung der technischen Schuld alle Prozesse von der Entwicklung, über die Wartung bis zur Weiterentwicklung.
„Investiert man von Beginn an in ein ausgereiftes Konzept, eine saubere Architektur und in agile Prozesse sinkt zwar zunächst meist die Entwicklungsgeschwindigkeit. Doch dieser Aufwand zur Vermeidung technischer Schulden rechnet sich unserer Erfahrung nach in jedem Fall.“
Wolfram Schäfer
Geschäftsführer iT Engineering Software Innovations GmbH
Vorteile agiler Softwareentwicklung
Agilität ist für uns die Fähigkeit zur Anpassung an neue Gegebenheiten, weswegen Software „automatisch“ wandelbar entwickelt wird.
Methoden zur Qualitätssicherung
Continuous Development
Um die stetige, schrittweise Weiterentwicklung von Software zu ermöglichen, braucht es Prozesse, die diese Vorgehensweise unterstützen. Nur eine durchgängige Prozesskette, die in hohem Maße automatisiert ist, ermöglicht diese Arbeitsweise, auch Continous Development genannt. Neue Releases und damit auch neue Funktionalitäten können damit den Anwendern möglichst direkt und schnell zur Verfügung gestellt werden.
In einem automatisierten Prozess werden die einzelnen Komponenten zu einer Anwendung zusammengefügt. Das Ziel ist die Qualitätssteigerung der Software.
Techniken, Prozesse und Tools, die den Softwareauslieferungsprozess verbessern. So kann in Kombination mit agilen Methoden qualitativ hochwertige Software entwickelt werden.
Releaseprozess, bei dem Änderungen am Code automatisiert und sofort an Endnutzer ausgeliefert werden. Fehler werden aufgrund kleiner Entwicklungsschritte schnell identifiziert.
Weitere qualitätssichernde Maßnahmen
Code Reviews
- Berücksichtigung und Steigerung nicht-funktionaler Qualitätsmerkmale
- Einbindung von Kompetenzen anderer Entwickler
- Erzielung einer wartbaren und erweiterbaren Software
Automatisierte Softwaretests
- geringer manueller Aufwand für das wiederkehrende Testing
- automatisierte Überprüfung von Funktionsabläufen
- regelmäßiges Testen der Softwareanwendung ist möglich
Source Code Management
- paralleles Arbeiten am gleichen Quellcode möglich
- ortsunabhängige Softwareentwicklung möglich
- hohe Transparenz und Nachvollziehbarkeit durch Versionierung aller Änderungen
Refactoring & Restrukturierung
- Steigerung der Performance einer Software
- Erleichterung der Weiterentwicklung einer Software
- Zukunftssicherheit
Clean Code
Clean Code beschreibt eher ein Prinzip bzw. eine generelle Haltung in der Softwareentwicklung und stellt weniger eine konkrete Methode dar. Dabei werden vier zentrale Werte als Grundlage für nachhaltige, effiziente und erfolgreiche Softwareentwicklung definiert:
Die Software kann ohne erheblichen Zusatzaufwand an neue Anforderungen angepasst und um neue Features erweitert werden.
Sowohl funktionale als auch nicht-funktionale Anforderungen an die Software werden erfüllt.
Software kann effizient und zu angemessenen Kosten entwickelt, verbessert und erweitert werden und ist langlebig.
Entwickler sammeln ständig Erfahrung, reflektieren diese, lernen daraus und teilen ihr Wissen.
Das könnte Sie auch interessieren
Softwarequalität bei iTE SI
Erweiterbarkeit, Wartbarkeit und Wiederverwendbarkeit sind für uns die wichtigsten Anforderungen bei der Softwareentwicklung. Diese Aspekte sind im Mindset unserer Entwicklerinnen und Entwickler fest verankert.
Maßgeschneiderte Lösungen für die Industrie
Die hohe Dynamik auf technologischer Ebene sowie die steigenden Bedürfnisse der Kunden erfordern die zukunftsorientierte Entwicklung individueller Softwarelösungen.
Softwarelösungen müssen flexibel auf Veränderungen reagieren
iTE SI Geschäftsführer Wolfram Schäfer spricht im Interview mit dem VDMA über die Relevanz von Softwarequalität und Clean Code im Maschinenbau.
Bereit für den ersten Schritt?
Schreiben Sie uns!
Unsere Kernkompetenz als Dienstleister liegt in der Entwicklung anspruchsvoller, individueller Softwarelösungen im industriellen Umfeld. Dabei verfügen wir über große Erfahrung im Geräte-, Maschinen- und Anlagenbau, im Fertigungsumfeld und in der Vernetzung von Maschinen.
Wir verstehen uns als verlässlicher Entwicklungspartner und Impulsgeber: Von der Konzeption eines Architekturmodells Ihrer IoT-Plattform mit (Edge-)Cloud-Technologien, über die Programmierung der Schnittstellen und die Implementierung bis zur kontinuierlichen Weiterentwicklung, decken wir alle Phasen des Projektverlaufs ab.
- Jusistraße 4 | 72124 Pliezhausen
- info@ite-si.de
- +49 (0) 7127 9231–0