Softwareentwicklung == Craftsmanship?

Immer wieder wird betont, dass Softwareentwicklung eine Handwerkskunst (Craftsmanship) ist, der Entwickler als mit einem Handwerker (Craftsman) gleichzusetzen ist. Neben dem Begriff Software craftsmanship gibt es sogar noch ein Manifesto for Software Craftsmanship, wohl eine Erweiterung des Manifesto for Agile Software Development (siehe wer da alles “unterschrieben” hat). Klingt alles ganz nett und brauchbar. Auch will ich mich gar nicht am Manifesto aufhängen, vielmehr am Vergleich zum Handwerk.

Dem Handwerk wird ja grundsätzlich etwas Professionelles nachgesagt. Ganz klar, wer sein Leben einer einzigen Berufssparte verschreibt, eine Lehre durchlebt, zum Gesellen aufsteigt und vielleicht auch noch seinen Meisterbrief macht, währenddessen (und immer weiter fort) Erfahrung sammelt, der muss das schon können. Aus diesem Blickwinkel ist es verständlich, zumal Softwareentwicklung auch ganz schön harte Arbeit ist (wenn auch vorzüglich geistiger Natur) und viele Parallelen gezogen werden können. Soweit die Theorie.

Handwerk in der Praxis

Ich hatte heute Handwerker im Haus. Leute vom Fach. Insgesamt mussten vier Aufgaben erledigt werden.

  • Die erste Aufgabe scheiterte an einem fehlenden Teil. Dafür war ein anderer Gegenstand für diese Aufgabe zu viel. Zusätzlich hätte es eines weiteren Fachmannes bedürfen, der nur nichts von seinem Termin wusste.
  • Die zweite Aufgabe war recht einfach – sollte man meinen. Eine Montage wäre zwar möglich gewesen, dafür hätte aber das “Hauptfeature” ausgebaut werden müssen.
  • Die dritte Aufgabe wurde mit bestem Wissen und Gewissen durchgeführt und abgeschlossen. Ein (offensichtlicher) Mangel musste von mir – also dem Kunden – aufgedeckt werden. Nachdem ich auch noch selbst das passende Werkzeug beigesteuert habe, ging es dann. (Im Sinne des Manifesto for Software Craftsmanship würde hier wohl der Punkt productive partnerships ins Auge springen).
  • Die vierte Aufgabe war dann schon etwas kniffliger, vor allem auch die größte. Insgesamt mussten hier vier Sub-Aufgaben erledigt werden. Erfolgsstatus: 1 von 4 geschafft. Der Rest muss zurück und “nachbearbeitet” werden, vor Ort nicht lösbar, da bereits in der Vorbereitung der Aufgabe offensichtliche Mängel aufgetreten sind. Da von einem Erfolg ausgegangen wurde, wurden zuerst alle “alten” Features entfernt. Blöd, dass sich nicht alle neuen installieren ließen. Ein Rückbau wurde notwendig. Immerhin konnten hier 3 von 3 abgeschlossen werden.

Nun gut, man könnte meinen das sei ein Einzelfall. Meine Häuslbauer-Freunde widersprechen dem. Theoretisch alles wunderbar, praktisch liegt sehr vieles im Argen.

Was man davon mitnehmen kann

So schmerzlich dieses Beispiel vielleicht ist (weit mehr für mich als dem werten Leser), es gibt einiges daraus mit zu nehmen:

  • Kommuniziere rechtzeitig mit deinem Auftraggeber und reflektiere deinen Wissensstand mit den erhaltenen Informationen (generell wichtig, besonders als Sub-Unternehmer).
  • Kommuniziere mit allen, die für die Umsetzung deines Projektes von Nöten sind und verlasse dich niemals darauf, dass sie von ihrer Aufgabe wissen.
  • Überprüfe ob alles vorhanden ist, was du brauchst. Sei für alle Eventualitäten gerüstet. Dies ist gerade für Kundentermine wichtig.
  • Verwende die richtigen Werkzeuge und sorge dafür, dass du sie hast wenn du sie brauchst!
  • Arbeite dich Schritt für Schritt an das Ziel heran und verwerfe nichts, bevor du dir sicher sein kannst, dass du es nicht mehr brauchst bzw. auch wirklich ersetzen kannst.

Zu guter Letzt: Fluche nicht vor dem Kunden, das macht auch so gar keinen professionellen Eindruck.

Was ich für mich aus dieser Geschichte mitnehme: Der theoretische Vergleich zwischen Softwareentwicklung und Craftsmanship mag schon stimmen und berechtigt, gar gut sein. Davon kann man sich durchaus die eine oder andere Scheibe abschneiden. Aus dem praktischen Leben eines Handwerkers sollte man sich dann vielleicht doch nicht allzu viel abschauen, dafür hat die Softwareentwicklung selbst genügend Probleme.

Abschwächend sei noch gesagt: Mir ist klar, dass nicht alle Handwerker nach diesem Schema arbeiten, offensichtlich sind die “weißen” Schafe jedoch in der Minderzahl. Schade, ist aber wohl in der Softwareentwicklung auch nicht viel anders.

Veröffentlicht von Norbert Eder

Ich bin ein leidenschaftlicher Softwareentwickler. Mein Wissen und meine Gedanken teile ich nicht nur hier im Blog, sondern auch in Fachartikeln und Büchern.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Cookie-Einstellungen
Auf dieser Website werden Cookie verwendet. Diese werden für den Betrieb der Website benötigt oder helfen uns dabei, die Website zu verbessern.
Alle Cookies zulassen
Auswahl speichern
Individuelle Einstellungen
Individuelle Einstellungen
Dies ist eine Übersicht aller Cookies, die auf der Website verwendet werden. Sie haben die Möglichkeit, individuelle Cookie-Einstellungen vorzunehmen. Geben Sie einzelnen Cookies oder ganzen Gruppen Ihre Einwilligung. Essentielle Cookies lassen sich nicht deaktivieren.
Speichern
Abbrechen
Essenziell (1)
Essenzielle Cookies werden für die grundlegende Funktionalität der Website benötigt.
Cookies anzeigen