Aktualisierung auf den aktuellen DevOps-Stand (Abnahme, Bugfix, Handbuch, PROD)
This commit is contained in:
@@ -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,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.
|
||||
|
||||
|
||||
@@ -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}
|
||||
|
||||
|
||||
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user