Software Qualitätssicherung
Unser Qualitätsanspruch an Software
Wir als Unternehmen, als Team und als Mitarbeitende stellen einen hohen Qualitätsanspruch an unsere Software. Denn wir kennen die Folgen und Probleme, die entstehen, wenn bei der Softwareentwicklung die Qualitätssicherung vernachlässigt wurde. Wurden Architektur und Code nicht sorgfältig nach maßgeblichen Qualitätskrieteien erstellt, werden die Pflege und spätere Weiterentwicklung zeitintensiv und teuer.
Vor allem in der Investitionsgüterindustire 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 Mindests, quasi Teil unserer DNA.
Worauf legen wir im Softwareentwicklungsprozess Wert?

„Bei der Erstellung von Software ist für mich eine strukturierte Vorgehensweise wichtig, sodass ich meine Software wiederverwenden und jederzeit erweitern kann.“
Lars, Softwareentwickler

„Für mich ist es besonders wichtig, dass bei der Erstellung der Software die Menschen involviert sind, die später mit dem Produkt arbeiten oder die am Prozess beteiligt sind.“
Judith, Head of People & Communication

„Zur Erstellung einer guten Software brauche ich vor allem Klarheit darüber, wie meine Anforderungen lauten und wie das Endprodukt aussehen soll.“
Hien, Softwareentwickler
Worauf legen wir im Softwareentwicklungsprozess Wert?

"Bei der Erstellung von Software ist für mich eine strukturierte Vorgehensweise wichtig, sodass ich meine Software wiederverwenden und jederzeit erweitern kann."
Lars, Softwareentwickler

"Für mich ist es besonders wichtig, dass bei der Erstellung der Software die Menschen involviert sind, die später mit dem Produkt arbeiten oder die am Prozess beteiligt sind."
Judith, Head of People & Communication

"Zur Erstellung einer guten Software brauche ich vor allem Klarheit darüber, wie meine Anforderungen lauten und wie das Endprodukt aussehen soll."
Hien, Softwareentwickler
Wer ist von Auswirkungen mangelnder Softwarequalität betroffen?
Bereits während der Softwareentwicklung wirkt sich eine mangelhafte Qualitätssicherung negativ aus: Agile Methoden können kaum genutzt werden, laufende Softwaretests sind schwierig und das ganze Team ist frustriert, wenn immer wieder viel Zeit für die Fehlersuche aufgewendet werden muss.
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 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ächtigen die Tilgungen der technischen Schuld alle Prozesse von der 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
Wir setzen konsequent auf agile Entwicklungsprozesse, da sich dadurch unschlagbare Vorteile für die Software, das Miteinander im Team und somit für das gesamte Projekt ergeben.
Agilität ist für uns die Fähigkeit zur Anpassung an neue Gegebenheiten, weswegen Software „automatisch“ wandelbar entwickelt wird.
In agilen Entwicklungsprozessen werden Anforderungen nicht starr zu Beginn festgelegt, sondern bedarfsgerecht im Projektverlauf präzisiert. So lassen sich schwer einschätzbare Aufwände und Risiken besser kontrollieren. Ein Kernaspekt der Agilität ist die kontinuierliche Verbesserung – auch die entwickelte Software bleibt damit auf Weiterentwicklung ausgelegt.

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
Wir melden uns bei Ihnen!
