Aktualisierung auf den aktuellen DevOps-Stand (Abnahme, Bugfix, Handbuch, PROD)
This commit is contained in:
@@ -4,7 +4,7 @@ screenshots habe ich in figures/screenshots gelegt.
|
|||||||
# Inhaltliche TODOs
|
# Inhaltliche TODOs
|
||||||
|
|
||||||
- [x] screenshots vom feature in den anhang
|
- [x] screenshots vom feature in den anhang
|
||||||
- [ ] aktualisieren auf den aktuellen devops stand (alles getested, 1 bug fixed, user pdf was documented, prod deployment)
|
- [x] aktualisieren auf den aktuellen devops stand (alles getested, 1 bug fixed, user pdf was documented, prod deployment)
|
||||||
-> "3.5 Zeit- und Aufwandsplanung" aktualisieren
|
-> "3.5 Zeit- und Aufwandsplanung" aktualisieren
|
||||||
-> "Figure 3.2: Zeitplanung des Projekts" aktualisieren
|
-> "Figure 3.2: Zeitplanung des Projekts" aktualisieren
|
||||||
-> "5.10.5 Stand bei Abgabe" aktualisieren
|
-> "5.10.5 Stand bei Abgabe" aktualisieren
|
||||||
|
|||||||
@@ -11,23 +11,24 @@
|
|||||||
\endhead
|
\endhead
|
||||||
\bottomrule
|
\bottomrule
|
||||||
\endfoot
|
\endfoot
|
||||||
9295 & Document Explorer & 8 & 15.2026 & Dev Completed \\
|
9295 & Document Explorer & 8 & 15.2026 & Test Completed \\
|
||||||
9549 & Icon Typen UI & 3 & 15.2026 & Test Completed \\
|
9549 & Icon Typen UI & 3 & 15.2026 & Test Completed \\
|
||||||
9298 & Suchfunktion im Document Explorer & 3 & 15.2026 & Test Completed \\
|
9298 & Suchfunktion im Document Explorer & 3 & 15.2026 & Test Completed \\
|
||||||
9299 & Einzelne Dokumente herunterladen & 3 & 15.2026 & Dev Completed \\
|
9299 & Einzelne Dokumente herunterladen & 3 & 15.2026 & Test Completed \\
|
||||||
9296 & Mehrere Dokumente als ZIP runterladen & 5 & 15.2026 & Dev Completed \\
|
9296 & Mehrere Dokumente als ZIP runterladen & 5 & 15.2026 & Test Completed \\
|
||||||
9300 & PDF Modal Previewer & 3 & 15.2026 & Dev Completed \\
|
9300 & PDF Modal Previewer & 3 & 15.2026 & Test Completed \\
|
||||||
9294 & Document Link previews UI & 5 & 15.2026 & Test Completed \\
|
9294 & Document Link previews UI & 5 & 15.2026 & Test Completed \\
|
||||||
9301 & Support für URL-Dateien & 5 & 15.2026 & Dev Completed \\
|
9301 & Support für URL-Dateien & 5 & 15.2026 & Test Completed \\
|
||||||
\addlinespace
|
\addlinespace
|
||||||
9749 & Nach Dokumenttypen filtern & 2 & 16.2026 & Dev Completed \\
|
9749 & Nach Dokumenttypen filtern & 2 & 16.2026 & Test Completed \\
|
||||||
9731 & Pagination im Document Explorer & 3 & 16.2026 & Dev Completed \\
|
9731 & Pagination im Document Explorer & 3 & 16.2026 & Test Completed \\
|
||||||
9857 & Recherche: Anfrage Objects nach S3 optimieren & --- & 16.2026 & Dev Completed \\
|
9857 & Recherche: Anfrage Objects nach S3 optimieren & --- & 16.2026 & Done \\
|
||||||
9560 & Automatische Anlage der Ordnerstruktur & 3 & 16.2026 & Committed \\
|
9560 & Automatische Anlage der Ordnerstruktur & 3 & 16.2026 & Test Completed \\
|
||||||
10018 & Kundenordner-Lookup über Efecte-Namen & 3 & 16.2026 & Committed \\
|
10018 & Kundenordner-Lookup über Efecte-Namen & 3 & 16.2026 & Test Completed \\
|
||||||
\addlinespace
|
\addlinespace
|
||||||
10070 & Race Conditions im Kundenordner-Lookup & \footnotesize Timebox & --- & Approved \\
|
10070 & Race Conditions im Kundenordner-Lookup & \footnotesize Timebox & --- & Approved \\
|
||||||
10134 & \emph{Bug:} Suchfunktion wie auf den anderen Seiten & --- & 17.2026 & To Approve \\
|
10134 & \emph{Bug:} Suchfunktion wie auf den anderen Seiten & --- & 17.2026 & Test Completed \\
|
||||||
|
10167 & Handbuch-Dokumentation erstellen & --- & 17.2026 & Test Completed \\
|
||||||
\end{longtable}
|
\end{longtable}
|
||||||
|
|
||||||
\begin{longtable}{@{} l p{95mm} l @{}}
|
\begin{longtable}{@{} l p{95mm} l @{}}
|
||||||
@@ -137,13 +138,16 @@ Organisations-ID im Ordnernamen
|
|||||||
2180 & Document explorer URL file support & 9301 & 9 T & 6 & Robin Noack \\
|
2180 & Document explorer URL file support & 9301 & 9 T & 6 & Robin Noack \\
|
||||||
2186 & Add document type filters & 9749 & 8 T & 5 & Robin Noack \\
|
2186 & Add document type filters & 9749 & 8 T & 5 & Robin Noack \\
|
||||||
2189 & Implement pagination for document explorer & 9731 & 8 T & 5 & Robin Noack \\
|
2189 & Implement pagination for document explorer & 9731 & 8 T & 5 & Robin Noack \\
|
||||||
2196 & Documents folder management & 9560, 10018 & offen & 1 & --- \\
|
2196 & Documents folder management & 9560, 10018 & 9 T & 2 & Robin Noack \\
|
||||||
\addlinespace
|
\addlinespace
|
||||||
\multicolumn{4}{@{}l}{\textbf{Summe}} & \textbf{113} & \\
|
2206 & Remove x button for search bar & 10134 & 1 T & 0 & Robin Noack \\
|
||||||
|
2215 & Update user manual for documents feature & 10167 & 2 T & 0 & Robin Noack \\
|
||||||
|
\addlinespace
|
||||||
|
\multicolumn{4}{@{}l}{\textbf{Summe}} & \textbf{114} & \\
|
||||||
\end{longtable}
|
\end{longtable}
|
||||||
|
|
||||||
{\footnotesize
|
{\footnotesize
|
||||||
Zusätzlich war die Gruppe \texttt{Development Team} über die Branch-Policy als
|
Zusätzlich war die Gruppe \texttt{Development Team} über die Branch-Policy als
|
||||||
Pflicht-Reviewer an allen elf Pull Requests beteiligt. An den Diskussionen der Pull
|
Pflicht-Reviewer an allen dreizehn Pull Requests beteiligt. An den Diskussionen der Pull
|
||||||
Requests 2154 bis 2156 beteiligte sich außerdem Hanna Ebner. Alle abgeschlossenen Pull
|
Requests 2154 bis 2156 beteiligte sich außerdem Hanna Ebner. Alle Pull
|
||||||
Requests wurden freigegeben; keiner wurde abgelehnt oder verworfen.\par}
|
Requests wurden freigegeben; keiner wurde abgelehnt oder verworfen.\par}
|
||||||
|
|||||||
@@ -17,20 +17,18 @@ Der Kern — Auflistung mit Mandantentrennung — war nach vier Tagen zusammenge
|
|||||||
|
|
||||||
Die zentrale technische Herausforderung war nicht in der Zielsetzung enthalten, sondern entstand aus der Kombination von Autorisierung über ein Metadatum, lesbaren Ordnernamen und fehlender Metadatensuche des Speichers.
|
Die zentrale technische Herausforderung war nicht in der Zielsetzung enthalten, sondern entstand aus der Kombination von Autorisierung über ein Metadatum, lesbaren Ordnernamen und fehlender Metadatensuche des Speichers.
|
||||||
|
|
||||||
Die Lösung erfüllt die Anforderung ohne zweite Datenhaltung und heilt bestehende Abweichungen selbsttätig — tragfähiger als die zunächst naheliegenden Ansätze. Dass sie bei Abgabe noch nicht ausgeliefert war, ist festzuhalten.
|
Die Lösung erfüllt die Anforderung ohne zweite Datenhaltung und heilt bestehende Abweichungen selbsttätig — tragfähiger als die zunächst naheliegenden Ansätze. Seit dem 3.~September ist sie produktiv.
|
||||||
|
|
||||||
\subsection{Nicht erreichte Ziele}
|
\subsection{Nicht erreichte Ziele}
|
||||||
|
|
||||||
Drei Punkte sind offen geblieben.
|
Ein Punkt ist offen geblieben, ein weiterer liegt außerhalb des eigenen Einflusses.
|
||||||
|
|
||||||
Die \textbf{Nebenläufigkeit im verändernden Lookup-Pfad} ist analysiert, dokumentiert und mit Lösungsvorschlägen versehen, aber nicht behoben — bewusst abgegrenzt, da die Wahl der Gegenmaßnahme von einer Rückfrage beim Betreiber abhängt.
|
Die \textbf{Nebenläufigkeit im verändernden Lookup-Pfad} ist analysiert, dokumentiert und mit Lösungsvorschlägen versehen, aber nicht behoben — bewusst abgegrenzt, da die Wahl der Gegenmaßnahme von einer Rückfrage beim Betreiber abhängt.
|
||||||
|
|
||||||
Die \textbf{Optimierung der Dokumentensuche} bleibt offen, da der Suchdienst des Speicherherstellers nicht bereitsteht; die Auswirkung ist gering, weil die Suche nur mit der Dokumentenzahl eines einzelnen Kunden skaliert.
|
Die \textbf{Optimierung der Dokumentensuche} bleibt offen, da der Suchdienst des Speicherherstellers nicht bereitsteht; die Auswirkung ist gering, weil die Suche nur mit der Dokumentenzahl eines einzelnen Kunden skaliert.
|
||||||
|
|
||||||
Der \textbf{Fehlerbericht zur Einheitlichkeit des Suchfeldes} ist erfasst und eingeplant.
|
|
||||||
|
|
||||||
\subsection{Gesamtbewertung}
|
\subsection{Gesamtbewertung}
|
||||||
|
|
||||||
Das Projektziel ist erreicht. Der Dokumentenbereich ist in seinen Kernfunktionen produktiv, erfüllt die fachlichen Anforderungen, und die verbleibenden Arbeiten sind klar benannt und im Backlog erfasst.
|
Das Projektziel ist erreicht. Der Dokumentenbereich ist seit dem 3.~September vollständig produktiv, erfüllt sämtliche funktionalen Anforderungen, und die verbleibende Arbeit ist klar benannt und im Backlog erfasst.
|
||||||
|
|
||||||
Der aussagekräftigste Befund ist die Nebenläufigkeit: Sie wurde durch eigenes Nachprüfen des bereits geschriebenen Codes gefunden — nicht durch Test, Fehlerbericht oder Review. Ein Projekt, das eine solche Schwäche selbst findet und einordnet, steht besser da als eines, in dem sie unentdeckt bliebe.
|
Der aussagekräftigste Befund ist die Nebenläufigkeit: Sie wurde durch eigenes Nachprüfen des bereits geschriebenen Codes gefunden — nicht durch Test, Fehlerbericht oder Review. Ein Projekt, das eine solche Schwäche selbst findet und einordnet, steht besser da als eines, in dem sie unentdeckt bliebe.
|
||||||
|
|||||||
@@ -1,17 +1,9 @@
|
|||||||
\section{Ausblick}
|
\section{Ausblick}
|
||||||
\label{sec:outlook}
|
\label{sec:outlook}
|
||||||
|
|
||||||
\subsection{Abschluss der begonnenen Arbeiten}
|
|
||||||
|
|
||||||
Die nächsten Schritte ergeben sich aus Abschnitt~\ref{sec:target-comparison}.
|
|
||||||
|
|
||||||
Zusammenzuführen ist der Pull Request zur Ordnerverwaltung, womit die automatische Ordneranlage und der Lookup mit konstanter Aufrufzahl wirksam werden. Da die Lösung bestehende Ordner selbsttätig umbenennt, entfällt ein Migrationsschritt.
|
|
||||||
|
|
||||||
Zu beheben ist der Abnahmefehler zur Einheitlichkeit des Suchfeldes, eingeplant für den folgenden Sprint.
|
|
||||||
|
|
||||||
\subsection{Absicherung des verändernden Lookup-Pfads}
|
\subsection{Absicherung des verändernden Lookup-Pfads}
|
||||||
|
|
||||||
Die in Abschnitt~\ref{sec:race-conditions} beschriebene Nebenläufigkeit ist das gewichtigste offene Thema. Das Backlog Item ist freigegeben und mit vier bis sechs Stunden veranschlagt.
|
Die in Abschnitt~\ref{sec:race-conditions} beschriebene Nebenläufigkeit ist nach der Produktivsetzung das einzige offene Thema des Features. Das Backlog Item ist freigegeben und mit vier bis sechs Stunden veranschlagt.
|
||||||
|
|
||||||
Welche Maßnahme umgesetzt wird, hängt davon ab, ob der Speicher bedingte Schreibvorgänge unterstützt.\autocite{aws-conditional-writes} Steht die Funktion bereit, ist die Absicherung einfach; andernfalls bleiben die Absicherung des Rücknahmeschritts und eine übergreifende Sperre.
|
Welche Maßnahme umgesetzt wird, hängt davon ab, ob der Speicher bedingte Schreibvorgänge unterstützt.\autocite{aws-conditional-writes} Steht die Funktion bereit, ist die Absicherung einfach; andernfalls bleiben die Absicherung des Rücknahmeschritts und eine übergreifende Sperre.
|
||||||
|
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ Ausschlaggebend war ein Perspektivwechsel: nicht „funktioniert das?", sondern
|
|||||||
|
|
||||||
Die in Abschnitt~\ref{sec:code-reviews} beschriebene Ballung war Folge einer bewussten, im Rückblick falschen Entscheidung: Vier gleichzeitig eröffnete Pull Requests sollten Wartezeiten auf Reviews vermeiden.
|
Die in Abschnitt~\ref{sec:code-reviews} beschriebene Ballung war Folge einer bewussten, im Rückblick falschen Entscheidung: Vier gleichzeitig eröffnete Pull Requests sollten Wartezeiten auf Reviews vermeiden.
|
||||||
|
|
||||||
Der erwartete Vorteil trat nicht ein, weil die Arbeiten aufeinander aufbauten: Statt Parallelität entstand eine Warteschlange, deren Auflösung sich in die Woche vor Abnahme und Produktivsetzung verschob. Die Verkettung der Zielbranches brachte eigene Kosten: Jede Umstellung auf den Hauptbranch setzte Freigaben zurück. Bei abhängigen Aufgaben ist sequenzielles Vorgehen vorzuziehen.
|
Der erwartete Vorteil trat nicht ein, weil die Arbeiten aufeinander aufbauten: Statt Parallelität entstand eine Warteschlange, deren Auflösung sich in die Woche vor der Abnahme verschob. Die Verkettung der Zielbranches brachte eigene Kosten: Jede Umstellung auf den Hauptbranch setzte Freigaben zurück. Bei abhängigen Aufgaben ist sequenzielles Vorgehen vorzuziehen.
|
||||||
|
|
||||||
\subsection{Konsistenz braucht einen Vergleich, keine Beschreibung}
|
\subsection{Konsistenz braucht einen Vergleich, keine Beschreibung}
|
||||||
|
|
||||||
|
|||||||
@@ -23,11 +23,12 @@ Backlog-Schnitt & 18.06.--08.07. & 18.06.--08.07. & keine \\
|
|||||||
Infrastruktur beantragt & --- & 22.07. & nicht eingeplant \\
|
Infrastruktur beantragt & --- & 22.07. & nicht eingeplant \\
|
||||||
Infrastruktur verfügbar & --- & 27.07. & nicht eingeplant \\
|
Infrastruktur verfügbar & --- & 27.07. & nicht eingeplant \\
|
||||||
Umsetzung Sprint 15.2026 & 27.07.--12.08. & 27.07.--19.08. & +1 Woche \\
|
Umsetzung Sprint 15.2026 & 27.07.--12.08. & 27.07.--19.08. & +1 Woche \\
|
||||||
Umsetzung Sprint 16.2026 & 13.08.--25.08. & 12.08.--offen & Lookup nicht gemergt \\
|
Umsetzung Sprint 16.2026 & 13.08.--25.08. & 12.08.--26.08. & +1 Tag \\
|
||||||
Abnahmetest & ab 13.08. & 13.08.--25.08. & Zugriffsprobleme \\
|
Abnahmetest & ab 13.08. & 13.08.--25.08. & Zugriffsprobleme \\
|
||||||
Produktivsetzung Kern & --- & 20.08. & --- \\
|
Bugfix aus Abnahme (10134) & --- & 27.08. & --- \\
|
||||||
|
Benutzerhandbuch (10167) & --- & 31.08.--02.09. & nicht eingeplant \\
|
||||||
|
Produktivsetzung & --- & 03.09. & --- \\
|
||||||
Nebenläufigkeit (10070) & --- & offen & nach Projektzeitraum \\
|
Nebenläufigkeit (10070) & --- & offen & nach Projektzeitraum \\
|
||||||
Bugfix aus Abnahme (10134) & --- & Sprint 17.2026 & nach Projektzeitraum \\
|
|
||||||
\end{longtable}
|
\end{longtable}
|
||||||
|
|
||||||
Die Analyse- und Planungsphase verlief planmäßig; die Abweichungen treten in der zweiten Projekthälfte auf und haben zwei Ursachen.
|
Die Analyse- und Planungsphase verlief planmäßig; die Abweichungen treten in der zweiten Projekthälfte auf und haben zwei Ursachen.
|
||||||
@@ -40,14 +41,14 @@ Unmittelbare Verzögerung entstand nicht, da die Umsetzung erst am 27.~Juli bega
|
|||||||
|
|
||||||
\subsection{Ursache 2: Nachgeschobene Backlog Items}
|
\subsection{Ursache 2: Nachgeschobene Backlog Items}
|
||||||
|
|
||||||
Von den 14 Backlog Items waren acht zu Beginn geschnitten; sechs kamen während der Umsetzung hinzu — Typfilter, Paginierung, Recherche zur Speicherabfrage, neuer Lookup, automatische Ordneranlage und Nebenläufigkeit.
|
Von den 15 Backlog Items waren acht zu Beginn geschnitten; sieben kamen während der Umsetzung hinzu — Typfilter, Paginierung, Recherche zur Speicherabfrage, neuer Lookup, automatische Ordneranlage, Nebenläufigkeit und Benutzerhandbuch.
|
||||||
|
|
||||||
Sie entstanden nicht aus fachlicher Ausweitung, sondern aus technischen Problemen, die erst bei der Implementierung sichtbar wurden. Die Schätzung wuchs von 35 auf 46 Aufwandspunkte — rund ein Drittel Zuwachs.
|
Sie entstanden nicht aus fachlicher Ausweitung, sondern aus technischen Problemen, die erst bei der Implementierung sichtbar wurden. Die Schätzung wuchs von 35 auf 46 Aufwandspunkte — rund ein Drittel Zuwachs.
|
||||||
|
|
||||||
\subsection{Abgleich mit den Anforderungen}
|
\subsection{Abgleich mit den Anforderungen}
|
||||||
|
|
||||||
Von 13 funktionalen Anforderungen sind zwölf ausgeliefert. Die dreizehnte — automatische Anlage der Ordnerstruktur — ist implementiert, aber im noch nicht zusammengeführten Pull Request.
|
Alle 13 funktionalen Anforderungen sind ausgeliefert, einschließlich der automatischen Anlage der Ordnerstruktur.
|
||||||
|
|
||||||
Bei den nichtfunktionalen Anforderungen sind fünf von sechs erfüllt. Die Skalierbarkeit des Lookups ist gelöst, aber nicht ausgeliefert; bis dahin gilt das lineare Verfahren — konzeptionell erfüllt, betrieblich noch nicht wirksam.
|
Bei den nichtfunktionalen Anforderungen sind fünf von sechs erfüllt. Nicht erfüllt ist allein die Zusicherung gegen gleichzeitige verändernde Zugriffe.
|
||||||
|
|
||||||
Hinzu kommt die Nebenläufigkeit (Abschnitt~\ref{sec:race-conditions}) — keine unerfüllte Anforderung, sondern eine neu erkannte Eigenschaft, als eigenes Backlog Item erfasst und freigegeben.
|
Hinzu kommt die Nebenläufigkeit (Abschnitt~\ref{sec:race-conditions}) — keine unerfüllte Anforderung, sondern eine neu erkannte Eigenschaft, als eigenes Backlog Item erfasst und freigegeben.
|
||||||
|
|||||||
@@ -27,6 +27,6 @@ Umgesetzt wurde dies über zwei Maßnahmen. Erstens wird der \textbf{Marker zule
|
|||||||
|
|
||||||
Die zweite Maßnahme gilt nur, solange kein zweiter Vorgang dieselbe Umbenennung ausführt. Dieser Fall ist Gegenstand des folgenden Abschnitts.
|
Die zweite Maßnahme gilt nur, solange kein zweiter Vorgang dieselbe Umbenennung ausführt. Dieser Fall ist Gegenstand des folgenden Abschnitts.
|
||||||
|
|
||||||
\subsection{Stand bei Abgabe}
|
\subsection{Auslieferung}
|
||||||
|
|
||||||
Der zugehörige Pull Request war zum Zeitpunkt der Erstellung dieser Dokumentation noch offen. Die inhaltlichen Anmerkungen waren geschlossen, die abschließende Freigabe stand aus.
|
Der zugehörige Pull Request wurde am 26.~August zusammengeführt, nachdem \emph{Robin Noack} zwei Anmerkungen eingebracht hatte: zur Ausreichung der Namensbeschränkungen und zu der Frage, ob ein Ordner vor seiner Erzeugung auf Fremdbesitz geprüft wird. Letztere ließ sich über die Zustände des Ordnermodells beantworten — erzeugt wird nur für einen Schlüssel im Zustand \emph{fehlend}. Mit der Produktivsetzung am 3.~September ist der Lookup mit konstanter Aufrufzahl wirksam; das lineare Verfahren dient nur noch als Rückfallebene.
|
||||||
|
|||||||
@@ -26,6 +26,6 @@ Der Backlog-Schnitt erfolgte in zwei Phasen. Am 18.~Juni 2026 wurden acht Kern-I
|
|||||||
|
|
||||||
Eine zweite Gruppe entstand während der Umsetzung: Am 22.~Juli ergänzte die UI-Zuarbeit Paginierung und Typfilter. Am 28.~Juli wurde die Recherche zur Optimierung der S3-Abfrage angelegt, deren Ergebnis am 12.~August in das Kundenordner-Lookup-Item mündete. Am 17.~August kam das Item zu Race Conditions hinzu (siehe Abschnitt~\ref{sec:race-conditions}).
|
Eine zweite Gruppe entstand während der Umsetzung: Am 22.~Juli ergänzte die UI-Zuarbeit Paginierung und Typfilter. Am 28.~Juli wurde die Recherche zur Optimierung der S3-Abfrage angelegt, deren Ergebnis am 12.~August in das Kundenordner-Lookup-Item mündete. Am 17.~August kam das Item zu Race Conditions hinzu (siehe Abschnitt~\ref{sec:race-conditions}).
|
||||||
|
|
||||||
Insgesamt sind es 14 Product Backlog Items und ein Bug. Die geschätzten Aufwände summieren sich auf 46 Story Points: 35 in Sprint~15.2026, 11 in Sprint~16.2026.
|
Insgesamt sind es 15 Product Backlog Items und ein Bug. Die geschätzten Aufwände summieren sich auf 46 Story Points: 35 in Sprint~15.2026, 11 in Sprint~16.2026.
|
||||||
|
|
||||||
Die vorgeschnittenen Items betreffen ausschließlich fachliche Funktionen; alle nachgeschobenen entstanden aus technischen Problemen bei der Implementierung — ein Muster, das in Abschnitt~\ref{sec:reflection} aufgegriffen wird.
|
Die vorgeschnittenen Items betreffen ausschließlich fachliche Funktionen; alle nachgeschobenen entstanden aus technischen Problemen bei der Implementierung — ein Muster, das in Abschnitt~\ref{sec:reflection} aufgegriffen wird.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
\section{Zeit- und Aufwandsplanung}
|
\section{Zeit- und Aufwandsplanung}
|
||||||
\label{sec:schedule}
|
\label{sec:schedule}
|
||||||
|
|
||||||
Für das Praktikum sind 24 Manntage (192 Stunden) vorgesehen. Der Projektzeitraum reicht von Ende Mai 2026 bis zur Abgabe; die Umsetzung verteilt sich auf die Sprints 15–17.2026. Abbildung~\ref{fig:gantt} zeigt die Zeitplanung.
|
Für das Praktikum sind 24 Manntage (192 Stunden) vorgesehen. Der Projektzeitraum reicht von Ende Mai 2026 bis zur Produktivsetzung Anfang September; die Umsetzung verteilt sich auf die Sprints 15–17.2026. Abbildung~\ref{fig:gantt} zeigt die Zeitplanung.
|
||||||
|
|
||||||
\begin{figure}[H]
|
\begin{figure}[H]
|
||||||
\centering
|
\centering
|
||||||
@@ -10,7 +10,7 @@ Für das Praktikum sind 24 Manntage (192 Stunden) vorgesehen. Der Projektzeitrau
|
|||||||
\label{fig:gantt}
|
\label{fig:gantt}
|
||||||
\end{figure}
|
\end{figure}
|
||||||
|
|
||||||
Vier Phasen gliedern die Planung: Die \textbf{Analyse- und Konzeptionsphase} (Ende Mai bis Anfang Juli) umfasste Themenfindung, Feature-Analyse und Backlog-Schnitt. Die \textbf{Implementierungsphase} begann am 27.~Juli über die Sprints 15 und 16. Parallel lief die \textbf{Qualitätssicherung} (Code-Reviews, Abnahmetest ab 13.~August). Die \textbf{Abschlussphase} umfasst Release, Dokumentation und Präsentation.
|
Vier Phasen gliedern die Planung: Die \textbf{Analyse- und Konzeptionsphase} (Ende Mai bis Anfang Juli) umfasste Themenfindung, Feature-Analyse und Backlog-Schnitt. Die \textbf{Implementierungsphase} begann am 27.~Juli über die Sprints 15 und 16. Parallel lief die \textbf{Qualitätssicherung} (Code-Reviews, Abnahmetest ab 13.~August). Die \textbf{Abschlussphase} in Sprint 17.2026 umfasste die Behebung des Abnahmefehlers, die Benutzerdokumentation, die Produktivsetzung am 3.~September sowie Dokumentation und Präsentation.
|
||||||
|
|
||||||
Die Planung hing von der Infrastrukturbereitstellung ab: Der Document Explorer konnte erst nach Verfügbarkeit des S3-Speichers umgesetzt werden. \emph{Stephan Janßen} vermerkte diese Abhängigkeit am 8.~Juli als Voraussetzung am Item.
|
Die Planung hing von der Infrastrukturbereitstellung ab: Der Document Explorer konnte erst nach Verfügbarkeit des S3-Speichers umgesetzt werden. \emph{Stephan Janßen} vermerkte diese Abhängigkeit am 8.~Juli als Voraussetzung am Item.
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ Eine Prüfliste für die Inbetriebnahme — Speicher erreichbar, Testdaten vorha
|
|||||||
|
|
||||||
Am 24.~August fand die funktionale Abnahme statt: Paginierung, Suchverhalten, Sprungmarken der Freigabelinks, Fehlerverhalten, Verknüpfungsdateien und Download.
|
Am 24.~August fand die funktionale Abnahme statt: Paginierung, Suchverhalten, Sprungmarken der Freigabelinks, Fehlerverhalten, Verknüpfungsdateien und Download.
|
||||||
|
|
||||||
Die Prüfung verlief überwiegend erfolgreich; einzelne Bestandteile waren nicht verfügbar, da der letzte Pull Request offen war (siehe Abschnitt~\ref{sec:folder-management}). Abweichungen wurden als Fehlerberichte erfasst.
|
Die Prüfung verlief überwiegend erfolgreich; einzelne Bestandteile waren noch nicht verfügbar, da der Pull Request zur Ordnerverwaltung erst am 26.~August zusammengeführt wurde (siehe Abschnitt~\ref{sec:folder-management}). Abweichungen wurden als Fehlerberichte erfasst.
|
||||||
|
|
||||||
\subsection{Der gefundene Fehler}
|
\subsection{Der gefundene Fehler}
|
||||||
|
|
||||||
@@ -35,4 +35,6 @@ Ein Fehlerbericht: Das Suchfeld blendet nach Eingabe eine Schaltfläche zum Leer
|
|||||||
|
|
||||||
Die Schaltfläche ist eine sinnvolle Erleichterung; der Fehler liegt darin, dass sie nur an dieser Stelle existiert, was NFA-4 (Konsistenz) verletzt.
|
Die Schaltfläche ist eine sinnvolle Erleichterung; der Fehler liegt darin, dass sie nur an dieser Stelle existiert, was NFA-4 (Konsistenz) verletzt.
|
||||||
|
|
||||||
Weder Unit-Test noch Code-Review hätten ihn finden können; sichtbar wird die Abweichung erst beim Vergleich mit den bestehenden Seiten — das leistet nur ein Abnahmetest durch eine Person, die die Anwendung kennt. Der Fehler wurde für den folgenden Sprint eingeplant.
|
Weder Unit-Test noch Code-Review hätten ihn finden können; sichtbar wird die Abweichung erst beim Vergleich mit den bestehenden Seiten — das leistet nur ein Abnahmetest durch eine Person, die die Anwendung kennt.
|
||||||
|
|
||||||
|
Die Behebung bestand darin, die Schaltfläche zu entfernen, und wurde am 27.~August über Pull Request 2206 zusammengeführt. Damit war der Dokumentenbereich vollständig abgenommen; sämtliche Backlog Items des Features standen auf \texttt{Test Completed}.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
\subsection{Umfang}
|
\subsection{Umfang}
|
||||||
|
|
||||||
Die Umsetzung verteilte sich auf elf Pull Requests mit 113 Diskussionssträngen (Tabelle~\ref{tab:pull-requests} im Anhang). Kein Pull Request wurde abgelehnt; sämtliche erhielten eine Freigabe. Die inhaltliche Auseinandersetzung fand durchgängig in den Diskussionssträngen statt.
|
Die Umsetzung verteilte sich auf dreizehn Pull Requests mit 114 Diskussionssträngen (Tabelle~\ref{tab:pull-requests} im Anhang). Kein Pull Request wurde abgelehnt; sämtliche erhielten eine Freigabe. Die inhaltliche Auseinandersetzung fand durchgängig in den Diskussionssträngen statt.
|
||||||
|
|
||||||
Dass kein Pull Request verworfen wurde, ist kein Zufall: Die vorgelagerte Klärung — Feature-Analyse im Juni, Backlog-Durchsicht im Juli — hatte die fachlichen Fragen so weit beantwortet, dass keine Implementierung auf einer falschen Annahme beruhte.
|
Dass kein Pull Request verworfen wurde, ist kein Zufall: Die vorgelagerte Klärung — Feature-Analyse im Juni, Backlog-Durchsicht im Juli — hatte die fachlichen Fragen so weit beantwortet, dass keine Implementierung auf einer falschen Annahme beruhte.
|
||||||
|
|
||||||
@@ -37,6 +37,6 @@ Der Wechsel war organisatorisch bedingt, hatte aber einen fachlichen Effekt: Fr
|
|||||||
|
|
||||||
Am 27.~Juli wurden vier Pull Requests am selben Tag eröffnet, ein fünfter folgte am Tag darauf. Da sie inhaltlich aufeinander aufbauten, ließ sich nur der erste zeitnah abschließen; die übrigen blieben zwei bis drei Wochen offen.
|
Am 27.~Juli wurden vier Pull Requests am selben Tag eröffnet, ein fünfter folgte am Tag darauf. Da sie inhaltlich aufeinander aufbauten, ließ sich nur der erste zeitnah abschließen; die übrigen blieben zwei bis drei Wochen offen.
|
||||||
|
|
||||||
Die in Abschnitt~\ref{sec:architecture} beschriebene Verkettung machte die Änderungen gut prüfbar, verlagerte den Aufwand aber ans Ende: Der überwiegende Teil der Zusammenführungen fällt in die Woche vom 18. bis 21.~August — unmittelbar vor Abnahme und Produktivsetzung.
|
Die in Abschnitt~\ref{sec:architecture} beschriebene Verkettung machte die Änderungen gut prüfbar, verlagerte den Aufwand aber ans Ende: Der überwiegende Teil der Zusammenführungen fällt in die Woche vom 18. bis 21.~August — unmittelbar vor der Abnahme.
|
||||||
|
|
||||||
Rückblickend wäre sequenzielles Vorgehen vorzuziehen gewesen, da die inhaltliche Abhängigkeit echtes paralleles Vorankommen ohnehin verhinderte.
|
Rückblickend wäre sequenzielles Vorgehen vorzuziehen gewesen, da die inhaltliche Abhängigkeit echtes paralleles Vorankommen ohnehin verhinderte.
|
||||||
|
|||||||
@@ -15,12 +15,16 @@ Dieser Punkt führte im Abnahmetest zu Verzögerungen (Abschnitt~\ref{sec:accept
|
|||||||
|
|
||||||
Die Prüfung ist nötig, weil das Modul mehrere Einstiegspunkte besitzt: Wäre eine Route nicht von der zentralen Richtlinie erfasst, bliebe sie ohne Anmeldung erreichbar, ohne dass dies sichtbar wäre. Die zentrale Registrierung (Abschnitt~\ref{sec:architecture}) macht diesen Fehler unwahrscheinlich; die Prüfung bestätigt dies.
|
Die Prüfung ist nötig, weil das Modul mehrere Einstiegspunkte besitzt: Wäre eine Route nicht von der zentralen Richtlinie erfasst, bliebe sie ohne Anmeldung erreichbar, ohne dass dies sichtbar wäre. Die zentrale Registrierung (Abschnitt~\ref{sec:architecture}) macht diesen Fehler unwahrscheinlich; die Prüfung bestätigt dies.
|
||||||
|
|
||||||
\subsection{Stand bei Abgabe}
|
\subsection{Benutzerdokumentation}
|
||||||
|
|
||||||
Bei Abgabe waren zehn der elf Pull Requests zusammengeführt, überwiegend in der Woche vom 18.~bis 21.~August. Der Dokumentenbereich war damit in seinen Kernfunktionen — Liste, Typisierung, Suche, Filter, Paginierung, Downloads, Vorschau, Freigabelinks und Verknüpfungsdateien — ausgeliefert.
|
Zum Funktionsumfang gehört das Houston-Benutzerhandbuch, das im Repository gepflegt und als PDF ausgeliefert wird. Für den Dokumentenbereich wurde es um ein eigenes Kapitel ergänzt: Aufruf der Seite, Typfilter und Suche, Einzel- und Archivdownload, PDF-Vorschau, Freigabelinks sowie das Verhalten von Verknüpfungsdateien.
|
||||||
|
|
||||||
Nicht abgeschlossen war die Ordnerverwaltung mit dem neuen Kundenordner-Lookup. Der Pull Request war fachlich fertig, aber nicht freigegeben; bis dahin bleibt das in Abschnitt~\ref{sec:document-explorer} beschriebene lineare Verfahren — funktional korrekt, aber mit bekannter Skalierungsschwäche.
|
Erfasst wurde die Arbeit als eigenes Backlog Item (10167) und über Pull Request 2215 am 2.~September zusammengeführt. Die Trennung von der Implementierung ist bewusst: Das Handbuch beschreibt den Endzustand des Moduls und ließ sich sinnvoll erst schreiben, als sämtliche Funktionen zusammengeführt waren.
|
||||||
|
|
||||||
Ebenfalls offen sind das Backlog Item zur Nebenläufigkeit sowie der Fehlerbericht aus der Abnahme, der für den folgenden Sprint eingeplant ist.
|
\subsection{Stand bei Produktivsetzung}
|
||||||
|
|
||||||
Der Dokumentenbereich ist in Betrieb, aber nicht vollständig abgeschlossen (Abschnitt~\ref{sec:target-comparison}).
|
Alle dreizehn Pull Requests des Features sind zusammengeführt. Die Kernfunktionen entstanden in der Woche vom 18.~bis 21.~August; die Ordnerverwaltung mit dem neuen Kundenordner-Lookup folgte am 26.~August (Pull Request 2196), der Fehler aus der Abnahme wurde am 27.~August behoben (Pull Request 2206).
|
||||||
|
|
||||||
|
Damit sind sämtliche Backlog Items des Features im Zustand \texttt{Test Completed} oder \texttt{Done}; die Recherche zur Speicherabfrage (9857) ist abgeschlossen. Am 3.~September wurde der Dokumentenbereich in die Produktivumgebung ausgeliefert.
|
||||||
|
|
||||||
|
Offen bleibt einzig das Backlog Item zur Nebenläufigkeit im verändernden Lookup-Pfad (10070). Es ist freigegeben, aber nicht eingeplant, da die Wahl der Gegenmaßnahme von einer Rückfrage beim Betreiber des Speichers abhängt (Abschnitt~\ref{sec:race-conditions}).
|
||||||
|
|||||||
@@ -10,9 +10,11 @@ gantt
|
|||||||
Downloads & PDF-Modal :done, 2026-08-15, 7d
|
Downloads & PDF-Modal :done, 2026-08-15, 7d
|
||||||
section Sprint 16.2026
|
section Sprint 16.2026
|
||||||
Typfilter & Pagination :done, 2026-08-18, 4d
|
Typfilter & Pagination :done, 2026-08-18, 4d
|
||||||
Ordner-Lookup :active, 2026-08-17, 8d
|
Ordner-Lookup :done, 2026-08-17, 10d
|
||||||
section Sprint 17.2026
|
section Sprint 17.2026
|
||||||
Race Conditions (10070) :2026-08-26, 5d
|
Bugfix Suchfeld (10134) :done, 2026-08-27, 1d
|
||||||
|
Handbuch (10167) :done, 2026-08-31, 3d
|
||||||
|
Race Conditions (10070) :2026-09-08, 5d
|
||||||
section Qualitätssicherung
|
section Qualitätssicherung
|
||||||
Abnahmetest :done, 2026-08-13, 12d
|
Abnahmetest :done, 2026-08-13, 12d
|
||||||
Release :2026-08-26, 3d
|
Produktivsetzung :milestone, done, 2026-09-03, 0d
|
||||||
|
|||||||
+663
-527
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user