Direkt zum Inhalt
Praktikumsbericht Lenny Kossyk

Mein Praktikum im Bereich Softwareentwicklung bei ASTRUM IT

Softwareentwicklung war in den letzten zwei Jahren ein Begriff, der auf mich eine große Faszination ausgeübt hat. Doch was Softwareentwicklung alles beinhaltet, war mir nicht bewusst. Zwar entwickelte ich schon damals eigene Programme, jedoch hatte ich häufig Probleme, weil mir die Erfahrung fehlte. Dies störte mich sehr, so dass ich beschloss, ein Praktikum in diesem Bereich anzufangen. Über meine Erfahrungen, die ich aus dem Praktikum bei ASTRUM IT mitgenommen habe, berichte ich im folgenden Blogbeitrag.

https://c4model.com/

Wie ich zu ASTRUM IT kam
Mein Name ist Lenny, ich bin 19 Jahre alt. Im Lockdown 2020 habe ich ohne Vorkenntnisse begonnen, Programmieren in Form von App-Development zu erlernen. Anfangs arbeitete ich mit Java und schrieb meine erste native Android App. Nachdem diese fertig gestellt war, stieg ich allerdings direkt auf Flutter um, da ich dort die Zukunft fürs App Development sehe. Während ich mit Flutter entwickelte, verstärkte sich jedoch das Gefühl der fehlenden Erfahrung, weshalb ich mich beim IT-Event Pitch-Club anmeldete. Dort kam ich mit ASTRUM IT in Kontakt, erzählte über meine Programmier-Geschichte und begann am 01.02.2022 mein Praktikum am Wolfsmantel 2. Bereits am ersten Tag wurde mir mein Projekt zugeteilt.


Das Projekt
Bei dem Projekt, das von zwei Kollegen unterstützt und mitentwickelt wird, handelt es sich um eine mit dem Flutter-Framework in Dart geschriebene Tischbuchungs-App namens "Desked". Diese bietet den User*innen die Möglichkeit, einen Arbeitsplatz zu reservieren, der bei Bedarf entsprechendes Equipment bereithält. Auch sieht man, wann die Kollegen im Büro sind. Zudem ist eine Karte der Firma verfügbar, sodass eine Buchung analog zu einem Gang durch die Gebäude möglich ist. Die App ist hierbei ein Teil des Überprojekts „New Work“.


Praktikumsbeginn
In den ersten vier Wochen des Projekts standen die Planung und das Erlernen wichtiger Grundlagen im Vordergrund. Hierzu zählte das Aneignen von Kenntnissen in AsciiDoc, PlantUml, C4-Model und GitLab

AsciiDoc  ist eine Auszeichnungssprache. Mit einer Extension für VS Code erlaubt AsciiDoc mir ein Text-Dokument zu coden. Dieses wird zur Dokumentation genutzt und gehört zum Documentation as Code Ansatz.

PlantUml bietet die Möglichkeit, Diagramme in Textform zu erstellen und gehört damit auch zum Documentation as Code Ansatz.

C4-Model ist ein Weg um Systeme zu Beschreiben. Das Model dient dazu, das Projekt in Architektur-Diagrammen stufenweise detaillierter darzustellen. Insgesamt besteht ein C4-Modell immer aus vier Stufen. Es beginnt mit einer hohen Perspektive, der Kontextebene, d.h. mit welchen Usern so wie Systemen unsere App interagiert und geht dann immer tiefer in die Architektur der Applikation. Die 4. Stufe ist für Code gedacht. PlantUml unterstützt mich dabei, die Diagramme zu erstellen.

GitLab ist die Grundlage für unsere effiziente und asynchrone Entwicklung und basiert, wie der Name verrät, auf Git. Ein Kernelement ist die Versionsverwaltung, sodass Änderungen nachvollzogen werden können.

Im ersten Schritt der Planung haben wir im Team ein Verständnis geschaffen, was die Anwendung eigentlich können soll. Die Methode, die hier zum Einsatz kam: User Story Mapping von Jeff Patton. Anschließend stellten wir das Domänenmodell auf, um genauer zu klären, welche Elemente im initialen MVP (minimal viable product) vorkommen sollen. Ein MVP, ist hier ein Produkt mit einem minimalen Produktumfang, sodass trotzdem einen Nutzen durch das Produkt gewonnen werden kann. Dies dient im Folgenden auch dazu, reale Bedürfnisse des Anwenders mit Schritten innerhalb der Applikation zu unterstützen. Hierzu sprachen wir mit Stakeholdern, um die Ansprüche an die App zu konkretisieren. Mit all diesen Informationen fingen wir an, technische Diagramme und Entwürfe zu User Interfaces, sogenannte Wire Charts, zu erarbeiten. Dabei kamfür Diagramme PlantUml und das C4-Modell zum Einsatz.. Durch die Überlegungen zu dem WAS, konnten immer mehr Fragen nach dem WIE beantwortet werden. So konnte ich mich gegen Ende der Planung dazu entscheiden, Riverpod als State-Management-System[WS3]  zu verwenden, damit Zustände über verschiedene Screens innerhalb der Applikation hinweg erhalten werden können.  Für den Entwicklungsprozess ist es wichtig User Stories zu erstellen, die nacheinander bearbeitet werden können. Eine User Story beschreibt z. B. eine abgeschlossene Interaktion innerhalb der Applikation. Diese User Stories ermöglichen es uns auch eine Abschätzung der Entwicklungsaufwände zu erstellen. Dies ließ mich sehen, was in meiner Praktikumszeit erreichbar ist. Schon begann das agile Entwickeln der App mit der Scrum-Methode.

Blogbeitrag

https://www.linkedin.com/pulse/devops-gitlab-google-cloud-platform-part…-

Blogbeitrag

Blogbeitrag

Der Entwicklungsprozess
Wir starteten mit unseren User-Storys bzw. übergeordneten Epic-Storys und trugen diese als Issues in GitLab ein. Darauffolgend priorisierten wir, in welcher Reihenfolge wir diese bearbeiten wollen und fügten die wichtigsten Schritte für den ersten Sprint unserem SCRUM-Board hinzu. Das erste Feature, an dem ich arbeitete, war der Buchungsdialog, bei dem mich mein Kollege unterstützte. Dabei stellten wir Best-Practices auf, die unserem Code eine bessere Readability (Lesbarkeit) gaben. Danach arbeitete ich hauptsächlich allein an meinen Features. Vor jedem Merge wurde von meinem Kollegen ein Review durchgeführt.  Alle zwei Wochen gab es zudem, Scrum üblich, einen neuen Sprint, ein Projekt Review und eine Retrospektive.

Fazit
Mir hat das Praktikum bei ASTRUM IT sehr gut gefallen. Ich habe sehr viel gelernt, da ich den gesamten Entwicklungsprozess miterleben durfte. Mein Code ist besser geworden, meine Arbeitsweise strukturierter und mein Know-how größer. Natürlich gab es auch Sachen, die mich etwas störten wie die notwendigen Sicherheitsunterweisungen und Schulungen oder das Fehlen von Adminrechten am Laptop, aber diese sind zum einen wichtig in einem Unternehmen und zum anderen erscheinen sie verschwindend unbedeutend im Vergleich zudem, was ich alles gelernt habe und dem angenehmen Arbeitsklima. Ich würde das Praktikum jederzeit wieder machen.

News-Kategorie: Blogbeitrag