Softwarequalität ist wie ein guter Wein

Moderne Softwareentwicklung ist eine sehr schnelllebige Tätigkeit, damit diese Geschwindigkeit möglich ist, braucht es eine Zusammenarbeit zwischen den Bereichen der Softwareentwicklung, Softwaretesting sowie Requirements Engineering.
Doch was hat Softwareentwicklung mit Wein zu tun? Im Folgenden versuche ich euch die Softwareentwicklung mit einem Lebensnahem Beispiel näher zu bringen.

Ablauf der Weinherstellung

  1. Grüne Wiese / Rebhang: Zu Beginn hat man die grüne Wiese, wo die Trauben am Gedeihen sind. Reicht der Rebhang an der verregneten Nordlage oder soll der Wein aus einer bekannten Toplage kommen?
    In der Software haben wir unterschiedliche Firmenkulturen oder Anforderungen an die Qualität, so kann ein Proof-of-Concept eher der Nordlage entsprechen während die Medizinische Software der Spitzenregion entsprechen sollte.
  2. Weinlese / Gärung / Kelterung: Die reifen Trauben werden gesammelt und die initiale Version vom Wein wird produziert.
    In der Softwareentwicklung wird die erste lauffähige Version mit einem minimalen Funktionsumfang (z.B. ein funktionierendes Login sowie die notwenigen Basiskomponenten wie z.B. eine Serverplattform) erstellt.
  3. Stabilisierung / Ruhen: Der gekelterte Wein wird in Fässer abgefüllt und ruht. Dabei wird er immer wieder degustiert und kontrolliert damit der Fortschritt sichergestellt ist. Um die Qualität zu erhöhen, wird der Wein teilweise umgefüllt (z.B. von einem Stahlfass in ein Eichenfass, damit eine schöne Barrique Note dazukommt).
    In dieser Phase der Softwareentwicklung wird die Software auf alle Aspekte geprüft, geänderte Anforderungen aus dem Business fliessen in die Software und die Priorisierung wird, wenn nötig, angepasst. Dies alles mit dem Ziel schnellstmöglich eine lauffähige und fehlerfreie Software zu liefern.
  4. Abfüllung: Der fertig produzierte Wein wird in Flaschen gefüllt und dem Verkauf übergeben, wo er je nach Qualität mit einem unterschiedlichen Preisschild zu den Weinliebhabenden kommt. Cheers 😊

In der Softwareentwicklung wird die Release Version erstellt und in die Produktion überführt, wo die Benutzenden hoffentlich ihre Freude an der verbesserten Software haben werden.

«Three-Amigos» Prinzip

Das «Three-Amigos» Prinzip sieht vor, dass

  • Entwicklung
  • Testing
  • Requirements-Engineering

eng zusammenarbeiten, damit jeder sein Fachwissen einfach und ohne administrative Hürden einbringen kann, so dass schnell und agil auf Anforderungen oder auch Probleme eingegangen werden kann.
Dabei ist die Zusammenarbeit der «Three-Amigos» vom Beginn des Projektes bis hin zum endgültigen Abschalten (end-of-life) der Software nötig.

Entwicklung: Die Entwicklung übernimmt die Implementierung in der entsprechenden Programmiersprache, dabei halten sich die Entwickler an eine gelieferte Dokumentation.

Testing: Das Testing stellt von beginn an sicher, dass die gelieferte Software in jedem Zyklus getestet wird und meldet gefundene Fehler. Idealerweise wir das Testing während der Entwicklung immer weiterentwickelt, sodass es vollautomatisiert laufen kann.

Requirements-Engineering: Das Requirements-Engineering besitzt das Fachwissen, das für die Funktionalität notwendig ist, und stellt dieses Wissen dem Entwicklungs- / Testingteam zur Verfügung.

Damit dies möglich wird, erstellt das Requirements-Engineering User Stories (vergleiche Wikipedia). Die User Story ist eine definierte Struktur, die innerhalb eines Unternehmens einheitlich angewendet wird. Einige Weiterführende Links über User Stories findest du im Anhang.
Wichtig ist das die User Story der Entwicklung klar sagt, was sie umsetzen muss. Für das Testing wird über sogenannte Akzeptanz-Kriterien definiert, wann die Story erfüllt ist und abgeschlossen werden kann.
Damit dies funktioniert, arbeiten die «Three-Amigos» über den gesamten Zyklus der User Story eng zusammen. In diversen Meetings wo alle beteiligten anwesend sind (physisch oder virtuell) wird die Story geschärft, bis alle ein einheitliches Verständnis haben und die offenen Fragen geklärt sind. Erst dann beginnt die Umsetzung. Die Story wird erst geschlossen, wenn alle erarbeiteten Punkte erledigt sind.

Konklusion

Was denkst du? Konnte ich dir das «Three-Amiogs» Prinzip an einem lebensnahen Beispiel näherbringen?
Mit einem guten Stück Land benötigt die Weinherstellung genauso eine ideale Ausgangslage, wie eine möglichst fehlerfreie Software eine entsprechende Firmenkultur benötigt. In beiden Bereichen arbeiten verschiedenste Menschen miteinander die entsprechenden Fähigkeiten haben, um die gesetzten Ziele zu erreichen.

Bildquellen

Titelbild: J-at-ywalters-dot-net, über Wikimedia Commons

 

Weiterführende Links

User Stories:

Akreptanz Kriterien: https://www.productplan.com/glossary/acceptance-criteria/

 

Beitrag teilen

Yves Jacot

Yves Jacot bloggt aus dem Unterricht des CAS Requirements Engineering. Er arbeitete bei der Migros Bank als Solution Engineer, wo er gesamtheitliche Bankenlösungen im Digitalen Umfeld mitgestaltet.

Alle Beiträge ansehen von Yves Jacot →

Schreibe einen Kommentar