Im dritten Monat des Traineeprogramms erhielten wir Trainees den Auftrag, eine Softwarelösung zu entwickeln. Dabei durften wir unser erstes eigenes DevOps Projekt umsetzen. Für die Dauer von vier Wochen übernahmen wir dabei die Rolle der Developer, unterstützt von einem erfahrenen Projektmanager und Product Owner. Unsere Aufgabe bestand darin, eine Automatisierungslösung zu entwickeln, die gewünschte Datenstände effizient aus vorgegebenen Systemen entfernt.
Im Folgenden berichten wir von unseren Erfahrungen während des Projektes.
Was hast du gelernt?
Das Teamprojekt ermöglichte es mir, zum ersten Mal in die Praxis einzutauchen, sowohl am Frontend als auch bis zu einem gewissen Grad am Backend. Es war spannend zu sehen, wie Theorie und Praxis plötzlich Hand in Hand gingen. Besonders cool fand ich die Woche, in der ich als Scrum Master agieren durfte, was für mich eine besonders erkenntnisreiche Angelegenheit war. Es war spannend zu sehen, wie sich die tägliche Arbeit mit Scrum positiv auf die Dynamik im Team ausgewirkt hat. Auch die Verwendung von Tools wie Git zur Versionskontrolle und Docker zur Containerisierung war für mich sehr vorteilhaft im Projekt. Auch die Möglichkeit, eine Webanwendung on-premise zu hosten, war für mich sehr hilfreich und gab mir neue technische Einblicke.
Mit welchen Tools/Sprachen etc. hast du gearbeitet?
Im Rahmen des Teamprojekts habe ich intensiv mit den Tools Visual Studio Code, GitLab und ALM Octane gearbeitet. Dabei konnte ich meine Kenntnisse in den Skriptsprachen HTML und CSS erweitern.
Ich habe mich das erste Mal richtig mit Python beschäftigt und dafür PyCharm als IDE verwendet. PyCharm war für mich nichts komplett Neues, weil ich schon viel Erfahrung mit den anderen IDEs von JetBrains habe. Aber mit Flask habe ich auch zum ersten Mal gearbeitet. Flask hat mir geholfen, eigene Webanwendungen flexibel aufzubauen, was auch überraschend einfach war.
Wie hat dir das agile Arbeiten mit SCRUM gefallen?
Die Arbeit mit Scrum hat mir Spaß gemacht und ich war gerne Scrum Masterin. Ich habe den Nutzen von effektiv geführten Dailies, Retros und Sprint Plannings erkannt. Ich denke, es ist leicht, die Anforderungen von Scrum im Arbeitsalltag zu vernachlässigen, aber ich glaube, dass Scrum, wenn es richtig durchgeführt wird, die Zusammenarbeit im Team und den Projekterfolg fördern kann. Ich fand es interessant zu lernen, dass Scrum Möglichkeiten bietet, Konflikte im Team zu lösen und so kontinuierlich zu einer besseren Zusammenarbeit beitragen kann.
Was war deine Aufgabe?
Ich hatte eine Vielzahl von Aufgaben. Vom Durchführen einer Risikoanalyse, über die Konzeption des Frontend unserer Anwendung bis hin zur Konfiguration des Webservers. Das Schöne am Teamprojekt war, dass wir fast den gesamten DevOps Zyklus durchlaufen haben und ich zu jeder Phase etwas lernen konnte.
Wie sah ein typischer Arbeitstag im Teamprojekt aus?
Nach meiner Ankunft im Büro begann ich mit der Bearbeitung meiner aktuellen User Story. Um 9:30 Uhr trafen wir uns täglich im Scrum-Team zum Daily, um uns über aktuelle Aufgaben und mögliche Blockaden auszutauschen. Anschließend setzte ich meine Arbeit an der User Story fort, häufig in Zusammenarbeit oder Absprache mit meinen Trainee-Kolleg:innen. Bei Bedarf suchten wir den Rat erfahrener Kolleg:innen und nutzten deren Expertise.
Ein typischer Tag hat naturgemäß mit dem Daily begonnen. Danach ging es meist um das Selbststudium, bevor wir die User Stories auch gemeinsam im Team umsetzen konnten. Wenn jemand bei einem kniffligen Punkt nicht weiterkam, haben wir uns oft kurz unterhalten. Zwischendurch gab es einen Kaffee und immer mal wieder Gelegenheit für Gespräche. Das brachte uns alle näher zusammen und sorgte für eine angenehm entspannte Atmosphäre.
Welche Ratschläge würdet ihr zukünftigen Trainees fürs Teamprojekt geben?
Behaltet es euch vor, Aufträge vom Projektmanager bzw. den Status Quo auf Sinnhaftigkeit zu hinterfragen. Als erfahrene Consultants habt ihr manchmal eine bessere Arbeitsweise und könntet geschickt für diese argumentieren.
Traut euch, Fragen zu stellen und das Beste aus euren Fehlern zu machen. Nur so könnt ihr an euren Erfahrungen wachsen. Nutzt die Gelegenheit, neue Dinge auszuprobieren, und seid vor allem offen mit euren Teammitgliedern. Ein gutes Team macht die halbe Miete aus, die andere Hälfte ist der Spaß am Lernen und an der Weiterentwicklung.
Ihr müsst nicht alles machen was euch gesagt wird, dass Abschlussprojekt ist auch dafür gedacht zu lernen im Kundenkontext dem Kunden zu sagen das seine Idee nicht gerade Sinnvoll für das Projektziel ist. Aber das dann natürlich professionell ausgedrückt.
Wie habt ihr euch als Team organisiert?
Täglich haben wir Daily-Meetings durchgeführt sowie weitere wöchentliche Sprint-Events wie Sprint Planning und Retrospektiven organisiert. Die aktuellen User Stories und Tasks wurden an einem gemeinsamen Whiteboard festgehalten. In Microsoft Planner haben wir Aufgaben erstellt und den Teammitgliedern zugewiesen. Um unsere Arbeit für alle transparent und zugänglich zu machen, haben wir Dokumentation in MS Note verfasst.