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
+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 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}
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{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}
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.
+1 -9
View File
@@ -1,17 +1,9 @@
\section{Ausblick}
\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}
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.
+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.
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}
+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 verfügbar & --- & 27.07. & nicht eingeplant \\
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 \\
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 \\
Bugfix aus Abnahme (10134) & --- & Sprint 17.2026 & nach Projektzeitraum \\
\end{longtable}
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}
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.
\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.