Know-how
Wir haben auf den uns vertrauten Technologie-Stack gesetzt:
Besonders im Bereich Laravel konnten wir unser Wissen im Laufe des Projektes allerdings deutlich erweitern. Das Framework bietet ein riesiges Spektrum an Möglichkeiten und Funktionen, die wir in neuer Tiefe zum Einsatz gebracht haben. Dieser Wissenszuwachs wird uns auch bei künftigen Software-Projekten enorm helfen.
Darüber hinaus sind aber auch neue Technologien im Rahmen von Kosmos erschlossen worden. Zu erwähnen sind hier besonders:
Mit Livewire haben wir eine Library für Laravel zum Einsatz gebracht, mit der wir vorher noch keine Erfahrungen hatten. Das full-stack framework für Laravel erleichtert die Erstellung moderner, dynamischer Interfaces und ist für uns auch in Zukunft von großem Nutzen. Ein zweiter Fokus war test driven development. Hierbei wird der Quellcode (oder eine Erweiterung des Quellcodes) jedes Mal getestet bevor die Übertragung ins Live-System stattfindet. So lassen sich Fehler in der Software erkennen, bevor sie im Live-System zu Problemen führen. Dies erleichtert die stetige Erweiterung des Quellcodes sowie das refactoring. Zudem erlaubt es ein stabiles Arbeiten in der Software, während diese parallel weiterentwickelt wird.
Die Weiterentwicklung ist auch für die Technologie der parallelisierten Pipelines ein wichtiges Thema. Da mehrer Entwickler*innen gleichzeitig an Kosmos gearbeitet haben, war es für die Effizienz von Bedeutung, dass (um es vereinfacht auszudrücken) Updates an der Software nicht nur über einen Kanal ins Systems einfließen konnten. Dies war anfangs der Fall und führte zu langen Wartezeiten von bis zu 20 Minuten. Die Entwicklung und der Know-how-Zuwachs in Sachen parallelisierte Pipelines führte im Laufe des Projektes dazu, dass diese Wartezeit letztlich auf weit weniger als 5 Minuten reduziert werden konnte. So war eine effiziente Weiterentwicklung des Systems auch mit mehreren parallel arbeitenden Webentwickler*innen möglich. Eine wichtige Technologie, um auch Kund*innenprojekte in Zukunft schneller mit einem mehrköpfigen Team zu entwickeln.