Summerschool “Agile Software Development”

Der FIT hat in diesem Jahr neben den schon mehrmals angebotenen — und im übrigen ebenfalls empfehlenswerten — Firmenexkursionen auch eine Veranstaltung zum Thema Agile Softwareentwicklung angeboten: Summerschool “Agile Software Development”.

Als ich die Ankündigung gelesen hatte, wusste ich sofort, dass ich da mitmachen wollte. Mit agiler Softwareentwicklung wollte ich mich sowieso mal beschäftigen. Außerdem sollte das Ganze auch sehr praxisnah sein. (Wenn man auf ner Uni studiert, sind wirklich praxisnahe Lehrveranstaltungen eher selten.) Und zum Dritten bot sich so mal wieder die Gelegenheit, mit ein paar Firmen in Kontakt zu kommen.

Die Teilnehmerzahl war auf 20 beschränkt, wir waren letztendlich dann aber doch nur 17. Ich hätte gedacht, der Zuspruch wäre größer. Die Veranstaltung war auf jeden Fall klasse.

Bälle, Papierflieger und Lego

Am ersten Tag haben wir Ball gespielt, Papierflieger gebastelt und Legostädte gebaut. Ja, wirklich. Auf spielerische Art haben wir Scrum beigebracht bekommen und eingeübt. Und ich muss sagen, das hat ziemlich gut gepasst. In kurzen Sprints (Iterationen) von wenigen Minuten haben wir so langsam ein Gefühl für agile Denkweise bekommen. Und es hat ne Menge Spaß gemacht. Man hat auch gemerkt, dass die beiden ScrumMaster, die das mit uns gemacht haben, wirklich Ahnung von der Materie haben und mit Spaß bei der Sache waren.

Praktisches

Aber wir haben auch wirklich programmiert und Scrum in kleinen Softwareentwicklungsprojekten eingesetzt. So haben wir einen kleinen Taschenrechner in C# programmiert, eine Android-App geschrieben, eine Webanwendung mit JSF erstellt und gestreamte Börsendaten geparst. Das war alles sehr interessant und so hatte die Veranstaltung noch einen zweiten Lerneffekt: Wir haben einen Einblick in verschiedene Technologien erhalten und diese zumindest ein kleines bisschen angewendet.

Agile Praktiken

Neben dem reinen Vorgehensmodell Scrum haben wir noch Pair-Programming, Planning-Poker und TDD als agile Praktiken kennen gelernt. Anderes wie beispielsweise Continuous Integration wurde nicht behandelt.

Begriffe und Details

Auch manche Begrifflichkeiten und Details wurde nicht erklärt. Chickens and Pigs, Velocity, und anderer Kleinkram.

Letztendlich bedeutet das, dass wir weniger einen 2-wöchigen Scrum-Kurs bekommen haben, sondern mehr eine Veranstaltung bei der Scrum und Agile Softwareentwicklung einen zwar signifikanten, aber dennoch nur einen Teil darstellten.

Aber das war nicht schlecht. Im Gegenteil. Wahrscheinlich haben wir so mehr mitgenommen, als wenn es ein reiner Scrum-Kurs geworden wäre.

Teamarbeit

Teamarbeit ist ein wichtiger Punkt. Agile Softwareentwicklung ist stark teamfokussiert und das hat man gemerkt. Sind die Teams eingespielt, kennen sich die einzelnen Entwickler also untereinander, harmonieren sie miteinander und haben sie auch in etwa gleiche Fähigkeiten, funktioniert Scrum ziemlich gut. Trifft das nicht zu, hakt es an mehreren Ecken und Enden. Es “läuft nicht ganz rund”. Plangetriebene Ansätze verkraften da vermutlich etwas mehr an Unstimmigkeiten.

Man konnte das sehr schön sehen und ich halte das für eine wichtige Erkenntnis und eine gute Erfahrung.

Technik

Die Technik hat leider nicht immer so funktioniert, wie erhofft. SDKs und Application Server funktionierten aufgrund von fehlenden Benutzerrechten nicht und SVN-Repositorys waren auch nicht immer vorhanden. Das war mitunter etwas nervig.

Kontakte

Die Firmen, die das Ganze betreut haben, machen das natürlich nicht ganz uneigennützig. Als Informatik-Student befindet man sich in der vorteilhaften Position, dass einen die Arbeitgeber umwerben, wohingegen in anderen Branchen mehr Bewerber als Stellen existieren. Und da bei der “Summerschool” nicht nur Personaler anwesend waren, sondern wirkliche Entwickler, hatte man die Möglichkeit, diese entsprechend auszufragen.

Wenn man die richtigen Fragen stellt, erhält man so einen Einblick, wie in den jeweiligen Unternehmen Software entwickelt wird. Und, wenn man wie ich, nicht mehr allzu lange zu studieren hat (in anderthalb Jahren bin ich fertig), ist so ein Einblick schon ganz gut. Man will ja schließlich wissen, wo man sich bewerben soll und wo eher nicht.

Meine Meinung zu Scrum und Co.

Nicht alles, was gelobt wird ist gut und nicht alles, was von anderen verteufelt wird ist schlecht. Agile Softwareentwicklung ist ein kontroverses Thema — je nachdem, wen man fragt, erhält man eine andere Antwort. Das alles hilft natürlich nicht unbedingt dabei, sich eine halbwegs klare Meinung zu bilden. Meine Meinung zum Thema ist mittlerweile differenzierter, als dass sie in diesen Artikel noch hineinpassen würde. Ich werde diese also schrittchenweise nachliefern.

Fazit

Im Endeffekt war es eine ausgesprochen gelungene Veranstaltung. Es hat ne Menge Spaß gemacht, wir haben viel gelernt, Erfahrungen gesammelt, Einblicke erhalten und am Schluss eine Teilnahmebescheinigung erhalten, die sich bei Bewerbungen bestimmt gut macht.

2 Kommentare

Andere Links auf diesen Post

  1. www.christian-rehn.de » Agile: Was ist das eigentlich? — 9. Oktober 2011 @ 23:16

  2. www.christian-rehn.de » Agile: Definition of Done und Failure Mode Programming — 16. Oktober 2011 @ 15:53

RSS-Feed für Kommentare zu diesem Beitrag. TrackBack URI

Hinterlasse einen Kommentar

powered by WordPress | QuickLaTeX | WordPress Themes