Kapitel 3

Projekt für Berufstätige

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

Projekt 1: Entwicklung interner Tools

Projektübersicht

1
Projektziele:Entwicklung eines internen Daten-Dashboard-Tools, damit das Team Geschäftsdaten schnell einsehen und analysieren und die Entscheidungseffizienz verbessern kann
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 Technologieauswahl: Warum Spec-driven + Cursor + Skill wählen?

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 kleine, umsetzbare Aufgaben aufteilen
  • DoD-Definition: Abschlusskriterien klar definieren, 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 den Umsatz für heute/diese Woche/diesen 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 Die Filterfunktion implementieren

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. Mit Skill häufige Funktionen schnell 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-Training und Wissensaustausch

Teamzusammenarbeit und Wissensmanagement

Aufbau einer Skill-Bibliothek

  • Skill erstellen: Häufige Funktionen als Skills kapseln, z. B. „Data Query Skill“ und „Chart Component Skill“
  • Skill-Dokumentation: Nutzungsanweisungen und Beispiele für jedes Skill 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 Codeprü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 User Stories sowie 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:Das alte PHP-System in ein modernes Node.js-System umgestalten, 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: Muster der Systemarchitektur und Designprobleme identifizieren
  • Abhängigkeitsanalyse: Abhängigkeiten zwischen den 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 verbessern
  • Best Practices:Moderne Best Practices der Entwicklung anwenden
  • Sicherheitsaudit: Sicherheitslücken und Risiken prüfen

Werkzeugsynergie: Windsurf ist für das Verständnis des Altsystems zuständig, Cursor Agent für das Entwerfen und Implementieren des neuen Systems und Fabric für die Optimierung der Codequalität. Diese Kombination ermöglicht einen vollständigen Refactoring-Prozess von der Analyse über die Neugestaltung bis zur Optimierung und stellt sowohl die Korrektheit des Refactorings als auch die Qualität des neuen Systems sicher.

Refactoring-Strategie

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

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

  • • Die Gesamtarchitektur des Systems und die Modulaufteilung verstehen
  • • Kern-Geschäftslogik und Datenflüsse identifizieren
  • • Datenbankstruktur und Datenmodell 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:

  • • Anwendungs-Designmuster
  • • 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 sich neue Funktionen konsistent zu bestehenden verhalten
  • • 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 Funktionen

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, mit Architekturdiagrammen und einer vollständigen Funktionsliste
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