Das Projekt soll den Entwicklungsprozess, insbesondere das kontinuierliche Testen und Ausliefern von Anwendungen, für die Entwicklungsteams des Auftraggebers vereinfachen, sodass es Entwicklern ohne besondere Kenntnisse möglich ist, eine automatisierte Continuous Integration (CI) und Delivery (CD) Pipeline aufzusetzen und an ihre konkreten Projekte anzupassen.
Unser Auftraggeber entwickelt Software und möchte diese möglichst schnell und einfach an seine Kunden ausliefern. Dazu verwendet er automatisierte Continuous Integration und Delivery Pipelines, die neue Codeversionen ausgiebig testen und bei erfolgreichen Testergebnissen zum Ausliefern bereitstellt. Das Aufsetzen traditioneller CI/CD-Pipelines ist jedoch kompliziert und zeitaufwendig sowohl bei der Einarbeitung als auch beim Einstellen der korrekten Konfiguration, wodurch die Pipeline unflexibel, fehleranfällig und bei Systemausfall nur schwer wiederherstellbar ist. Oft ist deshalb ein spezialisierter Mitarbeiter für die Verwaltung der Pipelines zuständig.
Unsere Aufgabe ist es, diesen Vorgang zu vereinfachen. Insbesondere wünscht sich der Arbeitgeber, dass sich die Entwickler nach minimaler Einarbeitungszeit eigene, auf unserer Lösung basierende, Pipelines aufsetzen und an aktuelle Projekte anpassen können. Dazu sollen die Pipelines aus verschiedenen Modulen und Testbenches zusammengesetzt sein und verschiedene Deployment-Szenarien abdecken. Um die Wartezeit der Entwickler auf die Ergebnisse gering zu halten, soll die Pipeline möglichst performant arbeiten und eventuelle Rückmeldungen schnell weiterleiten. Die Pipelines unterschiedlicher Teams sollen dabei unabhängig voneinander agieren.
Die von uns entwickelte Lösung basiert auf dem CI/CD-Tool Concourse. Die Architektur von Concourse basiert auf der Idee von Pipelines und automatisiert vieles, was in anderen Tools explizit konfiguriert werden muss. Durch das Beschreiben einer Pipeline durch Code ist die Konfiguration kompakt und allgemein gehalten, wodurch eine alte Pipeline leicht neu aufgesetzt werden kann. Mit anderen Technologien kann in Form von sogenannten Resourcen über entsprechend implementierte Schnittstellen interagiert werden. Für Technologien, die der Auftraggeber im Großteil seiner Teams verwendet, entwickeln wir entsprechende Resourcen.
cosee ist ein junges Unternehmen im Herzen Darmstadts. Für Medien- und Verlagskunden entwickelt cosee Anwendungen für Web, Android und iOS. Diese Anwendungen dienen zum Vertrieb und zur Sicherung von Hörbüchern, eBooks und Co.
Zu coseeJannis Schaefer
Team Lead
Jonas Bechstein
Assistant Team Lead
Markus Zimmermann
QA Koordinator
Thomas Schmeiduch
Dokumentationskoordinator
Felix Weirich
Off-Topic Koordinator
Anitha Sankapura Jagadishwara
Teammitglied
Nils Berger
Teammitglied
Konsequente Zeiterfassung hilft um Projektfortschritt besser zu steuern
Häufige Retrospektiven um Probleme innerhalb des Teams zu erkennen/lösen
Notwendige Ressourcen für Anforderungen früh anfragen um zeitliche Verzögerungen zu vermeiden
Kurze Kommunikationwege beschleunigen Projekt
Häufige gemeinsame Arbeit im gestellten Büro hat dem Projekt geholfen
Deadlines ohne Stress erreicht - früh genug angefangen/geplant
Kanban Board, um Arbeit für Projekt/Uni zu visualisieren