
Das Handwerk goldenen Boden hat ist eine alte Volksweisheit. Und für jeden unter uns, der einen Tischler, Maurer, Frisör oder Installateur beauftragt, ist es ganz selbstverständlich, das dieser von uns beauftragte Handwerker seine Arbeit in einer möglichst hohen Qualität anfertigt und abliefert. Mit diesem Selbstverständnis für Qualität ist es in der Softwareentwicklung allerdings oftmals nicht weit hergeholt. Obwohl die Disziplin des Software Engineerings und der Entwicklung mittlerweile gut fünf Jahrzehnte auf dem Buckel hat, ist die Bilanz ernüchternd: abgesehen von einer nach wie vor (zu) hohen Projektabbruchrate sind unzählige Software-Entwicklungsprojekte in einem verwahrlosten Zustand, weil auf die innere Code-Qualität keinen Wert gelegt wird! Die Folgen dieser Nachlässigkeit sind fatal: die Pflege dieser chaotischen Software-Ungetüme ist kaum noch möglich, mangels adäquater Tests wird jede noch so kleine Code-Änderung zu einem Vabanquespiel. Die dann häufig vom Management ausgegebene Direktive „Never touch a running system” weist auf derart fragile Softwaresysteme hin. Der lange gehegte Traum, das man den komplexen Prozess der Softwareentwicklung ähnlich industrialisieren, und somit berechenbar machen kann, wie die ja gut funktionierende, fabrikmäßige Herstellung von Autos, Möbeln, Tupperware-Dosen und anderen Gebrauchsgegenständen, dieser Traum hat sich nicht erfüllt.
Was macht professionelle Softwareentwicklung aus?
Softwareentwicklung ist vor allem ein nicht-trivialer, kreativer Prozess, der echte Profis braucht! Wie auch im traditionellen Handwerk brauchen wir gut ausgebildete Gesellen und Meister, die das Entwickeln von Software von vorne bis hinten bestens beherrschen, und die bereitwillig ihr Know-How an die "Lehrlinge" weitergeben. Wir brauchen Entwickler, die ihren Beruf auch wirklich als Berufung verstehen, einen hohen Anspruch an ihre Tätigkeit und an die Qualität des Produkts haben, und die bereit sind, diesen Standpunkt auch gegen äußere Angriffe zu verteidigen. Und wir brauchen Entwickler, die auch dann, wenn sie bereits meisterhaft arbeiten, immer noch danach streben besser zu werden und mit ihrem Beruf lebenslanges Lernen verbinden.
Die Community
Vom 01. bis zum 03. September 2011 fand in Rückersbach bei Frankfurt (Main) das erste deutsche International Software Craftsmanship and Testing Camp, die SoCraTes 2011, statt. 3 Tage lang tauschten sich rund 70 Entwickler über Software Craftsmanship, Code-Qualität, Clean Code, Test-Driven Development (TDD), Pair Programming und weitere Themen aus. Ein Ergebnis dieses Events ist die Absichtserklärung, lokale Software Craftsmanship Communities in Deutschland zu gründen und zu vernetzen. Am letzten Dienstag war folglich das konstituierende Treffen für den Hamburger Ableger "Softwerkskammer" in der - passenderweise - Handwerkskammer Hamburg, die ich schon von mehreren Scrumtischen kannte.
Hamburger Kick-Off
Nach dem Eintreffen der Teilnehmer gab es erst einmal ein gegenseitiges Kennenlernen in lockerer Atmosphäre. Und schon bei dieser Plauderei wurden die ersten Software Craftsmanship Themen andiskutiert. Eine der Fragen war: würde ein Bauherr einen Zimmermann bitten, einen Dachstuhl, d.h. die tragende Konstruktion des Daches, aus ungeeigneten Baumaterialien zu errichten, nur weil's schneller geht und billiger ist? Ganz bestimmt nicht! Würde ein Bauherr es stillschweigend dulden, das der Handwerker den Dachstuhl aus ungeeigneten Baumaterialien zusammenpfuscht, nur weil ein unrealistischer Fertigstellungstermin eingehalten werden muss und somit eine fachgerechte und robuste Herstellung des Dachstuhls nicht mehr möglich ist? Das kann man wohl ebenfalls klar verneinen. In der Softwareentwicklung hingegen wird "Pfusch am Bau" nicht nur geduldet, sondern mitunter auch aktiv gefördert. Hauptsache, die Release-Zyklen sind so kurz wie möglich, dann kann der Entwickler auch schon mal ein paar Features an das Produkt dranhäkeln, ohne durch Refactorings die Struktur der Software für diese Erweiterungen geeignet vorzubereiten. Auf die elementar wichtigen Tests kann man dann folglich auch verzichten, dann ist das Produkt sogar noch einen Tag früher fertig.
Nach dieser Kennenlern- und Klönrunde haben die Organisatoren Roland Jülich (Holisticon AG) und Markus Gärtner (it-agile GmbH) kurz von der SoCraTes 2011 berichtet.
Im zweiten Teil des Abends wollten wir dann folgende organisatorische Fragen klären:
- Welchen thematischen Schwerpunkten wollen wir uns in Zukunft widmen?
- Welche(s) Format(e) sollen zukünftige Treffen der Softwerkskammer haben?
- Wie oft und in welchem Rahmen wollen wir uns treffen?
Behandelt wurden diese Fragen im Format eines World-Cafés. Besonders bei den thematischen Schwerpunkten hat sich ein ganzer Strauß an Themen ergeben, die wir für behandlungs- und diskussionswürdig halten (siehe Foto): Qualität, Identität, Ausbildung, Begriffsschärfung, Soft Skills und Öffentlichkeitsarbeit sind die Top-Level-Kategorien. Bei den Formaten wurden nicht nur Workshop-Formate, wie Kurzvorträge, Open Space, Fishbowls oder World-Café genannt, sondern auch Code Katas (Dojos) oder Code Retreats sind denkbar. Damit auch interessierte Entwickler, die an unseren Treffen nicht teilnehmen konnten, in Zukunft zumindest teilweise auf die Ergebnisse zugreifen können, sollen gelegentlich auch Videomitschnitte von Sessions (z.B. Kurzvorträgen) bei YouTube oder vimeo bereitgestellt werden.
Zu guter Letzt wurde festgelegt, das die Treffen der Hamburger Softwerkskammer ab sofort immer an jedem 3. Dienstag des Monats stattfinden sollen. Das heißt, der nächste Termin ist Dienstag, der 15.11.2011 um 19 Uhr. Roland Jülich ist derzeit dabei, auch bei XING eine Gruppe für uns einzurichten. Mir hat dieses initiale Treffen auf jeden Fall sehr gut gefallen, viel Spaß gemacht, ich habe nette Leute kennengelernt, und ich werde von nun an sicherlich regelmäßig teilnehmen und mich aktiv einbringen. Vielen Dank an dieser Stelle auch an die Sponsoren Holisticon AG und it-agile GmbH!
Links
- On Air – Die Hamburger Softwerkskammer! - Roland Jülich bloggt über das Hamburger Kick-Off
- Softwerkskammer @ GroupSpaces - zentrale Anlaufstelle für die lokalen Software Craftsmanship Communities in Deutschland
- Manifesto for Software Craftsmanship




