Qualität im Handwerk
Was bedeutet Qualität für einen Handwerker? Sie bedeutet Funktion. Das Werk, das er herstellt, soll funktionieren und seinen Zweck erfüllen. Sie bedeutet aber auch Nachhaltigkeit, denn das Werk soll lange halten. Ein Stuhl, der über Generationen vererbt und genutzt wird, wird als gute Handwerksarbeit bezeichnet.
Qualität in der Softwareentwicklung?
In der Softwareentwicklung bedeutete Qualität lange Zeit: Eine Software soll funktionieren und dabei möglichst wenige Fehler machen.
Aber leider gilt auch: Eine Software, die nur auf Funktion ausgelegt ist, geht relativ schnell kaputt. Denn eine Software unterliegt ständigen Änderungen, entwickelt sich weiter, muss neue oder angepasste Anforderungen erfüllen. Dadurch erhöht sich dauernd die Größe und Komplexität, Teile werden zweckentfremdet, Strukturen verwässert, man verliert den Überblick.
Irgendwann ist die Software so groß und komplex, dass sie weder bedienbar noch erweiterbar ist. Hinter überladenen GUIs liegen dann Klassen mit tausenden von Zeilen, seitenlange SQL-Statements, Duplikationen an allen Ecken und Enden und ein Abhängigkeitswirrwarr, das nicht mehr zu überblicken ist. Die Software ist fehlerhaft, nicht mehr erweiterbar, man kann nichts reparieren ohne etwas anderes dabei kaputt zu machen. Sie ist damit kaputt, obwohl sie zu Beginn funktioniert hat.
Neues Qualitätsbewußtsein
Seit einiger Zeit ändert sich dieses Qualitätsbewußtsein. Es gibt immer mehr Entwickler, die ihren Beruf als Handwerk sehen, das sein Ansehen verteidigen muss - das wird als Software Craftsmanship bezeichnet. Dafür wollen sie echte Qualität schaffen im Sinne von Nachhaltigkeit und Langlebigkeit der Software.
Die Methoden und Werkzeuge, um das zu erreichen gibt es. Sie befinden sich selbst ständig in der Entwicklung, sind aber allgemein bekannt. Man muss sie kennen, lernen und anwenden können, um Qualität zu schaffen, so wie ein Handwerkslehrling seine Werkzeuge benutzen lernt. Zum Qualitätshandwerk gehört aber auch, seine Qualitätsstandards durchzusetzen und sich dagegen zu wehren, Quick and Dirty Fixes einzubauen. Damit eckt man bisweilen bei Chefs und Auftraggebern an, die nicht erkennen, dass sie sich damit ins eigene Fleisch schneiden.
Software Craftsmanship in Deutschland
Eine von vielen Communities in Deutschland, die sich Software als Qualitätshandwerk auf die Fahne schreiben, ist die Softwerkskammer, die auch ihre eigene Konferenz zu dem Thema veranstaltet: Die SoCraTes (Software Craftsmanship and Testing Conference).
www.softwerkskammer.de
www.socrates-conference.de
Literaturempfehlungen:
Clean Code: A Handbook of Agile Software Craftsmanship - Robert C. Martin (Wikipedia)
Working Effectively with Legacy Code - Michael C. Feathers
Adventsbloggen 2012: Das war ein Gastbeitrag von Arnold. Sein Handwerk ist seit Jahren die Softwareentwicklung, wobei er sich täglich mit der Qualitätsfrage auseinandersetzen muss.
Andere Kommentare