Posted on by und | Posted in Developer Blog, synyx Blog

Die Karlsruher Entwicklertage hatten Geburtstag! Zehn Jahre alt wurden sie und das mussten wir synyxler uns anschauen. Wir freuten uns auf hochwertige Talks und das Wiedersehen mit vielen Karlsruher Kollegen und bekannten Gesichtern der nationalen Entwicklerszene. Und wir wurden nicht enttäuscht! Es gab diesmal sechs parallele Tracks so dass niemand zu kurz kam. Egal ob DevOp, Coder, Scrum-Guru, Sicherheitsfanatiker oder Buzzword-Jongleur - jeder kam auf seine Kosten. Die thematische Aufteilung in Conference Day und Agile Day kam den jeweiligen Präferenzen entgegen, auch wenn der Agile Day tatsächlich nur teilweise das Thema “Agile” bediente, vermutlich aus Mangel an Speakern in diesem Bereich. Im Folgenden gehen wir auf ein paar gelungene Talks der beiden Tage ein.

Conference Day

Spock und Geb: Übersichtlich und nachvollziehbarer testen für alle!

Wer schonmal Web-Integrationstests mit Selenium geschrieben hat, der kennt neben den vielen Vorzügen auch dessen Probleme - unter anderem in punkto Testfalldefinition, Wartbarkeit, Reporting.
Tobias Kraft und Ralf Müller stellten eine interessante Alternative vor, die es mit etwas Initialaufwand möglich macht, dass der Product Owner (PO) ohne technische Kenntnisse Testfälle generiert. Diese werden von den Entwicklern mit wenigen Zeilen Groovy Code ausimplementiert und liefern danach ansehnliche und aussagekräftige Reports an den PO zurück.
Der verwendete Stack besteht aus dem Groovy-Testtool Spock, dem Webtesting Framework Geb, einer Auswahl an verschiedenen Reporting Tools und Überraschung! - Excel! Schließlich soll auch der Fachbereich ein Werkzeug in die Hand bekommen, mit dem er sich wohl fühlt.

Java Web-Security Anti-Patterns

Dominik Schadows Vortrag zur Sicherheit im Web war nichts für schwache Nerven, denn wer ihn gelassen und ruhigen Gewissens besuchte, der kam unter Umständen nägelkauend und zähneklappernd wieder raus. Die Session war wie ein guter Horrorfilm und das eigene Projekt war das Monster! Dominik warf anschauliche Fallbeispiele auf die Leinwand, die klar zeigten, wie man Sicherheit im Web NICHT macht und so mancher hat darin garantiert sein eigenes Machwerk wiedererkannt. Gibt es ein Threat Model? Ist die Authentifizierung langsam genug, um Brute Force zu verhindern? Wird die Session ID zur rechten Zeit erneuert? Wer diese und viele weitere Fragen mit “Ja” beantworten konnte war einer der wenigen Glücklichen, die den Talk mit einem guten Gefühl verlassen konnten. Die Session war augenöffnend und einer der wertvollsten Beiträge zur Konferenz.

Agile Day

Software , die jeder mag - schnell und innovativ

Jürgen Lind und Adam Egger stellten ein Konzept vor, welches sich von der Softwareentwicklung mit drei Phasen - Anforderung, Entwicklung und Testen - deutlich unterscheidet. Ihr Konzept sieht eine starke Kollaboration aller beteiligten Gruppen vor und ist in vier Phasen aufgeteilt.

In der ersten Phase sollen der Nutzer und dessen Bedürfnisse sowie die Domäne verstanden werden, sodass die Sicht des Kunden eingenommen werden kann. Die Probleme des Kunden zu analysieren und definieren ist Teil der folgenden analytischen Phase. Unterstützt werden diese Phasen von verschiedenen Methodiken wie z.B. ‘5-Why’. Diese Methode zielt darauf ab den Kern des Problems zu finden, indem man immer wieder die 'Warum?' Frage stellt, wodurch das eigentliche Problem zum Vorschein gebracht werden soll.

Nachdem die Probleme identifiziert wurden, wird ein Lösungsentwurf angestrebt. Dabei helfen die ‘Crazy 8s’. Bei dieser Methode faltet man ein Blatt Papier dreimal, sodass acht Rechtecke entstehen. Diese Rechtecke werden mit acht verschiedenen Entwürfen gefüllt, wobei potentielle Lösungsentwürfe entstehen.
Die vierte Phase schließt das Modell mit einem Prototyp ab. Dieser kann auf verschiedenen Wegen entstehen - zum Beispiel als Skribble auf einem Blatt Papier. Softwarelösungen wie ’Prototyper’, 'POP’ und ähnliches sind Alternativen.

jukebox

Zu den einzelnen Phasen wurden mehrere Methodiken vorgestellt um das gewünschte Ergebnis der Phase zu erhalten. Es lohnt sich diese Methoden zu studieren.

Der Talk gab einen guten Einblick in moderne Softwareentwicklung, bei der alle Beteiligten mit einbezogen werden um für den Kunden ein Produkt zu entwickeln, mit dem er noch erfolgreicher sein kann.

Funktionale Programmierung

Gleich zwei Talks befassten sich mit dem Thema funktionale Programmierung. Nicole Rauch bot einen gelungenen Einstieg in die Thematik indem sie typische Sprachkonstrukte verschiedener funktionaler Sprachen mit den objektorientierten Pedants verglich. Dabei wurde schnell klar, welche Vorzüge Sprachen wie Haskell und Scala gegenüber großen Playern wie Java haben können. Auf diese Vorzüge ging Michael Sperber anhand eines anschaulichen Beispiels ausführlicher ein. Er erklärte, warum grundlegende funktionale Konzepte wie Immutability eine tolle Sache sind und warum wir viel mehr Software mit funktionalen statt objektorientierten Sprachen entwickeln sollten.

Was gabs noch?

Eine Menge Talks, die richtig gut waren aber für die wir in so einem kleinen Blogeintrag nicht genug Platz haben:

Fazit

Der Besuch hat sich gelohnt, wir kommen gerne wieder! Die Talks waren durch die Bank von ordentlicher bis hervorragender Qualität und die parallelen Tracks mit großer Bandbreite an Themen ließen keine Wünsche offen. Wir konnten deutlich mehr nützliche Infos in unseren Arbeitsalltag mitnehmen als bei der noch nicht so etablierten Schwesterkonferenz in Frankfurt.
Die Keynotes des Conference Day gingen für unseren Geschmack zu sehr in Richtung Buzzword-Bingo, was aber Holger Koschek und Rolf Drähter am Agile Day durch ihre Sangeskraft locker wieder ausbügelten.
Auch am Umfeld mit Catering, Kaffee, Ganggesprächen, Zeitplanung und Organisation gab es nix zu meckern. Vielen Dank an den Ausrichter andrena, der sich zu seinem zwanzigjährigen Bestehen eine würdige Geburtstagskonferenz modelliert hat!

jukebox

Autoren: Arnold Franke, Tobias Schneider



Schreibe einen Kommentar

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