Kapitel 3

Projekt für Berufstätige

Geeignet für Berufstätige, die ihre Arbeitseffizienz steigern möchten. Durch unternehmensweite Entwicklungsprozesse und die Neugestaltung von Altsystemen lernen Sie den praktischen Einsatz von KI-Tools im Unternehmensumfeld kennen und verstehen die Bedeutung von Teamzusammenarbeit und Wissensmanagement.

Projekt 1: Entwicklung interner Tools

Projektübersicht

1
Projektziele: ein internes Daten-Dashboard-Tool entwickeln, das dem Team hilft, Geschäftsdaten schnell einzusehen und zu analysieren und die Effizienz der Entscheidungsfindung zu verbessern
2
Tool-Stack:Spec-gesteuert + Cursor (Entwicklung) + Skill (Wissenswiederverwendung)
3
Zeitschätzung:20-30 Stunden (einschließlich Anforderungsklärung, Design, Entwicklung, Test)
4
Schwierigkeitsgrad: Mittelstufe bis fortgeschritten (Erfahrung in der Unternehmensentwicklung erforderlich)

Analyse der technischen Auswahl: Warum Spec-driven + Cursor + Skill?

Spec-getrieben: die Brücke von den Anforderungen zum Code

  • Anforderungsklärung:Durch Reverse Interview und User Stories sicherstellen, dass die tatsächlichen Anforderungen verstanden werden
  • PRD-Erstellung:Zielnutzer, funktionale Anforderungen und nicht-funktionale Anforderungen klar definieren
  • API Spec: Mit der OpenAPI-Spezifikation kann KI Code direkt generieren
  • UI Spec:Die Benutzeroberfläche und Interaktionen im Detail beschreiben, um Nacharbeit zu reduzieren
  • WBS-Zerlegung:Große Aufgaben in kleinere, ausführbare Aufgaben aufteilen
  • DoD-Definition:Klare Abschlusskriterien festlegen, um Qualität sicherzustellen

Cursor: KI-gestützte Entwicklung

  • Von der Spezifikation zum Code:Code-Struktur automatisch basierend auf der Spec generieren
  • Funktionsimplementierung: den Agent-Modus verwenden, um komplexe Funktionen zu implementieren
  • Code-Optimierung:Best Practices und Entwurfsmuster anwenden
  • Fehlerbehebung:Probleme schnell lokalisieren und beheben

Skill: Wissenswiederverwendung und Teamzusammenarbeit

  • Wissensaufbau: Best Practices als Skill bündeln und im Team teilen
  • Schnelle Wiederverwendung:Mit Skill häufig verwendete Funktionen schnell umsetzen
  • Konsistenzgarantie:Skill verwenden, um die Konsistenz von Code-Stil und -Mustern sicherzustellen
  • Teamzusammenarbeit: Die Skill-Bibliothek wird zum Wissensbestand des Teams

Werkzeugsynergie: Spec-gesteuerte Entwicklung sorgt für klare Anforderungen und die richtige Entwicklungsrichtung, Cursor übernimmt die effiziente Implementierung, und Skill ist für Wissenswiederverwendung und Teamzusammenarbeit verantwortlich. Diese Kombination ermöglicht einen vollständigen Entwicklungsprozess auf Enterprise-Niveau von der Anforderung bis zur Auslieferung und stellt sowohl die Entwicklungseffizienz als auch Codequalität und Teamzusammenarbeit sicher.

Vollständiger Entwicklungsprozess

Phase 1: Anforderungsklärung (3–4 Stunden)

Reverse-Interview-Technik

  • • Frage „warum“ statt „was“: die Gründe hinter den tatsächlichen Bedürfnissen verstehen
  • • Fragen Sie „wann“: Nutzungsszenarien und Häufigkeit verstehen
  • • Fragen Sie „wer“: die Zielnutzer und Anwender verstehen
  • • Fragen „Was wäre wenn...?“: Grenzfälle und Fehlerbehandlung erkunden

Erstellung von User Stories

"Als Produktmanager,
Ich möchte Verkaufsdaten schnell einsehen,
Damit Sie die Geschäftslage rechtzeitig im Blick behalten und Entscheidungen treffen können.

Akzeptanzkriterien:
- Kann die Verkäufe von heute/dieser Woche/diesem Monat anzeigen
- Daten nach Produktkategorie filtern können
- Die Verzögerung bei der Datenaktualisierung beträgt höchstens 5 Minuten"

Phase 2: Spec-Erstellung (4–6 Stunden)

PRD-Erstellung

  • • Zielnutzer: Produktmanager, Business-Analysten
  • • Funktionale Anforderungen: Datenanzeige, Filterung, Export
  • • Nichtfunktionale Anforderungen: Leistung (Ladezeit <2 Sekunden), Verfügbarkeit (99,9 %), Sicherheit

API Spec(OpenAPI)

GET /api/dashboard/sales Query Parameters: - startDate: string (ISO date) - endDate: string (ISO date) - category: string (optional) Response: { totalSales: number, salesByCategory: Array, trend: Array }

UI Spec: Beschreiben Sie das Layout der Benutzeroberfläche, den Interaktionsablauf und die Zustandsänderungen im Detail

Phase 3: WBS-Zerlegung (2–3 Stunden)

Prinzipien der Aufgabenzerlegung

  • Granularitätssteuerung: Jede Aufgabe wird in 2–4 Stunden erledigt
  • Abhängigkeiten: Abhängigkeiten zwischen Aufgaben klar definieren
  • Testbarkeit: Jede Aufgabe hat klare Abnahmekriterien

WBS-Beispiel

1. Datenbankdesign (2 Stunden)
1.1 Datenmodell entwerfen
1.2 Datenbanktabellen erstellen
2. Backend-API-Entwicklung (8 Stunden)
2.1 Die Datenabfrage-API implementieren (abhängig von 1)
2.2 Die API zur Datenfilterung implementieren
3. Frontend-UI-Entwicklung (6 Stunden)
3.1 Erstellen Sie die Dashboard-Komponente (abhängig von 2.1)
3.2 Implementierung der Filterfunktion

Phase 4: DoD-Definition (1 Stunde)

Qualitätsstandards

  • • Codequalität: ESLint-Überprüfung bestanden, keine schweren Warnungen
  • • Testabdeckung: Unit-Test-Abdeckung >80%
  • • Vollständige Dokumentation: API-Dokumentation und Benutzerhandbuch sind vollständig

Akzeptanzkriterien

  • • Funktionale Abnahme: Alle Funktionen sind gemäß der Spec implementiert und bestehen die Tests
  • • Leistungsabnahme: Seitenladezeit <2 Sekunden, API-Antwortzeit <500 ms
  • • Sicherheitsabnahme: Sicherheits-Scans bestanden, keine Schwachstellen mit hohem Risiko

Phase 5: Entwicklungsimplementierung (8–12 Stunden)

1. Verwenden Sie Cursor Agent, um die Projektstruktur auf Grundlage der Spec zu generieren

2. Verwenden Sie Skill, um gängige Funktionen schnell zu implementieren:

  • • Verwenden Sie "Data Query Skill", um die API-Abfragelogik zu implementieren
  • • Verwenden Sie die „Chart Component Skill“, um Visualisierungskomponenten zu erstellen
  • • Verwenden Sie das „Error Handling Skill“, um die Fehlerbehandlung zu vereinheitlichen

3. Cursor Agent verwenden, um komplexe Geschäftslogik zu implementieren

4. Codeüberprüfung und Optimierung

5. Testfälle schreiben

Phase 6: Test und Übergabe (2–3 Stunden)

1. Testfälle ausführen und Fehler beheben

2. Benutzerakzeptanztest (UAT)

3. In die Produktionsumgebung bereitstellen

4. Benutzerhandbücher und Bedienungsanleitungen erstellen

5. Team-Schulungen und Wissensaustausch

Teamzusammenarbeit und Wissensmanagement

Aufbau der Skill-Bibliothek

  • Skill erstellen: Häufige Funktionen als Skills kapseln, z. B. „Data Query Skill“ und „Chart Component Skill“
  • Skill-Dokumentation:Für jede Skill-Nutzungshinweise und Beispiele verfassen
  • Skill-Versionsverwaltung:Git verwenden, um Skill-Versionen zu verwalten und Versions-Rollbacks zu unterstützen
  • Skill-Austausch: die Skill-Bibliothek im Team teilen, um die Wiederverwendung zu verbessern

Wissensaufbau

  • Best-Practices-Dokument: Best Practices während des Entwicklungsprozesses dokumentieren
  • Problemlösung: Häufige Probleme und Lösungen dokumentieren
  • Code-Review-Protokoll: Bei der Codeüberprüfung gefundene Probleme und Verbesserungsvorschläge festhalten
  • Projekt-Retrospektive:Nach Abschluss des Projekts eine Retrospektive durchführen und die gewonnenen Erkenntnisse zusammenfassen

Projekt-Checkliste

Die Anforderungsklärung ist abgeschlossen, und die User Stories sowie die Akzeptanzkriterien sind klar
PRD, API Spec und UI Spec sind vollständig und die Teamprüfung wurde bestanden
WBS-Aufteilung abgeschlossen, Aufgabengranularität angemessen, Abhängigkeiten klar
Die DoD definiert „Done“, mit klaren Qualitätsstandards und Abnahmekriterien
Entwicklung abgeschlossen, Code erfüllt die Spec-Anforderungen, Code-Review bestanden
Tests bestanden, Coverage erreicht, UAT bestanden
Die Skill-Bibliothek wurde aktualisiert, und die neu hinzugefügten Skills wurden dokumentiert
Die Projektdokumentation ist vollständig, und das Benutzerhandbuch sowie die Bedienungsanleitung wurden erstellt

Projekt 2: Refactoring eines Altsystems

Projektübersicht

1
Projektziele:Ein veraltetes PHP-System in ein modernes Node.js-System umstrukturieren, um Leistung, Wartbarkeit und Skalierbarkeit zu verbessern
2
Tool-Stack:Windsurf(Codebasis-Analyse)+ Cursor Agent(Architekturdesign)+ Fabric(Codeoptimierung)
3
Zeitschätzung: 40–60 Stunden (einschließlich Analyse, Design, Refactoring und Tests)
4
Schwierigkeitsgrad: Fortgeschritten (erfordert Erfahrung in Systemarchitektur und Refactoring)

Analyse der Technologieauswahl: Warum Windsurf + Cursor Agent + Fabric wählen?

Windsurf: Analyse großer Codebasen

  • Fast-Context-Technologie:Struktur und Logik einer großen Codebasis schnell verstehen
  • Q&A zum Codebestand:Verstehe die Funktionalität und Abhängigkeiten des Codes im Frage-Antwort-Format
  • Architekturanalyse:Systemarchitekturmuster und Designprobleme identifizieren
  • Abhängigkeitsanalyse: Die Abhängigkeiten zwischen Modulen analysieren

Cursor Agent: Architekturdesign und Refactoring

  • Architekturdesign:Auf Grundlage der Analyseergebnisse eine neue Architektur entwerfen
  • Code-Migration: Alten Code auf eine neue Architektur migrieren
  • Funktionsimplementierung:Neue Funktionen implementieren oder bestehende verbessern
  • Testgenerierung:Testfälle generieren, um sicherzustellen, dass die Funktion korrekt ist

Fabric: Optimierung der Codequalität

  • Code-Review: Die Qualität des refaktorierten Codes überprüfen
  • Leistungsoptimierung:Code-Performance optimieren und die Systemeffizienz steigern
  • Best Practices: Moderne Best Practices für die Entwicklung anwenden
  • Sicherheitsaudit: Sicherheitslücken und Risiken prüfen

Werkzeugsynergie:Windsurf ist für das Verständnis von Altsystemen zuständig, Cursor Agent für das Entwerfen und Implementieren neuer Systeme und Fabric für die Optimierung der Codequalität. Diese Kombination ermöglicht einen vollständigen Rekonstruktionsprozess von der Analyse über das Refactoring bis zur Optimierung und gewährleistet sowohl die Korrektheit der Umgestaltung als auch die Qualität des neuen Systems.

Refactoring-Strategie

Strategie 1: Codebasis-Analyse (mit Windsurf Fast Context)

1. Verwende Windsurf, um die alte Codebasis zu analysieren:

  • • Die gesamte Systemarchitektur und die Modulaufteilung verstehen
  • • Kern-Geschäftslogik und Datenflüsse identifizieren
  • • Datenbankstruktur und Datenmodelle analysieren
  • • Technische Schulden und Designprobleme identifizieren

2. Systemanalysebericht erstellen:

  • • Architekturdiagramm: Systemmodule und Abhängigkeiten
  • • Funktionsliste: Liste aller Funktionsmodule
  • • Datenmodell: Struktur und Beziehungen der Datenbanktabellen
  • • Problemliste: technische Schulden und Risikopunkte

Strategie 2: Architekturdesign (mit Cursor Agent)

1. Verwenden Sie Cursor Agent, um eine neue Architektur zu entwerfen:

"Auf Grundlage der Analyseergebnisse des alten PHP-Systems eine neue Node.js-Architektur entwerfen:
- Eine Microservices-Architektur verwenden, nach Geschäftsmodulen aufteilen
- Express.js als Web-Framework verwenden
- Prisma als ORM verwenden
- PostgreSQL als Datenbank verwenden
- RESTful-API-Design implementieren
- API-Dokumentation hinzufügen (Swagger)
- Authentifizierung und Autorisierung (JWT) implementieren"

2. Einen Datenmigrationsplan entwerfen:

  • • Datenmodell-Mapping: PHP-Modelle zu Node.js-Modellen
  • • Datenmigrationsskript: historische Daten migrieren
  • • Datenvalidierung: Datenintegrität sicherstellen

Strategie 3: schrittweise Refaktorisierung (unter Verwendung von Fabric Patterns)

1. Das Strangler-Fig-Muster anwenden:

  • • Alte Funktionen schrittweise ersetzen, statt alles auf einmal neu zu schreiben
  • • Alte und neue Systeme parallel betreiben und den Traffic schrittweise umschalten
  • • Refactoring-Risiken reduzieren und die Geschäftskontinuität sicherstellen

2. Code mit Fabric Patterns optimieren:

  • • Anwendungsentwurfsmuster Pattern
  • • Muster zur Optimierung der Anwendungsleistung
  • • Best-Practice-Pattern für Anwendungssicherheit

Strategie 4: Testabdeckung (TDD-Methode)

1. Schreibe zuerst die Tests, dann die Implementierung:

  • • Testfälle für jede Funktion erstellen
  • • Sicherstellen, dass neue Funktionen mit dem Verhalten alter Funktionen übereinstimmen
  • • Testgetriebene Entwicklung (TDD) verwenden

2. Testarten:

  • • Unit-Tests: einzelne Funktionen und Module testen
  • • Integrationstests: die Integration zwischen Modulen testen
  • • End-to-end-Tests: den vollständigen Geschäftsablauf testen

Risikoanalyse und Gegenstrategien

Risiko 1: Betriebsunterbrechung

Gegenmaßnahmen:Schrittweise Refaktorisierung einsetzen, alte und neue Systeme parallel betreiben und den Traffic nach und nach umschalten. Einen Rollback-Mechanismus einrichten und bei Problemen sofort zurückrollen.

Risiko 2: Fehler bei der Datenmigration

Gegenmaßnahmen:Detaillierte Datenmigrationsskripte schreiben und gründlich testen. Einen Datenvalidierungsmechanismus einrichten, um die Datenintegrität sicherzustellen. Alte Datensicherungen aufbewahren.

Risiko 3: Leistungsabfall

Gegenmaßnahmen:Leistungstests durchführen, um Leistungsengpässe zu identifizieren. Fabric verwenden, um die Codeleistung zu optimieren. Leistungsüberwachung einrichten, um Probleme rechtzeitig zu erkennen.

Risiko 4: Fehlende Funktionalität

Gegenmaßnahmen:Die Funktionen des Altsystems detailliert analysieren und eine Funktionsliste erstellen. Windsurf verwenden, um sicherzustellen, dass nichts übersehen wird. Umfassende Funktionstests durchführen.

Projekt-Checkliste

Die Analyse des Altsystems ist abgeschlossen, das Architekturdiagramm und die Funktionsliste sind vollständig
Das neue Architekturdesign ist abgeschlossen, die Technologieauswahl ist angemessen und die Teamprüfung wurde genehmigt
Der Datenmigrationsplan ist abgeschlossen, und die Skripttests wurden bestanden
Der Refactoring-Plan ist fertiggestellt; es wird eine schrittweise Refactoring-Strategie eingesetzt
Testabdeckung abgeschlossen, alle Funktionstests bestanden
Leistungstests bestanden, Leistungskennzahlen erreicht
Der Rollback-Plan ist vorbereitet, ein schnelles Zurückrollen ist möglich.
Das neue System wurde bereitgestellt, läuft stabil und der Geschäftsbetrieb ist normal

Lernergebnisse

Nach Abschluss dieses Kapitels werden Sie:

  • 1Den vollständigen Ablauf der Enterprise-Entwicklung beherrschen (Anforderungsklärung → Spec-Erstellung → WBS-Aufschlüsselung → DoD-Definition → Entwicklung → Test → Auslieferung)
  • 2Die Methodik der spezifikationsgetriebenen Entwicklung verstehen und wissen, wie klare PRDs, API-Spezifikationen und UI-Spezifikationen zu verfassen sind
  • 3Methoden der Teamzusammenarbeit und des Wissensmanagements beherrschen und in der Lage sein, eine Skill-Bibliothek aufzubauen und Best Practices zu sichern
  • 4Die Strategien und Risiken der Refaktorisierung von Altsystemen verstehen und einen sinnvollen Refaktorisierungsplan erstellen können
  • 5Verfügt über Fähigkeiten im Projektmanagement und in der Qualitätskontrolle auf Enterprise-Niveau und kann so eine erfolgreiche Projektablieferung sicherstellen