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.
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.
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.
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
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)
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.
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ätsmerkmale | Nicht-funktionale Qualitätsmerkmale |
---|---|
Funktionalität
| Wartbarkeit
|
Zuverlässigkeit
| Benutzbarkeit
|
Effizienz
| Übertragbarkeit
|
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?
Qualitätssichernde Maßnahmen im Fokus
Qualitätssicherung von Software
Der Qualitätssicherung von Software kommt in Entwicklungsprozessen eine besondere Bedeutung zu. In diesem Sinne ergreifen wir umfangreiche Maßnahmen, wie automatisierte Tests oder regelmäßige Code Reviews.
Wolfram Schäfer im VDMA-Interview
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.
Kundenspezfische Lösungen für die Industrie
Individuelle Softwareentwicklung
Passgenaue Softwarelösungen sind der Schlüssel, um den technologischen Wandeln aktiv zu gestalten und zum eigenen Vorteil zu nutzen. Wir sind Ihr Entwicklungspartner für die Realisierung zukunftsfähiger Softwarekonzepte.