•  
  •  
  •  
  •  
  •  
Software Development Quality

Schatzkarte für Entwickler-Teams

Gute Softwarequalität liegt jedem Entwickler am Herzen. Doch was ist, wenn die Software nicht die Qualität aufweist, die man sich vorgenommen hat? Wo soll man anfangen? Die Software Development Quality Map zeigt den Lösungsweg: Sie nimmt Teams auf Entdeckungsreise und deckt in einer unterhaltsamen und spielerischen Art Verbesserungsmöglichkeiten auf.

14.11.2019Text: bbv0 Kommentare
Softwarequalität
  •  
  •  
  •  
  •  

«Die Qualität unserer Software muss besser werden», ist leichter gesagt als umgesetzt. Welche Themen sollen zuerst angegangen werden? Und welches Thema ist besonders wichtig? Und wie steht es um die Kommunikationsstruktur und -kultur im Team? Es ist oftmals der Beginn einer langandauernden Diskussion, denn zum Thema Softwarequalität gibt es viele verschiedene Definitionen, die erst zusammengebracht werden müssen, bevor Massnahmen beschlossen werden können.

Gute Softwarequalität zahlt sich nachhaltig aus

«Wenn zu Beginn eines Projektes der Softwarequalität nicht so Beachtung geschenkt wird, merkt man das nicht sofort», meint Marco Ravicini, Senior Software Architekt bei bbv. «Investitionen in die Qualität rentieren erst nach einer gewissen Lebensdauer des Softwareproduktes. Wenn gar nicht investiert wird, nehmen die Aufwände über die Zeit zu, um neue Features einzubauen, einen Technologiewechsel vorzunehmen oder Bugs zu fixen. Und dies sehr wahrscheinlich exponentiell.» Aus diesem Grund empfiehlt Ravicini, gleich bei Projektstart in Qualität zu investieren, und das kontinuierlich. Was dies bedeutet und welche Themen damit verbunden sind, hat er zusammen mit Urs Enzler, Senior Software Architekt bei bbv, auf dem Material zur Software Development Quality – eine Map und ein Cheat Sheet – zusammengetragen.

Reise in die acht Länder der Softwarequalität

Über 80 Themen zu Softwarequalität sind in die Software Development Quality Map eingeflossen, bildlich in acht Ländern angeordnet, wie zum Beispiel das Land «Team Collaboration» oder «Product Production». «Oft wird das Thema Qualität als trocken angesehen», sagt Marco Ravicini. «Wir wollten den Entwicklern das Thema auf eine spannende Weise näherbringen. Mit der Map haben wir sehr gute Erfahrungen gemacht, gerade in Diskussionen im Team.» Die Gespräche über die verschiedenen Themen schärfen wieder den Blick für das Wesentliche und bringen das Team zu einem einheitlichen Verständnis zusammen, was für sie Softwarequalität bedeutet. Und die Darstellung als Seefahrerkarte weckt den Spieltrieb in jedem Entwickler.

Leinen los und Segel setzen: Teams können sich an der orangenen Route orientieren oder die Länder ganz auf eigene Faust entdecken. Sie segeln dabei durch den «Stream of Team Building», machen eine kurze Pause im «Gulf of Legacy Code», bevor sie an der «Bug Bay» und dem «Release Monster» zum Land «Product Release» kommen. Sie können dabei vor und zurück die Länder mit ihren Qualitätsaspekten erkunden. Eine feste Reihenfolge gibt es nicht. Nur die Preconditions im Land «Product Production» sind klar vorgegeben: Erst die Qualität definieren, dann die Kontrollen und dann sich zur Qualität committen, bevor es losgeht.

bbv Quality Map
Die Software Development Quality Map von bbv.

Hier die Länder in der Übersicht:

  • Mindset/Culture:

Gute Teamarbeit hat viele Facetten. Dabei geht es nicht nur um Transparenz schaffen oder effizient Entscheidungen zu treffen. Viel wichtiger ist etwa das Bewusstmachen von Werten und die sinnvolle Einteilung von Arbeit und idle Time.

  • Lean Process

Hierbei geht es um die Optimierung von Arbeitsaufgaben. Wie kann das Team schnell und effizient arbeiten?

  • Communication

Wie wird in der Gruppe kommuniziert? Welche Regeln sind wichtig, damit keine Missverständnisse entstehen?

  • Team Organisation

Wie sollte das Team aufgestellt sein und wie soll das Arbeitsumfeld aussehen, damit das Team produktiv arbeiten kann?

  • Team

Dass ein Team in die gleiche Richtung mit denselben Vorstellungen arbeitet, ist nicht selbstverständlich. Welche Topics haben hier Einfluss auf die Softwarequalität?

  • Product Discovery

Wie kann das Produkt entwickelt werden, so dass es den Wert bietet, für den der Kunde gerne bezahlt?

  • Product Production

Das Produkt wird entwickelt. Welche Qualitätsaspekte finden sich in Vorbedingungen, Umgebung, Prozess, Architektur, Design, Code Qualität, TDD, Test After, Usability, Non-functional Tests und Monitoring?

  • Product Release

Welche Schritte gilt es zu beachten, wenn das Produkt released wird, oder nachdem die Software produktiv ist?

Zu jedem Qualitätstopic gibt es auf dem Cheat Sheet eine kurze Erklärung, was er bedeutet. Im Web findet man meist bekannte Methoden und Tools dazu, um die Topics auch im Alltag umzusetzen.

Wie erhöhen wir die Produktqualität und wie die Servicequalität?

Neben dem Vorteil, dass mit der Software Development Quality Map alle Themen auf einen Blick sofort erkennbar sind, zeigt sie noch ein weiteres Highlight: Nebst dem Pfad gibt es noch eine andere Möglichkeit, die Qualitätstopics zu erkunden und für ein Team herauszufinden, wie es die Produkt- oder Servicequalität erhöhen könnte. Bei den Qualitätsattributen sind jeweils drei Koordinaten, die auf drei Qualitätstopics weisen, welche das jeweilige Attribut am meisten positiv beeinflussen. So beeinflussen beispielsweise Evolutionary Architecture/Design, Functionality Tests (TDD) und Compile Time Safety over Tests die Maintainability positiv.

Bestellen Sie hier Ihre Software Development Quality Map für Ihr Team. Alternativ können Sie hier das Poster und hier das Cheat Sheet downloaden. Und sobald Sie die ersten Erfahrungen damit gesammelt haben, freuen wir uns auf Ihr Feedback. Welche Punkte haben Sie überrascht? Welche Punkte haben zu langen Diskussionen geführt? Und welche Punkte können wir noch ergänzen? Sie werden sehen, dass das Thema Softwarequalität zu vielen interessanten Erkenntnissen führen wird, die Ihr Team weiterbringt.

Der Autor

Marco Ravicini

Marco Ravicini ist als Senior Software-Architekt .NET bei der bbv tätig. Als Lead der Software Craftsmanship und .NET Community innerhalb der bbv ist ihm der Erfahrungs- und Wissensaustausch sehr wichtig. Marco ist passionierter Vertreter der Software Craft Bewegung.

Unser Wissen im Abo

Artikel kommentieren

Die E-Mail-Adresse wird nicht publiziert. Notwendige Felder sind mit einem * versehen.