Blog

SoCraTes 2011 – Software Craftsmanship auf Kurs nach Deutschland

Nun liegt die die SoCraTes bereits knapp zwei Wochen zurück und – wie bereits angekündigt – wir waren natürlich auch dabei. Höchste Zeit also, kurz von dem Event zu berichten, das bisher das erste seiner Art in Deutschland war und seinen Besuchern ein exzellentes Forum bot, Erfahrungen und Gedanken rund um das Thema Software Craftsmanship auszutauschen. Dazu waren nicht nur Besucher aus Deutschland, sondern aus ganz Europa und sogar Australien angereist. Eine interessante Mischung von Leuten aus verschiedenen Bereichen der Softwareentwicklung, die eine Menge spannender Themen, Fragen und Erfahrungen mitbrachten.

Am Donnerstagabend ging es nach einem leckeren Abendessen und einer kurzen Vortstellungsrunde los mit den „Lightning Talks“, die allen Anwesenden die Möglichkeit gaben, ihre Gedanken zum Thema Software Craftsmanship kurz vorzustellen und anzudiskutieren. Dabei wurde schnell deutlich, dass es sich entgegen der landläufigen Meinung nicht nur um die Frage „Wie schreibe ich besseren Code?“ dreht. Von der Frage, wie man mit Legacy Code umgeht bis hin zu der beinahe philosophisch anmutenden Frage, ob Softwareentwicklungsprozesse bestimmten Naturgesetzen folgen und somit besser vorhersagbar wären, wurden diverse Gedanken vorgestellt. Auch die Frage des Know-how-Transfers zwischen Entwicklern war ein Punkt, der u.a. später an der Bar diskutiert wurde.

Die Themen vom vorigen Abend fanden dann ihre Fortsetzung in den Talks am Freitag bei denen auch mein Kollege Oliver Ochs und ich Gelegenheit fanden, unseren Zuhörern etwas über unsere Erfahrungen zum Thema BDD (Behavior Driven Development) mit JavaScript und Jasmine erzählen zu können.

Sehr passend war dazu auch der Eröffnungstalk am Freitag mit einem interessanten Vortrag zum Thema Specification by Example. Dabei wurde die klassische Frage nach der Qualität bzw. Verständlichkeit von Fachanforderungen als grundlegende Voraussetzung für den Erfolg jedes Software-Projekts in den Mittelpunkt gestellt. Specification by Example wurde nun als Möglichkeit vorgestellt, der Herausforderung mittels verständlicher, konsistenter Beschreibung komplexer Sachverhalte beizukommen. Wie der Name schon sagt, bedient man sich konkreter, nachvollziehbarer Beispiele. Man nähert sich einer Problembeschreibung nicht mit abstrakten Modellansätzen wie ePK o.ä., sondern von einer völlig anderen, praxisorientierten Seite. Aus der Menge dieser Beispiele ergibt sich die Beschreibung der Funktionalität eines Gesamtsystems. Um die Qualität und das Verständnis der jeweiligen Anforderungen zu sichern, ist es immer wieder erforderlich, auch bei scheinbar trivialen Beispielen deren Sinn konsequent zu hinterfragen und sie dabei sauber gegen andere Beispiele abzugrenzen.

Dieses Thema bildete von der fachlichen Seite her die perfekte Grundlage für unsere Session, in der auch gezeigt wurde, wie sich mittels BDD die aus der Anforderung gewonnen Specs in Tests überführen lassen. Wesentlicher Vorteil bei diesem Ansatz ist die Tatsache, dass Fachexperten ihre Anforderungen als Szenarios in natürlicher Sprache spezifizieren. Die zugrundeliegenden Testimplementierungen sind Indikatoren für die fehlerfreie Umsetzung der jeweiligen Funktionalität und die Testfälle werden somit quasi zur lebendigen Dokumentation der Anwendung.
Damit schliesst BDD durch Tests die Lücke zwischen Anforderungen und tatsächlicher Implementierung bzw. Dokumentation, die bei klassischem akzeptanzgetriebenem Vorgehen oft entsteht. Wie das genau funktioniert und was sich dahinter verbirgt, würde an dieser Stelle den Rahmen sprengen und wird daher in einem der nächsten Blogbeiträge vorgestellt.

Da sich in anderen Ländern bereits Communities um Software Craftsmanship gebildet haben, wird deutlich, dass die Herausforderungen in der modernen Softwareentwicklung keine Fragen mehr sind, die nur durch die Köpfe einiger weniger geistern. Man darf also gespannt sein, ob in nächster Zeit auch in Deutschland die Community um dieses Thema wachsen wird.

Holisticon AG — Teile diesen Artikel

Über den Autor

Avatar

Roland Jülich arbeitet als Java Consultant im Geschäftsfeld Architektur der Holisticon AG in Hamburg. Während der vergangenen Jahre war er in verschiedenen Softwareprojekten bei Grossunternehmen und Behörden als Coach, Developer und Scrum Master tätig. Seine Schwerpunkte liegen hauptsächlich im Bereich agilen Entwicklungsmethoden wie BDD, TDD, XP und Clean Code. Er ist Co-Organizer der Softwerkskammer Hamburg einer lokalen Community der SoftwareCraftsmanship Bewegung in Deutschland.

Antwort hinterlassen