DevCamp Karlsruhe 12. & 13.05.2017: Was hat Lego mit Software-Entwicklung zu tun?

Am 12. und 13.05.2017 fand das DevCamp in Karlsruhe statt, eine Art Barcamp speziell für Coder und Developer. Dies nahm unser Senior Developer Azim Khakulov zum Anlass den Austausch zu suchen und zu schauen, was momentan in der Szene „IN“ ist und womit sich die anderen Entwickler beschäftigen.

DevCamp – die Informatiktage in Karlsruhe

Das „DevCamp – die Informatiktage“ ist eine besondere Form eines Barcamps speziell für IT-Talente: Eine offene Tagung mit Sessions, deren Inhalte und Ablauf von den Teilnehmern zu Beginn der Tagung selbst entwickelt und im weiteren Verlauf gestaltet werden. Allerdings werden die Themen auf alles, was direkt und indirekt mit Mobile, Web- und Softwareentwicklung zu tun hat, beschränkt.

Das Ziel des DevCamps ist in erster Linie Wissensaustausch und Networking, teilweise sind konkrete Ergebnisse möglich. Organisiert wird die Veranstaltungsreihe von dem Berliner Unternehmen young targets gemeinsam mit der Gesellschaft für Informatik e.V. (GI). Die Veranstaltung findet 2017 in Karlsruhe, Köln, Hamburg und München statt. Hier in der Technologie-Stadt führten die Organisatoren die Veranstaltung gemeinsam mit dem Cyberforum durch.

DevCamp © Cyberforum e.V.

Der Freitag beim Forschungszentrum Informatik

Freitagnachmittags begann das DevCamp in Karlsruhe am FZI Forschungszentrum Informatik – House of Living Labs. In zwei Impulsvorträgen sprachen Oliver Denninger (FZI Forschungszentrum Informatik) über die „Die Zukunft der Informatikforschung“ und Dr. Martin Mähler (IBM Deutschland) über zukünftige Berufsbilder für Informatiker.

Oliver Denninger, Bereichsleiter Software Engineering am FZI, erklärte zur zukünftigen Lage der Informatikforschung:

IT-Systeme, die den Alltag und die Privatsphäre von Menschen durchdringen, werden oft in sehr emotionalen Situationen genutzt. Entwickler müssen sich vom Leitbild eines jederzeit rational und zielorientiert handelnden Nutzers verabschieden und lernen mit Emotionen und impulsivem Handlungen umzugehen.“

Dr. Martin Mähler (Leiter Wissenschaftsbeziehungen IBM Deutschland) erläuterte in seinem Vortrag über zukünftige Berufsbilder für Informatiker:

Cloud und Cognitive Computing sind aktuell die Treiber einer rasanten Veränderung der IT und vieler Geschäftsmodelle. Dadurch verändert sich auch das Berufsbild des Informatikers, der die Chance hat, mit seinem Know How die Transformation der geschäftlichen Anwendungen maßgeblich zu beeinflussen. Besonders gefragt sind die Kombinationen von analytischen Kompetenzen (“Data Science”) und Domänenwissen, z.B. in der industriellen Fertigung oder der Medizin. IBM unterstützt Studierende mit vielen kostenlosen Angeboten (z.B. Bluemix, Watson) die technische Expertise zu entwickeln.

Nach den Vorträgen nahmen die DevCamp Teilnehmer an verschiedenen Workshops teil, zur Auswahl standen folgende Themen:

  1. Arduino für Einsteiger (Sven Kallet, BTU Cottbus Senftenberg / GI-Hochschulgruppe Lausitz)
  2. Tensorflow für Einsteiger (Fabian Both, understand.ai)
  3. Internet of Things & moderne Cloud-Dienste (Christiane Langhammer und Christian Soellner, Microsoft)
  4. Lego Scrum: Scrum erleben – der agile Entwicklungsprozess in der Praxis (Timm Reinstorf, Sergej Werfel – andrena objects ag)
  5. Informatikforschung live erleben: Die Living Labs des FZI (Tanja Wessel et al, FZI)

Für Azim fiel die Wahl auf den Scrum-Workshop, da er thematisch gut zu einigen Projekten bei NETSYNO passte. Abends gab es dann einen lockeren Ausklang im kap Karlsruhe mit Pizza, bei dem weitere Sessions für Samstag geplant wurden.

DevCamp © NETSYNO

DevCamp – die Informatiktage in Karlsruhe: Scrum-Workshop

Ziel des Workshops am Freitag bestand darin, Scrum auf ganz praktische Art und Weise zu begreifen: Die Teilnehmer entwickelten selbst in Sprints inkrementell (schrittweise erfolgend) und iterativ (wiederholend) Teilstücke ihres Produktes, einer Stadt aus Lego-Bausteinen. Dadurch machten sie sich mit Scrum auf sehr anschauliche Weise vertraut – sie lernten die Kernelemente von Scrum wie Rollen, Artefakte und Meetings nicht einfach nur kennen, sondern nahmen die Rollen selbst ein und wendeten die zugehörigen Methoden direkt an.

Der Workshop vermittelte die Arbeitsweise von Scrum und  den Entwicklungsprozess von der Vision bis zum ersten Release. Während des gesamten Workshops wurden die Teilnehmer von zwei erfahrenen Coaches betreut: Timm Reinstorf (Standortleitung Karlsruhe, Agile Software Engineer) und Sergej Werfel (Agile Coach, andrena objects).

Zu Beginn des sehr aktiven Workshops hielten zwei Experten einen Vortrag über „Scrum – eine Methode agiler Projektorganisation“. Agiles Projektmanagement bezeichnet Vorgehensweisen, bei denen das Projektteam über hohe Toleranzen bezüglich Qualität, Umfang, Zeit und Kosten verfügt und eine sehr hohe Mitwirkung des Auftraggebers bei der Erstellung der Arbeit erforderlich ist. Das Adjektiv „agil” drückt aus, dass Management und Steuerung von Projekten und Prozessen sehr dynamisch und flexibel erfolgen (Projektmagazin).

Während des Planspiels fungierte Timm Reinstorf als Product Owner, also der Auftraggeber, und Sergej Werfel als Scrum Master, heißt Projekt Manager, der dafür sorgte, dass der Prozess läuft. In einem Backlog wurden zunächst die Aufgaben definiert. Ein Product Backlog ist in der agilen Software-Entwicklungsmethode die Liste aller Anforderungen an eine zu erstellende Software. Die Bezeichung Backlog (Auftragsbestand) macht deutlich, dass es sich um eine dynamische Liste und somit nicht um ein Lastenheft im traditionellen Sinne handelt (Projektmagazin).

Der Product Owner gab eine Stadt aus Legosteinen bestehend aus folgenden Stadtteilen in Auftrag:

  • Kindergarten
  • Auto
  • 2-stöckigem Haus
  • Eckkneipe
  • Kiosk
  • Carport

Wichtig zu erwähnen ist, dass diese Bestandteile zu Beginn des Prozesses fest standen. Die Teilnehmer teilten sich auf in drei Teams zu je vier Personen. Normalerweise hat ein Team in einem Sprint, also einem festgelegten Zeitraum innerhalb des Scrum Prozesses, um die drei Wochen Zeit. Beim Bau der Stadt aus Legosteinen dauerte jeder Sprint 5–6 Minuten, in denen jedes Team jeweils einen Stadtteil gebaut hat. Nach dem 1. Sprint konnten die Teilnehmer ein fertiges Auto, einen Kindergarten und ein Haus vorweisen.

In der sogenannten Retrospektive wurde in einer großen Feedbackrunde der vorangegangene Sprint jedes Teams analysiert. Die Erbauer der Legostadt stellten nach dem 1. Sprint fest:

  • Es gab nun zwar ein Auto, aber keine Straße. Außerdem war das Auto nicht verkehrssicher, da Lichter fehlten.
  • Was das Haus betrifft, so war dies dem Product Owner zu bunt, so wollte er nicht dort wohnen.
  • Bei dem Kindergarten war das Dach instabil, hier war der Product Owner mit dem Ergebnis auch nicht zufrieden.

Am Ende einer jeden Retrospektive werden weitere Maßnahmen erstellt um die Teamarbeit zu verbessern und den Projekterfolg zu garantieren. Danach folgte der 2. Sprint:

  • Das Auto wurde repariert, mit Lichtern war es nun verkehrstauglich.
  • Das Haus wurde umgebaut, so dass es nur noch aus einer Farbe bestand.
  • Das Dach des Kindergartens wurde stabilisiert.
  • Es wurden eine Straße, ein Carport und eine Eckkneipe gebaut.

Nach dem 2. Sprint war der Product Owner mit allem sehr zufrieden und wollte gerne noch eine Eckkneipe. In der 3. Runde wurde also noch eine Eckkneipe gebaut, außerdem noch ein Park und Ampeln, die anfangs noch nicht geplant waren.

Outcome vom Lego-Scrum Workshop beim DevCamp

Das Planspiel mit der Legostadt veranschaulichte sehr deutlich den Ablauf eines Scrum Prozesses: Wie organisiert sich ein Team selbst? Wie erschafft es iterativ und inkrementell ein Produkt? Wie in dem Beispiel läuft es auch in der Software Entwicklung ab: In einem agilen Prozess kann der Kunde immer wieder Änderungen in Zwischenprozessen machen, da der Projektplan nicht von Anfang feststeht. Hierbei ist die Nähe des Kunden essentiell –  während der kompletten Software Entwicklung sollte er immer erreichbar sein. Wichtig ist auch, dass ein Sprint eine fixe Länge hat, so kann man besser abschätzen, wie die einzelnen Aufgaben aufgeteilt werden. Mit jeder Interaktion kann man die weitere Planung optimieren.

Der Samstag bei der diva-e Digital Value Enterprise GmbH

Samstag trafen sich dann alle Teilnehmer des DevCamp in der diva-e Digital Value Enterprise GmbH. Den ganzen Tag über gab es weitere, spannende Sessions, wie beispielsweise:

  • Digital Transformation Framework, Capgemini Consulting
  • Versionierung für Microservices & Big Data: Präsentation der verschiedenen Methoden
  • Anwendungsbeispiele monalitischer Software zu Microservices
  • Architektur-Bullshit: Welche falsche Architektur (Software, Website) gab es in der Geschichte ?

Die Sessions gaben viele Möglichkeiten für frischen und unbürokratischen Input direkt aus der Praxis der Teilnehmer. Für ausreichend Essen, Kaffee und Club Mate wurde natürlich gesorgt.

DevCamp – die Informatiktage 2017 in Karlsruhe from Young Targets on Vimeo.

Insgesamt gefiel Azim die Veranstaltung sehr gut: Er schätzte die coole, lockere Atmosphäre, besonders bei diva-e, und konnte viel Output von dem Workshop und Sessions mitnehmen. Auch zum Networken war das DevCamp optimal, Azim traf alte Bekannte wieder und lernte neue Leute kennen. Er würde das Event auf jeden Fall weiterempfehlen.

Wie, oder ob wir bei NETSYNO Scrum beim Projekt Management benutzen, verraten wir demnächst in einem eigenen Artikel!