Softwarequalität

Unser Verständnis von Softwarequalität

Viel zu oft steht in der Softwareentwicklung die Erfüllung „harter“, funktionaler Anforderungen im Mittelpunkt. Für uns geht hohe Güte – sprich Exzellenz – in der Softwarequalität jedoch weit darüber hinaus.

Selbstverständlich müssen die vom Kunden geforderten Kriterien zufriedenstellend und umfassend umgesetzt werden. Zudem muss dem Nutzer eine bedienbare und stabile Software zu Verfügung gestellt werden. Doch erst durch die systematische Beachtung nicht-funktionaler Anforderungen erfüllt eine gute Softwarelösung auch langfristig die an sie gestellten Anforderungen.

Da Software stetig weiterentwickelt wird, legen wir großen Wert auf eine klare Architektur und verständlichen Code. Denn nur eine pflegeleichte Software kann stabil und sicher betrieben werden. Es ist ein wesentlicher Teil unserer Verantwortung und Philosophie, dass sich alle Softwareprodukte und -lösungen von iTE SI auch in Zukunft als zuverlässig, verständlich und wirtschaftlich erweisen.

iTE SIchtweisen:
Unsere Sicht auf Softwarequalität

Durch die Erfahrung aus zahlreichen Entwicklungsprojekten haben wir als Softwareentwickler unsere eigenen Sichtweisen auf Softwarequalität. So vielfältig, wie die Anforderungen an eine gute Software sind, so umfassend ist unser Blick auf dieses wichtige Thema.

YouTube

Mit dem Laden des Videos akzeptieren Sie die Datenschutzerklärung von YouTube.
Mehr erfahren

Video laden

Bild von Wolfram Schäfer
Unserer Erfahrung nach kommt es bei Softwareentwicklungsprojekten im Wesentlichen auf Evolvierbarkeit und Erweiterbarkeit an. Deswegen muss der Quellcode für alle Beteiligten lesbar, transparent und nachvollziehbar sein. Das ist gerade im Maschinenbau mit seinen langen Produktlebenszyklen extrem wichtig.

Wolfram Schäfer

Geschäftsführer IT Engineering Software Innovations

Was zeichnet eine „gute“ Software aus?

Eine Software kann dann als qualitativ gut angesehen werden, wenn sie alle funktionalen Anforderungen sicher und stabil erfüllt. Darüber hinaus muss sie klar und einfach zu bedienen sein und nicht-funktionale Anforderungen berücksichtigen. Softwarequalität umfasst somit äußere und innere Qualitätsmerkmale.

Wir richten in unseren Entwicklungsprozessen einen besonderen Fokus auf die inneren Qualitätsmerkmale von Software. Sie sind ausschlaggebend dafür, ob eine Software leicht verständlich, wartbar und einfach weiterzuentwickeln ist.

Kurz gesagt: Eine qualitativ gute Software ist in ihrer Funktion stabil, in der Bedienung logisch und über ihren Produktlebenszyklus wirtschaftlich.

Grafik zeigt innere und äußere Softwarequalitätsfaktoren anhand eines Eisbergs
Das Eisbergmodell verdeutlicht innere und äußere Softwarequalitätsmerkmale

Nicht-funktionale Softwarequalitätskriterien

Neben der fast selbstverständlichen Erfüllung funktionaler Anforderungen, ist aus Qualitätssicht die Einhaltung nicht-funktionaler Anforderungen notwendig. Nur wenn diese beachtet werden, entstehen nachhaltige und wirtschaftliche Softwarelösungen.

Das gilt umso mehr, je länger sich der Produktlebenszyklus einer Software erstreckt. Unter diesen Gesichtspunkten muss Software wartbar, erweiterbar und wiederverwendbar sein. Aus unserer Sicht sind dies die wichtigsten Qualitätskriterien in der Softwareentwicklung.

Wartbarkeit

Software kann einfach an sich ändernde Anforderungen angepasst werden. Updates sind ohne großen Aufwand und Risiko möglich.

Erweiterbarkeit

Software kann einfach um weitere Funktionalitäten ergänzt werden. Der Aufwand für notwendige Skalierungen sind gering.

Wiederverwendbarkeit

Software kann ganz oder teilweise als Grundlage für die Erstellung neuer Lösungen verwendet werden, für die sie ursprünglich nicht entwickelt wurden.

Wer profitiert von hoher Softwarequalität?

Von hochwertiger Softwarequalität profitieren alle Prozessbeteiligten, vom Auftraggeber über den Softwareentwickler bis zum Nutzer der Software. Jede Personengruppe spürt dabei eigene Vorteile.

Icon Person als Symbol für Anwender

Anwender

  • Nutzung einer stabilen und sicheren Software
  • kurze Einarbeitungszeit und effiziente Bedienung durch hohe Usability der Software
  • Spaß bei der Nutzung durch gute User Experience
  • lange Nutzungsdauer der Software
Icon Person und Dokument als Symbol für Auftraggeber

Auftraggeber

  • Entwicklung einer funktionsfähigen Lösung im gesetzten Projektrahmen
  • schnelle Reaktion auf Markt-
    veränderungen durch kontinuierlichen Entwicklungsprozess
  • hohe Wirtschaftlichkeit durch Wiederverwendbarkeit der entwickelten Softwaremodule
  • Unabhängigkeit von Dienstleistern durch wartbaren Quellcode (kein Vendor Lock-in)
Icon einer Person vor Bildschirm mit Code-Zeichen als Symbol für den Beruf der Softwareentwicklerin

Entwickler

  • höhere Entwicklungsgeschwindigkeit durch regelmäßige Fertigstellung einzelner Funktionalitäten
  • höhere Motivation durch ein strukturiertes Vorgehen und klare Rahmenbedingungen
  • weniger Zeitaufwand für die Fehlersuche und -behebung
  • effiziente Teamarbeit durch hohe Transparenz im Team und kleine Arbeitspakete

Der Mensch als zentraler Erfolgsfaktor

Qualitativ hochwertige Software entsteht, wenn das Mindset des Entwicklerteams stimmt und ein Bewusstsein für hohe Softwarequalität fest verankert ist. Dabei ist es wichtig, gemeinsam zu arbeiten sowie miteinander und voneinander zu lernen. Wenn Softwareentwickler schon mit Hürden und Problemen „schlechter“ Software konfrontiert waren, entwickeln sie ein Gespür dafür, worauf es bei der Entwicklung wirklich ankommt. Viel lieber lernen wir jedoch aus erfolgreichen Projekten mit „guter Software“ als Ergebnis.

Neben allen Maßnahmen zur Qualitätssicherung sind unsere erfahrenen Entwicklerinnen und Entwickler der beste Garant dafür, dass Softwarelösungen von iTE SI höchsten Qualitätsansprüchen genügen.

Rückansicht eines Softwareentwicklers

Unser Mindset

  • Tiefes Verständnis für alle Aspekte der inneren und äußeren Softwarequalität
  • Ausgeprägtes Verantwortungsbewusstsein für den langfristigen Nutzen und die Wirtschaftlichkeit der Software
  • Standhafte Überzeugung, nur qualitativ hochwertige Software entwickeln und abliefern zu wollen, gleichsam einem „Ehrenkodex“
  • Verantwortungsvolle Beratung des Auftraggebers bei der Formulierung von Vorgaben für eine qualitativ hochwertige Software
  • Uneingeschränkte Offenheit und dauerhafte Lernbereitschaft für Trends und den Einsatz neuer Technologien, Tools und Methoden
  • Agile Arbeitsweise in interdisziplinären und flexiblen Teams
  • Positive Fehlerkultur, um eine für den Kunden optimale Lösung zu finden und umzusetzen

Was sind relevante Softwarequalitätsmerkmale?

Formal betrachtet setzt sich Softwarequalität aus äußeren und inneren Qualitätsmerkmalen zusammen und ergibt sich aus dem Grad der Erfüllung von funktionalen und nicht-funktionalen Anforderungen. Diese sind in verschiedenen Normen und Standards (DIN ISO) beschrieben. In der Praxis hat es sich für uns bewährt, den Entwicklungsprozess projektspezifisch mit passenden Methoden und Standards aufzusetzen, um Softwarequalität im jeweiligen Kontext sicherzustellen.

  Funktionale QualitätsmerkmaleNicht-funktionale Qualitätsmerkmale
Funktionalität
  • Richtigkeit
  • Angemessenheit
  • Interoperabilität
  • Ordnungsmäßigkeit
  • Sicherheit
Wartbarkeit
  • Analysierbarkeit
  • Modifizierbarkeit
  • Stabilität
  • Prüfbarkeit
  • Evolvierbarkeit
Zuverlässigkeit
  • Reife
  • Fehlertoleranz
  • Wiederherstellbarkeit
Benutzbarkeit
  • Verständlichkeit
  • Erlernbarkeit
  • Bedienbarkeit
Effizienz
  • Zeitverhalten
  • Verbrauchsverhalten
Übertragbarkeit
  • Anpassbarkeit
  • Installierbarkeit
  • Konformität
  • Austauschbarkeit
Grafik zeigt Softwarequalitätsmerkmale
Abbildung in Anlehnung an DIN ISO 9126.

Wie kann Softwarequalität gemessen werden?

Unserer Erfahrung nach ist die Beurteilung der Qualität von Softwareprodukten anhand definierter Messwerte schwierig. Zwar können mittels verschiedener Software-Metriken die semantische und die prozedurale Komplexität von Software, Modulen oder Quellcodes gemessen bzw. beurteilt werden. Doch mit diesen Metriken kann keine eindeutige oder objektive Aussage über die Softwarequalität abgeleitet werden. Sie dienen lediglich als Anhaltspunkt dafür, ob Eigenschaften, die auf einen hohen Grad an Einfachheit und Verständlichkeit hindeuten, erfüllt werden.

Es gibt also nicht einen eindeutigen, klaren Wert zur Messung von Softwarequalität! 

Das beste Maß für Softwarequalität ist die Zufriedenheit unserer Kunden.

Wie können wir Sie unterstützen?

Sie suchen einen Entwicklungspartner für die Umsetzung komplexer Softwareprojekte im industriellen Umfeld?