Weißt Du, was die Software-Craftmanship-Bewegung ist?

Software und Handwerk in einem Atemzug, das ist mir neu.

Mir ist dieser Begriff noch nie begegnet. Daher habe ich auch nicht verstanden, was der Autor

Eric Ries: Lean Startup. Schnell, risikolos und erfolgreich Unternehmen gründen

mir sagen will, wenn er diesen Begriff zusammen mit einigen anderen Fachbegriffen auf Seite 99 erwähnt. Für Eric, der sich viel mit Start-Ups beschäftigt, ist der Begriff so selbstverständlich, dass er ihn in seinem Buch weder erläutert noch in seinem Stichwortverzeichnis auftauchen lässt. Alles, was wir von unserem Autor zu diesem Begriff erfahren, ist, dass er das Fundament der Bewegung ist, die dem Kunden eine qualitativ hochwertige Erfahrung bieten will.

Obwohl ich fast 4 Jahre selbst in einem Start-Up gearbeitet habe, habe ich keine Ahnung, was es mit diesem Begriff auf sich hat. Möglicherweise liegt das daran, dass ich damals im Verkauf und nicht in der Software-Entwicklung tätig war. Um herauszufinden, was es mit diesem Begriff auf sich hat, brauchen wir die Hilfe des Internets. Los geht es:

Das Software-Craftmanship-Manifest

Grundlage der Software-Craftmanship-Bewegung ist das folgende Manifest, das nur im Ganzen zitiert werden darf, weshalb ich es hier unverändert per Copy&Paste einfüge:

„Die Messlatte anheben.

Als engagierte Software-Handwerker heben wir die Messlatte für professionelle Softwareentwicklung an, indem wir üben und anderen dabei helfen, das Handwerk zu erlernen. Durch diese Tätigkeit haben wir diese Werte zu schätzen gelernt:

  • Nicht nur funktionierende Software, sondern auch gut gefertigte Software
  • Nicht nur auf Veränderung zu reagieren, sondern stets Mehrwert zu schaffen
  • Nicht nur Individuen und Interaktionen, sondern auch eine Gemeinschaft aus Experten
  • Nicht nur Zusammenarbeit mit dem Kunden, sondern auch produktive Partnerschaften

Das heißt, beim Streben nach den Werten auf der linken Seite halten wir die Werte auf der rechten Seite für unverzichtbar.

© 2009, Die Unterzeichneten. Diese Erklärung darf in jeglicher Form frei kopiert werden, aber nur in seiner Gesamtheit mit diesem Zusatz.“

https://manifesto.softwarecraftsmanship.org/#/de
Dafür hab ich einfach nicht die Geduld.

Für jemanden wie mich, der sich ein-, zweimal an der Programmierung versucht hat, und es schnell wieder gelassen hat, weil es einfach zu kompliziert ist, ist dieses Manifest nicht sehr aussagekräftig. Ich weiß nicht, was Softwareentwickler unter Begriffen wie

  • gut gefertigte Software,
  • Mehrwert,
  • Gemeinschaft aus Experten,
  • produktive Partnerschaft

verstehen. Doch zum Glück gibt es einige deutschsprachige Softwareentwickler im Internet, die erklären, was das Manifest für sie bedeutet.

Worum geht es bei der Software-Craftmanship-Bewegung?

Um diese Frage für mich beantworten zu können, habe ich folgende Quellen gesichtet:

Ich bin mir noch immer nicht sicher, ob ich die Frage als nicht Softwareentwickler richtig beantworten kann. Doch ich starte hier einen Versuch, indem ich die vier Punkte des Manifestes durchgehe.

Nicht nur funktionierende Software, sondern auch gut gefertigte Software

Ich habe keine Ahnung was die Codezeilen bedeuten, da ist kein einziger Kommentar.

Da ich schon ein paar Mal Programmierversuche gestartet habe, weiß ich, dass ich in der Lage bin, das ein oder andere Mal eine Software zum Laufen zu bringen, aber nicht den Hauch einer Ahnung hatte, warum sie funktionierte.

Andere Male wusste ich genau, warum meine Software funktionierte. Als ich sie dann nach ein paar Wochen wieder auf dem Schirm hatte, hatte ich keine Ahnung mehr, wie ich sie zum Laufen bekommen hatte.

Das, was mir passiert ist, passiert auch echten Softwareentwicklern. Sie sitzen stundenlang vor einer nicht funktionierenden Software. Sie schauen sich den Code an, testen alles Mögliche, lesen zahlreiche externe Quellen und finden dann irgendwann die Lösung des Problems. Sie reparieren den Code, und alles scheint perfekt.

An dieser Stelle haben wir es dann mit funktionierender Software zu tun. Funktionierende Software zeichnet sich dadurch aus, dass sie funktioniert. Gut gefertigte Software zeichnet sich dadurch aus, dass auch ein anderer Softwareprogrammierer versteht, was die Software tut. Um dieses Ziel zu erreichen, werden die Codezeilen in einer Software kommentiert. Im Kommentar wird erklärt, was der jeweilige Teil des Softwarecodes tut.

Einen Code mit Kommentaren zu schreiben, dauert viel länger als ein Code ohne Kommentare zu schreiben. Doch sobald es ein Problem mit der Software gibt, ersparen die Kommentare viel Zeit bei der Fehlersuche. Der Fehlersuchende braucht nur die Kommentare zu lesen und findet so schnell die Stelle im Code, die er sucht.

Nicht nur auf Veränderung reagieren, sondern stets Mehrwert schaffen

Wenn wir das ein bisschen anders machen, wird das großartig.

Die Softwareentwicklung ist purer Stress. Mal kommt der Kunde um die Ecke und möchte, dass noch schnell eine Kleinigkeit geändert wird. Mal gibt es ein externes Update, das dafür sorgt, dass die gestern noch funktionierende Software heute nicht mehr läuft. Ein guter Softwareentwickler lässt sich von diesen Veränderungen nicht aus der Ruhe bringen, sondern kümmert sich darum, die Dinge umzusetzen bzw. zu beheben.

Ein Softwarecraftman dagegen geht einen Schritt weiter. Ein normaler Softwareentwickler setzt den Kundenwunsch einfach nur um. Getreu dem Motto „Was der Kunde will, bekommt er auch.“ Dabei kommt es vor, dass der Softwareentwickler bereits bei der Umsetzung des Kundenwunsches weiß, dass das, was er gerade programmiert, in Zukunft Schwierigkeiten bereiten wird. Ein Softwarecraftman dagegen setzt einen Kundenwunsch nicht einfach um. Er strebt danach, den Wunsch des Kunden zu verstehen, um dann mit diesem Wissen eine Lösung zu schaffen, die nicht nur funktioniert, sondern einen echten Mehrwert bietet.

Nicht nur Individuen und Interaktionen, sondern auch eine Gemeinschaft aus Experten

Ein Softwarecraftman versteht sich als Teil einer Gemeinschaft. Er schreibt seinen Code nicht für sich selbst, sondern für alle, die seinen Code jemals in der Hand haben werden. Deshalb kommentiert er seinen Code, damit jeder ihn versteht. Zudem tauscht er sich mit anderen Programmierern aus. Das Wissen zwischen Softwarecraftern fließt und wird nicht gehortet. Solch ein Wissensaustausch findet unter anderem auf Veranstaltungen der Softwerkskammer statt.

Nicht nur Zusammenarbeit mit dem Kunden, sondern auch produktive Partnerschaften

Das Einzige, was ich hierzu gefunden habe, ist das, was micromata dazu schreibt. Wirklich verstanden habe ich es nicht leider nicht, doch vielleicht findest Du die Antwort, wenn du den Text von micromata liest.

Fazit

Bevor ich zum echten Fazit kommen, möchte ich noch kurz erwähnen, dass sich meine Quellen auch mit der Frage beschäftigt haben, ob Softwareentwicklung eine Geisteswissenschaft, eine Ingenieurwissenschaft oder ein Handwerk ist. Diesen Punkt habe ich unterschlagen, weil ich weder von Geisteswissenschaften noch von Ingenieurwissenschaften noch vom Handwerk ausreichend Ahnung habe, um mir ein Urteil zu erlauben.

Nun zum Fazit: Wir haben heute herausgefunden, was es mit der Software-Craftmanship-Bewegung auf sich hat. Dabei haben wir nur an der Spitze des Eisberges gekratzt. Wenn Du Softwareentwickler bist oder werden möchtest, ist dieser Beitrag nur ein schneller Einstieg in das Thema. Doch wenn Du – so wie ich – einfach nur jemand bist, der keine Ahnung von Software hat und nur gerne wissen möchte, was jemand meint, wenn er von Software-Craftmanship spricht, dürfte dieser Beitrag ausreichend sein.

Ich weiß nicht, wie es Dir geht, aber ich freue mich darauf, bei meinem nächsten Treffen mit einem Programmierer herauszufinden, was dieser von der Software-Craftmanship-Bewegung hält.

30. Januar 2023
Werbehinweis, der besagt, dass das Buch zu diesem Beitrag von einem Verlag kostenlos zur Verfügung gestellt wurde.
Lesedauer & Kategorie
6 minBücher
Schnellnavigation
Buchcover zum Beitrag
Ein Männchen mit vier Armen wirbelt 8 Bücher durch die Luft.
Schlagwörter
Autor
Werbehinweis, der besagt, dass das Buch zu diesem Beitrag von einem Verlag kostenlos zur Verfügung gestellt wurde.
6,4 min readCategories: Bücher

Schnellnavigation

Buchcover zum Beitrag

Ein Männchen mit vier Armen wirbelt 8 Bücher durch die Luft.

Schlagwörter

Datum & Autor

30. Januar 2023
Werbehinweis, der besagt, dass das Buch zu diesem Beitrag von einem Verlag kostenlos zur Verfügung gestellt wurde.Warum spalten wir eigentlich Haare?
Werbehinweis, der besagt, dass das Buch zu diesem Beitrag von einem Verlag kostenlos zur Verfügung gestellt wurde.Weißt Du, was Stromatolithen sind?

Kommentiere den Beitrag

  1. Emanuel Kessler 1. Februar 2023 at 12:29 - Reply

    Vielleicht eine Ergänzung zu „Nicht nur funktionierende Software, sondern auch gut gefertigte Software“ aus Sicht einer Person, die den einen oder anderen Codeteil geschrieben und auch analyisert hat:

    Mir persönlich würden Kommentare nicht reichen, um von „gut gefertigte Software“ zu sprechen. (Um die Mathematik zu bemühen: Kommentare sind notwendig, aber nicht hinreichend ;-)).

    Automatisierte Testbarkeit wäre mir daher auch wichtig.

    Danach wird es dann auch speziell, abhängig von Softwaresprache, Ziel der Software, usw.

    • Maria Steinberg 1. Februar 2023 at 18:01 - Reply

      Hallo Emanuel,

      vielen Dank für Deinen Kommentar. Das ist auch ein spannender Punkt. Meine persönlichen Programmiererfahrungen reichen definitiv nicht aus, um zu wissen, wie ich eine automatisierte Testbarkeit herstellen könnte, doch ich wette für echte Programmierer stellt das keine große Herausforderung da.

      Viele Grüße

      Maria

Was passiert nach Deinem Kommentar?

Nachdem Dein Kommentar durch uns geprüft wurde, wird er freigegeben* und erscheint unter diesem Beitrag zusammen mit dem von Dir angegebenen Namen. Deine E-Mail-Adresse wird nicht veröffentlicht. Sie dient uns an dieser Stelle in erster Linie zum Schutz vor Spam. Wenn Du Deine E-Mail-Adresse nicht hier angeben möchtest, kannst Du den Kommentar auch gern auf einem unserer Social Media Profile posten.

 

*Spam und Kommentare, die nur einen Backlink für die eigene Seite zum Ziel haben, werden einfach gelöscht. Nimm gern Kontakt mit uns auf und lass uns die Möglichkeiten eines Sponsored Post besprechen, wenn Du gern einen thematisch passenden Backlink unter einem bestimmten Beitrag platzieren möchtest.