Artikel
Von gut zu großartig mit Software-Qualitätssicherung

Das Geschäft eines jeden IT-Unternehmens hängt dringend von der Fähigkeit ab, Funktionen rechtzeitig und häufig bereitzustellen. Das bedeutet, dass es oberste Priorität sein sollte, sicherzustellen, dass die Software verfügbar ist und wie versprochen funktioniert. Doch bei den unzähligen modernen Entwicklungsmethoden, Techniken und Frameworks (ganz zu schweigen von Umstrukturierungen) bleibt dieses Ziel oft auf der Strecke. Die einzige Möglichkeit, den Softwarebereitstellungsprozess zu verbessern, ist, ihn in den Mittelpunkt zu stellen. In diesem Artikel wird genau beschrieben, wie Sie das erreichen können, und es werden die wichtigsten nächsten Schritte aufgezeigt, die Sie unternehmen müssen.
Softwarequalität bedeutet IT-Beschleunigung
Die Zeit der IT-Beschleunigung ist angebrochen. Unternehmen schaffen von Grund auf neue IT-Organisationen, um neue Geschäftsmöglichkeiten zu erschließen, oft nur, um zu verhindern, dass der Konkurrent den Marktanteil auffrisst. Das Ziel ist nicht, der größte Fisch zu werden, sondern zu den schnellsten Fischen auf dem Markt zu gehören. Unternehmen können nicht mehr mit Software auskommen, die nicht wartbar, schwer zu ändern und nicht skalierbar ist. Qualitativ minderwertige Software verursacht höhere Wartungskosten und ist schwer zu ändern. Schlechte Funktionalität oder merkwürdige Datenlecks sorgen für ein schlechtes Image des gesamten Unternehmens, was zu Kapitalverlusten führt. Die Bereitstellung von Software muss beim ersten Mal richtig gemacht werden.
Lernen Sie, wie Sie mit Continuous Delivery und Testautomatisierung jeden Tag schnell hochwertige Software liefern können. Kontinuierliche Lieferung und Testautomatisierung .
Zeit für Qualität und Geschwindigkeit
Schnelligkeit und Qualität können in der Softwareentwicklung nebeneinander bestehen, aber es ist wichtig, dass Sie sich zunächst ein angemessenes Maß an Fachwissen aneignen. Was soll das System, das Sie entwickeln, leisten? Wie kann ein geeignetes Domänenmodell als Bindeglied zwischen der Geschäfts- und der IT-Perspektive dienen? Ein Domänenmodell stellt organisiertes und strukturiertes Wissen über die Problemdomäne bereit, z. B. Vokabular und grundlegende Konzepte. Viele agile (Projekt-)Organisationen sind flexibel genug, um kontinuierliche Änderungen am Domänenmodell vorzunehmen. Diese Flexibilität macht ein großes Design im Vorfeld überflüssig, vorausgesetzt, das Unternehmen und die IT sprechen die gleiche Sprache und (was vielleicht noch wichtiger ist) das gleiche mentale Modell.

Oft führt ein Unternehmen Scrum oder eine andere agile Methode ein, die es ihm ermöglicht, Teile der Funktionalität schrittweise zu liefern und dann Feierabend zu machen. Aber eine einfache Frage deckt schnell das Problem mit diesem Ansatz auf:
F: Werden Ihre Anwenderberichte in die Produktion übernommen?
A: Nein, aber wir haben die Möglichkeit, am Ende jedes Sprints in die Produktion zu gehen.
Die Antwort lautet also Nein. Dadurch verzögert sich das wertvolle Feedback der Endbenutzer: das einzige Feedback, das zählt.
Verschiedene Probleme können eine häufige Inbetriebnahme verhindern. Diese können technischer Natur sein, haben aber oft auch mit mangelndem Vertrauen zu tun oder mit dem Bedürfnis, die Kontrolle zu behalten. Wenn es darum geht, gleichzeitig Qualität und Geschwindigkeit zu erreichen, kann Kontrolle kontraproduktiv sein. Die Software ist nur dann wertvoll, wenn sie in der Produktionsumgebung eingesetzt werden kann. Das einzige angemessene Maß für den Fortschritt eines IT-Projekts ist also die verfügbare Funktionalität.
Eine ganzheitliche Perspektive
Nur eine ganzheitliche Betrachtung des Softwareentwicklungsprozesses kann diesen verbessern. Oft sind die kritischsten Probleme nicht technischer Natur. Stattdessen haben sie ihren Ursprung im Entwicklungsprozess, in den verwendeten Techniken und in den Fähigkeiten und Erfahrungen der Softwareteams.
Zum Beispiel nach dem Conway'schen Gesetz, Organisationen entwerfen Systeme (im weitesten Sinne) mit Strukturen, die ihren eigenen Kommunikationsstil widerspiegeln oder kopieren. Eine schlecht kommunizierende Organisation, die die Verantwortlichkeiten nicht klar zuweist, wird also ein suboptimales System hervorbringen. Sie sehen sofort, warum dies problematisch ist, denn Flexibilität und Veränderbarkeit von Softwaresystemen sind eine Voraussetzung für kontinuierliche Verbesserungen. Es lohnt sich also, sowohl die Kommunikationslinien innerhalb der Organisation als auch das Design der Software zu beobachten.
Ein Software-Quellcode-Audit kann technische Probleme wie doppelten Code oder schlecht strukturierten Code aufdecken. Ein schneller Erfolg wäre es in diesem Fall, den Code zu refaktorisieren, um diese Mängel zu beheben. Dies würde jedoch keine der zugrunde liegenden Ursachen der Probleme lösen, wie z.B. ausgewählte Techniken und Tools, fehlende Feedback-Mechanismen im Softwareentwicklungsprozess, eine schlechte Qualitätseinstellung innerhalb des Entwicklungsteams oder zu viele sich wiederholende manuelle Tätigkeiten im Entwicklungsprozess.
Eine ganzheitliche Perspektive ist von zentraler Bedeutung. Sie bietet einen angemessenen Einblick in das Unternehmen, eine klare Sicht auf architektonische Entscheidungen sowie die Anforderungen und den Kontext für die Entwicklung der Lösungen. Mit diesem Überblick können Unternehmen echte und messbare Verbesserungen erzielen.

Lassen Sie sich von den richtigen Erkenntnissen leiten
Eine ordnungsgemäße Überprüfung liefert Erkenntnisse, die Unternehmen dabei helfen können, die richtige Software schneller und häufiger in Produktion zu bringen. Das Ergebnis ist ein "Verbesserungsrückstand", der die wichtigsten Themen abdeckt, die zuerst angegangen werden müssen, wie z.B.:
- Verbesserung der handwerklichen Fähigkeiten und der Teamfähigkeit.
- Den richtigen Kontext schaffen (denken Sie an Rollen, Verantwortlichkeiten, Verantwortungsbewusstsein), in dem qualifizierte IT-Fachleute den Unterschied ausmachen können.
- Einen soliden Entwicklungsprozess einrichten: Scrum-Grundlagen, d.h. Qualitätsfeedback, das vollständig in jede Aktivität des Softwareentwicklungsprozesses eingebettet ist. All dies wird durch eine angemessene Vision unterstützt.
- Einführung technischer Maßnahmen, die zur Beschleunigung des Entwicklungsprozesses beitragen. Manuelle, sich wiederholende Aktivitäten können automatisiert werden, um die Fehlerquote zu senken und die Dauer zu verkürzen. Kurz gesagt, die richtige Einführung von Continuous Delivery.
Mehr über Software-Qualitätssicherung
- Hat Ihr Unternehmen mit einer komplexen IT-Landschaft zu kämpfen? Lesen Sie (auf Niederländisch) wie Sie ein tiefgreifendes IT-Audit durchführen um Ihre Unternehmensleistung (und Ihren Umsatz) zu steigern.
- Sind Sie auf der Suche nach Tipps und Techniken, um das richtige Qualitätsdenken in Ihren Software-Teams zu verankern? Dann Nurturing Agile Quality eine Pflichtlektüre!
Unsere Ideen
Weitere Artikel

Design für Verhaltensänderungen: Die Macht der Konsequenzen
Entdecken Sie die Macht der Konsequenzen, wenn es um Verhaltensänderungen geht. Lernen Sie, wie Sie Menschen motivieren können, indem Sie ihre...
Andrea Clasquin

Bei Verhaltensänderungen geht es (nicht) um Sie!
Entdecken Sie die Definition von Verhaltensänderungen, lernen Sie, wie Sie ein verhaltenswissenschaftliches Modell nutzen können, und vermeiden Sie...
Andrea Clasquin
Contact

