01
Anforderungen ermitteln und
analysieren
- In einem Workshop mit dem Kunden sollen die ersten Anfroderungen ermittelt werden, um für die Vorprojektphase ein Budget festzulegen
- Beauftragung durch den Kunden mit dem Anfangsaufwand in der Höhe von 50h, nach Bedarf kann das Budget im Abstimmung mit Kunden erhöht werden
- Detaillierte Anforderungserhebung mit dem Kunden zu dem neuen Frontend-Bereich.
- Welche spezifischen Funktionen werden benötigt: Use Cases festlegen und abbilden
- UX/UI-Designs und -Prototypen: Erstellung von Prototypen sowie anschließende Validierung/Abstimmung mit dem Kunden
- Wiederholte Abstimmungen, bis zum gemeinsamen Verständnis
- Kick-off mit allen Beteiligten durchführen und gemeinsame Vorgehensweise definieren:
- Ziele der Vorprojektphase transparent halten: technische Machbarkeitsprüfung und Zielarchitektur festlegen
- Erstellung des Kommunikationsplans für die Vorprojektphase
- Erstellung eines Zeitplans in Jira Advanced Road Maps (8 Wochen Laufzeit)
- Einplanung mehrerer Sprints für die Vorprojektphase
02
Technische Machbarkeitsprüfung
- Solr-Integration: ist die aktuelle Solr-Konfiguration ausreichend für die neuen Anforderungen oder sind Anpassungen nötig? Z.B. neue Cores und Indizierungslogik. Gibt es bereits vorhandene Datenmodelle, die für den neuen Frontend-Bereich wiederverwendet werden können, oder müssen neue erstellt werden.
- Anforderungen an die Datenfrequenz: Prüfung, ob Batch-weise Verarbeitung oder Echtzeit-Verarbeitung infrage kommt.
- Analyse der bestehenden REST-API: Sind die aktuellen Endpoints für die neuen Anforderungen ausreichend oder müssen neue Endpoints definiert werden?
- Integration der externen Datenquellen (Business Partner): Welche technischen Vorgaben gibt es vom Partner? Z.B. Authentifizierung, Datenformat (JSON, XML), Datenfrequenz.
- Integration von Solr und REST: gibt es eine nahtlose Möglichkeit, Daten aus REST-Schnittstellen in Solr zu integrieren? Ist dies mit bestehenden Tools möglich oder müssen Custom-Skripte bzw. Datenpipelines entwickelt werden?
03
Architekturdesign und Konzeption
Das Architekturdesign zielt darauf ab, eine effiziente und skalierbare Lösung für die Integration und Darstellung der Kongressdaten zu schaffen. Dies umfasst:
- Datenempfang: die Kongressdaten werden im JSON-Format über eine REST-API von einem externen Business Partner empfangen.
- Datenaufbereitung: die Daten werden validiert, transformiert und für Solr aufbereitet.
- Datenindexierung: die Daten werden in Solr indexiert und sind sofort für die Suche verfügbar. Geeignete Indexierung der Daten wird festgelegt.
- Datenanzeige: Im Frontend (Typo3) werden die Kongressdaten angezeigt, wobei Solr für die schnelle, facettierte Suche sorgt.
- Performance und Skalierbarkeit: die Architektur nutzt Caching in Solr, um eine hohe Performance auch bei großen Datenmengen zu gewährleisten.
- Fehlerbehandlung und Monitoring: robuste Fehlerbehandlung, Logging und Monitoring gewährleisten eine hohe Verfügbarkeit und schnelle Fehlererkennung.
Zu beachten: alle wichtigen Entscheidungen für die Zielarchitektur und die Gründe für Entscheidungen dokumentieren!
Anschließend an die Konzeption wird möglichst genau der Aufwand für die Umsetzung definiert.
04
MVP-Planung & Roadmap-Erstellung für die Umsetzung
- Modellierung der Zielarchitektur für den neuen Bereich, inkl. Schnittstellensteckbrief
- Road Map und Projektstrukturplan (PSP): Teilprojekte und Arbeitspakete (Scope) festlegen und grob beschreiben. Auch Nicht-Scope festlegen.
- Grober Gesamtaufwand (Backend und Frontend) für die Umsetzung der Zielarchitektur definieren
- Strategie der Umsetzung dem Kunden präsentieren und Aufwand benennen
- Angebotserstellung für die Umsetzung dem Kunden zukommen lassen
05
Beauftragung und Kick-off
- Beauftragung des Hauptprojektes
- Kick-off mit allen Beteiligten durchführen:
- Probleme und Ziele (inkl. qualitative) der Hauptprojektphase abstimmen und gemeinsame Vorgehensweise definieren
- Erfolgskriterien festlegen
- Meilensteine und grobe Ressourcenplanung der Hauptprojektphase
- Risiken besprechen und festhalten
- Rollen und Verantwortlichkeiten: 2 Entwickler, Architekt und PO
- Erwartungshaltung des Kunden
- Kommunikationsplan und Tools
- Nächste Schritte nach dem Kick-off
- Übertragen der Teilprojekte als Epics, sowie Arbeitspakete als Tasks in Jira, Abhängigkeiten zwischen Arbeitspaketen transparent machen
- Zeitplan als Gant Diagramm erstellen: ca. 3 Laufzeit
- Controlling Tool definieren (Zeiterfassung in Jira) und Metriken im Team bekanntgeben
- Einplanung der Sprints, Erstellung der regelmäßigen Termine
06
Datenempfang,Datenaufbereitung
und Indexierung in Solr
- Datenempfang:
- Implementierung der REST-API zum Empfang der Kongressdaten im JSON-Format von einem externen Business Partner.
- API-Endpunkte entwickeln und konfigurieren.
- Authentifizierung und Datenvalidierung für die empfangenen Daten einrichten.
- Fehlerbehandlung für fehlerhafte Datenstrukturen implementieren.
- Datenaufbereitung:
- Entwicklung der Logik zur Datenvalidierung (Überprüfung auf erforderliche Felder, Datenformate etc.).
- Transformation der Daten für die Solr-Indexierung und das Frontend.
- Definition des Datenmodells und Mapping-Logik für Solr.
- Datenindexierung in Solr:
- Anpassung des Solr-Schemas zur Unterstützung neuer Datenfelder.
- Implementierung der Indexierungslösung für die Daten (Import und Aktualisierung).
- Optimierung der Daten für facettierte Suchen (z.B. nach Datum, Kategorie, Ort).
07
Umsetzung im Backend und
Frontend
- API-Integration: Entwicklung der Backend-Logik zur Integration der Kongressdaten aus der REST-API und regelmäßigen Abruf sowie Speicherung der Daten.
- Überwachung und Logging der API-Aufrufe und Antwortzeiten.
- Datenverarbeitung: Sicherstellen, dass die empfangenen Daten korrekt validiert, gespeichert und in das System integriert werden.
- Implementierung der Fehlerbehandlung für fehlerhafte Daten oder API-Ausfälle.
- Entwicklung der Frontend-Templates gemäß den Design-Vorgaben (Balsamiq-Prototypen).
- Integration von Solr zur Durchführung der facettierten Suche und Anzeige der Suchergebnisse.
- Erweiterung des Suchfilters (Datum, Ort, Kategorie) und Responsivem Design für eine benutzerfreundliche Ansicht auf mobilen Endgeräten.
08
Rollout und Livegang
- Abschluss der Entwicklung und Testphase
- Abnahmetests: Sicherstellen, dass alle Abnahmetests erfolgreich abgeschlossen sind, insbesondere Benutzerakzeptanztests (UAT), die bestätigen, dass das System den Anforderungen des Kunden entspricht.
- Fehlerbehebung: Alle kritischen Bugs und Fehler aus der Testphase müssen behoben werden.
- Systemtests: Durchführung finaler Integrationstests und Performance-Tests zur Überprüfung der Systemstabilität unter realen Bedingungen (Lasttests und Caching-Tests).
- Organisatorische Checkliste
- Kommunikation: Stakeholder und Team informieren, Go-Live-Plan teilen.
- Teamkoordination: Verantwortlichkeiten zuweisen, Support-Team bereitstellen.
- Schulung und Dokumentation: Schulung der Endbenutzer, technische und benutzerspezifische Dokumentation bereitstellen.
- Ressourcen: Sicherstellen, dass ausreichend Ressourcen und Infrastruktur vorhanden sind.
- Risikomanagement: Notfall- und Rollback-Strategie überprüfen.
- Post-Go-Live: System überwachen und Feedback sammeln.
- Zum abgestimmten Zeitpunkt den neuen Bereich live stellen, die Testung auf dem Livesystem stichprobenartig durchführen. Wenn alles in Ordnung -> den Stakeholder über den Livegang informieren.