Diese Dokumentation fixiert die während des Entwicklungsprozesses aufgetretenen Probleme und Lösungen, sowie die Entscheidungen die das Team in der Entwicklung getroffen hat.
Note
|
Constrains:
|
Die Aufgabenaufteilung im Team bzw. in Teams von 2 Personen gestaltete sich schwierig. Oft kam es dazu, dass die Vorstellungen der konkreten Implementierungen, trotz der gleichen Idee sehr unterschiedlich waren. Als das Projekt noch klein war, gab es zudem nicht genug unabhängige Baustellen für jedes Team.
-
Wir haben stets versucht viel zu kommunizieren (teilweise zu viel), um Missverständnisse auszuräumen, Implementierungen zu fixieren und Aufgaben sinnvoll aufzuteilen.
Die Verlegung des Praktikums ins Home Office
führt zu Problemen in der Kommunikation und Koordination der Teams und somit zu einem Produktivitätsverlust.
-
Mithilfe von Hangouts konnten wir einen neuen Workflow in unsere Arbeit integrieren und des Weiteren an getroffenen Reglements festhalten. Es hat allerdings Zeit gekostet, bis sich die Teammitglieder auf die neue Arbeitsweise eingestellt haben. Dadurch konnten einige geplante Features nicht fertiggestellt werden.
Es gab inhaltliche und softwaretechnische Diskrepanzen, wie und in welchem Umfang das Permission System implementiert werden soll. Deshalb wurde die Software häufig diskutiert und geändert, ohne konkreten Mehrwert zu liefern.
-
Wir haben uns entschieden das Permission System so spät wie möglich zu implementieren und dann an die Gegebenheiten des Domainmodel anzupassen. Bis zur grundlegenden Implementierung des Domainmodels, gab es bei uns nur den User
Studentin
.Erst in der letzten Woche konnten wir eine klare Differenzierung der Rollen erarbeiten und diese implementieren.
Die Implementierung/Nutzung der Security Frameworks gestaltete sich, vor allem aufgrund der mangelnden Erfahrung diesbezüglich im Team, als Herausforderung.
Insbesondere die Implementierung von Keycloak
in unsere Infrastruktur und Tests war ein größeres Hindernis, als wir ursprünglich angenommen haben.
-
Die meisten Fragen konnte durch Ausprobieren oder in Zusammenarbeit mit den Betreuern gelöst werden. Für das Testen haben wir eine Mock-Konfiguration gefunden welche den Tests Zugriff auf die nötigen Routen ermöglicht. Da auch die Keycloak Demo erweitert wird bleibt dies aber ein fortlaufender Prozess.
Obwohl wir uns zu Beginn für eine Onion Architektur
entschieden haben, traten während der konkreten Umsetzung dieser Architektur und der Datenbankanbindung immer wieder Diskussionen auf, ob eine Schicht Architektur
nicht sinnvoller ist.
-
Um eine Analyse Paralyse zu vermeiden haben wir uns nach einer erneuten Abstimmung endgültig dazu entschieden, die
Onion Architektur
durchzuführen.
Aufgrund unterschiedlicher Standards bezüglich der Code Review zu Beginn des Projektes kam es häufiger zu Merges in den Dev Branch, welche nicht den gemeinsam vereinbarten Standards entsprachen.
-
Es hat sich etabliert, dass Die Review von Personen/Teams durchgeführt wird, welche nicht direkt an der Erstellung des PRs beteiligt waren. Bei größeren PRs setzten sich meist eine "PR-fremde" und eine involvierte Person zusammen, damit inhaltliche Fragen direkt geklärt werden können.
Bereits vor der ersten Implementierung entstanden viele Diskussionen, wie die Daten zu persistieren sind und ob aktuelle Ansätze der Implementierung performante Datenbankzugriffe für Anwendung und Tests ermöglicht.
-
Wir haben uns dazu entschieden, Datenbank- und Modellimplementierung konsequent differenziert zu behandeln und umzusetzen.
-
einheitliche
Konfiguration der IDE
sowie der CI -
Festlegen von
Regeln und Workflows
für das Team -
Einigung auf eine
Architektur sowie ein Model
, welches dann anschließend implementiert werden soll. -
Das Ziel konnte am Ende der Woche termingerecht erreicht werden, Fortschritt wurde in den Masterbranch integriert.
-
Integration der Anwendungslogik
, sodass die ersten Userstories durchgeführt werden können. -
Am Ende der Woche war es möglich die
komplette Struktur
eines Forums, sprich über Topics, Threads und Posts, durch zu klicken. -
Mit diesem Meilenstein waren wir zuversichtlich, jetzt deutlich schneller weitere Features zu entwickeln.
-
Funktionsfähige Anwendung
, weitestgehendohne Bugs
und den gängigenQualitätszielen
guter Softwareentsprechend
. -
Suchfunktionalität
integrieren. -
einen
Moderationsmodus
integrieren. -
Löschen
von Beiträgen, Themen und Antworten muss möglich sein. -
Permissionsystem
muss weitestgehend integriert sein. -
Anonymer Modus
integrieren. -
Letzte Änderungen
je Thread und Forum anzeigen. -
Die Hoffnung am Ende der 3. Woche hat sich erfüllt ! Feature konnten sehr schnell umgesetzt werden.
-
Zur
Verbesserung der Softwarequalität
und derUX
haben einige Teammitglieder auch Zeit nach dem Ende des Praktikums (freiwillig) in Anspruch genommen. Ohne diese Arbeit wären gewisse Qualitätszielenur ungenügend eingehalten
worden.