Aktualisierung auf den aktuellen DevOps-Stand (Abnahme, Bugfix, Handbuch, PROD)

This commit is contained in:
2026-09-07 23:08:06 +02:00
parent e0cf30bb14
commit 3ecc28ef73
14 changed files with 720 additions and 581 deletions
+1 -1
View File
@@ -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
+19 -15
View File
@@ -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}
+3 -5
View File
@@ -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 -9
View File
@@ -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.
+1 -1
View File
@@ -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}
+7 -6
View File
@@ -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.
+2 -2
View File
@@ -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.
+1 -1
View File
@@ -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.
+2 -2
View File
@@ -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.
+4 -2
View File
@@ -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}.
+2 -2
View File
@@ -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.
+9 -5
View File
@@ -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}).
+5 -3
View File
@@ -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
File diff suppressed because it is too large Load Diff