Die Anatomie eines guten technischen RFCs: Abschnitt-für-Abschnitt Analyse
Ein Principal Engineer mit 20+ Jahren Erfahrung erklärt, wie du technische RFCs schreibst, die tatsächlich genehmigt werden und zu erfolgreichen Implementierungen führen
Kennst du das Gefühl, wenn du vor einem leeren Dokument sitzt und versuchst, einen RFC für ein kritisches System zu schreiben, und dich fragst, ob überhaupt jemand über den ersten Absatz hinauslesen wird? Nach zwei Jahrzehnten, in denen ich Hunderte von RFCs in verschiedenen Unternehmen begutachtet habe, sind mir Muster aufgefallen, die diese Dokumente tatsächlich nützlich machen, anstatt nur bürokratische Übungen zu sein.
Lass mich etwas mit dir teilen, was dich überraschen könnte: Die besten RFCs, die ich gesehen habe, wurden nicht von den erfahrensten Architekten geschrieben. Sie wurden von Ingenieuren geschrieben, die verstanden haben, dass ein RFC grundsätzlich ein Verkaufsdokument ist - du verkaufst eine Lösung an verschiedene Zielgruppen mit konkurrierenden Prioritäten. Und wie bei jedem guten Verkaufspitch ist die Struktur genauso wichtig wie der Inhalt.
Der RFC, der meine Perspektive änderte#
Vor ein paar Jahren habe ich beobachtet, wie der RFC eines Junior-Ingenieurs für ein Notification-System in Rekordzeit genehmigt wurde, während der technisch anspruchsvollere Vorschlag eines Senior-Architekten monatelang in der Review-Hölle schmachtete. Der Unterschied? Der Junior-Ingenieur verstand seine Zielgruppe. Er strukturierte seinen RFC so, dass er Fragen in der Reihenfolge beantwortete, in der Stakeholder sie tatsächlich stellen.
Lass uns einen echten Notification-System-RFC Abschnitt für Abschnitt sezieren und untersuchen, warum jeder Teil funktioniert und worauf Reviewer tatsächlich achten. Das ist nicht theoretisch - dieser RFC führte zu einem Produktionssystem, das täglich Millionen von Benachrichtigungen verarbeitet, und die Implementierungsreise zeigte, welche Abschnitte am wertvollsten waren.
Executive Summary: Der 30-Sekunden-Pitch#
Die Zusammenfassung ist dein Elevator Pitch. Du hast etwa 30 Sekunden Zeit, einen beschäftigten VP oder Principal Engineer davon zu überzeugen, dass dieses Dokument ihre Zeit wert ist. Hier ist, was funktioniert:
Was tatsächlich funktioniert#
Wir müssen ein robustes, skalierbares User-Notification-System implementieren,
das Echtzeit-Updates, Push-Benachrichtigungen, E-Mail-Benachrichtigungen und
In-App-Benachrichtigungen plattformübergreifend verarbeiten kann. Dieses System
dient als Backbone für User Engagement, kritische Alerts und Feature-Ankündigungen.
Diese Zusammenfassung funktioniert, weil sie:
- Das Was klar benennt (Notification System)
- Spezifische Fähigkeiten auflistet (Echtzeit, Push, E-Mail, In-App)
- Mit Business Value verknüpft (User Engagement, kritische Alerts)
- Technischen Jargon vermeidet
Häufige Fehler, die ich sehe#
Schwache Version:
Dieser RFC schlägt die Implementierung einer Microservices-basierten
event-driven Architektur vor, die Kafka, PostgreSQL und WebSockets nutzt,
um asynchrone Message-Delivery über mehrere Kanäle mit konfigurierbaren
Retry-Mechanismen zu ermöglichen.
Die schwache Version verliert Executives bei "Microservices-basierten" und erklärt nie, warum sich jemand darum kümmern sollte. Ich habe gelernt: Wenn du dein System nicht in einem Absatz einem Produktmanager erklären kannst, verstehst du es wahrscheinlich selbst nicht gut genug.
Insider-Tipps#
Worauf Reviewer tatsächlich achten:
- Scope-Klarheit: Ist das ein kompletter Rewrite oder ein Enhancement?
- Business-Alignment: Löst das ein echtes Problem oder ist es resume-driven development?
- Risk Assessment: Bist du ehrlich über die Komplexität?
Der Notification-RFC meisterte das, indem er zuerst auf User Impact fokussierte, dann auf Technologie. Als wir es implementierten, half diese Klarheit, den Fokus während der unvermeidlichen Scope-Creep-Diskussionen zu behalten.
Problem Statement: Den Schmerz quantifizieren#
Das Problem Statement ist der Ort, wo du Dringlichkeit aufbaust. Zahlen sind hier wichtig - vage Probleme bekommen vage Zeitpläne.
Effektive Problemrahmung#
Der Notification-RFC quantifizierte Pain Points brillant:
### Aktuelle Probleme
- User verpassen wichtige Updates über ihre Projekte
- Kein zentraler Weg zur Verwaltung von Notification-Einstellungen
- Manuelles Notification-Senden ist fehleranfällig und nicht skalierbar
### Business Impact
- Reduziertes User Engagement und Retention
- Erhöhte Support Tickets durch verpasste Kommunikation
- Schlechte User Experience führt zu Churn
Beachte, wie jeder Pain Point mit messbarem Business Impact verknüpft ist. Während der Implementierung trackten wir genau diese Metriken und sahen Support Tickets innerhalb von drei Monaten um 23% sinken.
Schwache Problem Statements#
Was nicht funktioniert:
Das aktuelle System ist veraltet und schwer zu warten. Ingenieure beschweren
sich über die Codebasis und das Hinzufügen neuer Features ist herausfordernd.
Das sagt mir nichts Umsetzbares. Wie veraltet? Welche spezifischen Wartungsprobleme? Welche Features sind blockiert? Ohne Spezifika liest sich das wie jedes Legacy-System ever.
Die Daten, die zählen#
Starke RFCs enthalten:
- Aktuelle Metriken: "847 Support Tickets letzten Monat über verpasste Notifications"
- Kostenimplikationen: "Ingenieure verbringen 15% der Sprint-Zeit mit manuellen Notification-Tasks"
- Opportunity Cost: "Drei Feature-Launches wegen Notification-Limitierungen verzögert"
Als wir sechs Monate nach der Implementierung die Metriken überprüften, wurden die Probleme, die wir initial quantifiziert hatten, zu unseren Erfolgsmetriken. Der RFC schrieb im Wesentlichen seine eigenen Erfolgskriterien.
Proposed Solution: Vision und Spezifität balancieren#
Hier entgleisen die meisten RFCs. Ingenieure verlieren sich entweder in Implementierungsdetails oder bleiben so high-level, dass niemand weiß, was eigentlich gebaut wird.
Die Goldilocks-Zone#
Der Notification-RFC fand die perfekte Balance:
### System Architecture
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Notification │ │ Notification │ │ Notification │
│ Sources │───▶│ Engine │───▶│ Channels │
└─────────────────┘ └──────────────────┘ └─────────────────┘
### Core Components
- Event Processor: Verarbeitet eingehende Notification Events
- Template Engine: Verwaltet Notification Templates und Personalisierung
- Rate Limiting: Verhindert Notification Spam
Das funktioniert, weil es:
- Das Big Picture der Architektur visuell zeigt
- In verständliche Komponenten aufteilt
- Erklärt, was jede Komponente macht, nicht wie
Over-Engineering Red Flags#
Achte auf:
- Lösungen auf der Suche nach Problemen ("Wir nutzen GraphQL Subscriptions, weil sie modern sind")
- Technology-Bingo ("Kubernetes, Istio, Envoy, Linkerd...")
- Vorzeitige Optimierung ("Wir sharden die Datenbank von Tag eins an")
Während unserer Implementierung starteten wir tatsächlich einfacher als der RFC vorschlug. Das modulare Design erlaubte es uns, Komplexität graduell hinzuzufügen - Rate Limiting kam in Monat drei, nicht an Tag eins.
Technical Implementation: Wo Gummi auf Straße trifft#
Dieser Abschnitt trennt die Träumer von den Baumeistern. Gute technische Specs sind konkret genug zum Schätzen, aber flexibel genug zum Anpassen.
Database Schema, das Production überlebte#
Das Database Schema des RFCs überlebte größtenteils den Kontakt mit der Realität:
CREATE TABLE notification_events (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
user_id UUID REFERENCES users(id) ON DELETE CASCADE,
notification_type VARCHAR(100) NOT NULL,
template_id UUID REFERENCES notification_templates(id),
data JSONB DEFAULT '{}',
status VARCHAR(20) DEFAULT 'pending',
sent_at TIMESTAMP,
delivered_at TIMESTAMP,
read_at TIMESTAMP,
created_at TIMESTAMP DEFAULT NOW()
);
Was das effektiv machte:
- Eingebauter Audit Trail: sent_at, delivered_at, read_at Timestamps
- Flexibilität via JSONB: Das data-Feld handhabte unvorhergesehene Requirements
- Status Tracking: Essenziell für das Debugging von Production Issues
Was sich in Production änderte#
Die Realität traf uns mit:
- Index-Anforderungen, die wir verpassten (Compound Index auf user_id + status + created_at)
- Partitioning-Strategie für time-series Daten (monatliche Partitions)
- Archive-Strategie (alte Notifications in Cold Storage verschieben)
Der Production Debugging Post detailliert, wie wir diese Requirements auf die harte Tour entdeckten.
API Design, das skaliert#
Gute RFCs zeigen repräsentative API Endpoints:
POST /api/notifications/send
GET /api/notifications/user/:userId
PUT /api/notifications/:id/read
Aber großartige RFCs berücksichtigen auch:
- Pagination-Strategien für List-Endpoints
- Batch-Operationen für Effizienz
- Versioning-Strategie für zukünftige Änderungen
- Rate Limiting auf API-Level
Wir implementierten schließlich cursor-basierte Pagination, nachdem offset-basierte Pagination bei Scale Performance-Probleme verursachte - etwas, das der RFC hätte antizipieren können.
Implementation Phases: Realistisches Timeline Management#
Hier trifft Optimismus auf Realität. Jeder RFC unterschätzt Zeitpläne, aber gute unterschätzen weniger katastrophal.
Phasen, die Sinn machten#
### Phase 1: Core Infrastructure (Wochen 1-4)
- Database Schema Implementierung
- Basic Notification Engine
- In-App Notification System
### Phase 2: Advanced Features (Wochen 5-8)
- Push Notifications
- Template Management System
- Scheduling und Rate Limiting
Warum diese Phaseneinteilung funktionierte:
- Value Delivery in Phase 1: User sahen Notifications innerhalb von 4 Wochen
- Risk Frontloading: Harte Probleme (Real-time Delivery) kamen zuerst
- Learning Incorporation: Phase 2 Pläne angepasst basierend auf Phase 1 Lessons
Timeline Reality Check#
Was tatsächlich passierte:
- Phase 1: 6 Wochen (nicht 4) wegen Authentifizierungs-Integrations-Komplexität
- Phase 2: 10 Wochen (nicht 4) nachdem wir Edge Cases im Rate Limiting entdeckten
- Phase 3: Teilweise descoped basierend auf tatsächlichen Usage Patterns
Die Implementierungs-Serie dokumentiert, wie wir die Timeline anpassten und dabei Stakeholder-Vertrauen behielten.
Red Flags in Timelines#
Achte auf:
- Keine Puffer für Entdeckungen ("Woche 1: Implementiere alles")
- Keine allokierte Testzeit
- Dependencies auf andere Teams nicht berücksichtigt
- "Einfache Integration" mit externen Services (ist nie einfach)
Technical Considerations: Der Reality Check Abschnitt#
Dieser Abschnitt zeigt, ob die Autoren tatsächlich ähnliche Systeme gebaut haben oder nur gut darin sind, Blog Posts zu lesen.
Scalability, die zählt#
Der RFC wurde spezifisch über Scale:
### Performance Targets
- Notification Delivery: <100ms für In-App, <5s für E-Mail
- System Throughput: 10.000+ Notifications pro Sekunde
- Database Query Performance: <50ms für Preference Lookups
Das sind keine willkürlichen Zahlen. Sie leiten sich ab von:
- Aktueller User Base (10.000 Notifications/Sekunde = Peak Load × 3)
- User Experience Research (100ms fühlt sich instant an)
- Infrastructure Constraints (Database Connection Limits)
Was wir tatsächlich gemessen haben#
Sechs Monate in Production:
- P99 In-App Delivery: 87ms ✅
- P99 E-Mail Delivery: 3.2s ✅
- Peak Throughput: 7.800/Sekunde (ausreichend)
- Database Query P99: 124ms (benötigte Optimierung)
Der Analytics und Optimierung Post detailliert, wie wir diese Targets erreichten.
Security Considerations, die dich retten#
Gute RFCs adressieren:
- Authentication: "JWT Tokens mit 15-Minuten Expiry"
- Authorization: "Role-based Access mit granularen Permissions"
- Rate Limiting: "Per-User Limits mit exponential Backoff"
- Data Privacy: "PII Encryption at Rest, GDPR Compliance"
Wir hatten tatsächlich einen Security-Incident drei Monate später, als ein Kunde versuchte, unser Notification System für Spam zu nutzen. Die Rate Limiting Strategie aus dem RFC rettete uns davor, unwissentlich eine Spam-Plattform zu werden.
Testing Strategy: Jenseits von "Wir schreiben Tests"#
Testing-Abschnitte zeigen, ob Teams tatsächlich TDD praktizieren oder nur darüber reden.
Testing, das tatsächlich passierte#
### Load Tests
- High-Volume Notification Sending
- Concurrent User Connections
- Database Performance unter Load
- Queue Processing Capacity
Was das wertvoll machte:
- Spezifische Szenarien: Nicht nur "Load Testing", sondern was spezifisch
- Performance-Kriterien: Klare Pass/Fail-Bedingungen
- Tool-Auswahl: Wir nutzten K6 für Load Testing, wie vorgeschlagen
Testing-Lücken, die wir entdeckten#
Der RFC verpasste:
- Chaos Testing (wir hatten einen Redis Failure in Monat 2)
- Cross-Browser WebSocket Kompatibilität
- Mobile App Battery Impact von persistent Connections
- International Character Set Handling in Templates
Gute RFCs erkennen an, dass du nicht jedes Test-Szenario vorhersagen kannst, aber bieten ein Framework zur Entdeckung dessen, was du verpasst hast.
Monitoring & Analytics: Was du tatsächlich anschauen wirst#
Die meisten Monitoring-Abschnitte listen jede mögliche Metrik auf. Gute identifizieren die 3-5 Metriken, die tatsächlich die System-Gesundheit anzeigen.
Metriken, die zählten#
### Key Metrics
- Delivery Success Rate (Target: 99.9%)
- Delivery Time nach Channel
- User Engagement Rates
- Support Ticket Volume
Nach sechs Monaten schauten wir täglich auf genau diese vier Metriken. Alles andere war Rauschen, bis etwas kaputt ging.
Alert Fatigue ist real#
Der RFC schlug Alerting vor bei:
- Hohen Error Rates (> 5%)
- Delivery Delays (> 10s)
- System Resource Usage (> 80%)
Worauf wir jetzt tatsächlich alerten:
- Delivery Success Rate <99% (nicht 95%)
- E-Mail Delivery P99 > 30s (nicht 10s)
- Database Connection Pool Exhaustion (nicht CPU Usage)
Der Real-time Delivery Post erklärt, wie wir lernten, was tatsächlich Probleme anzeigt versus normale Varianz.
Cost Analysis: Die Budget-Realität#
Hier trifft Engineering auf Business. Gute Kosten-Abschnitte erkennen sowohl sofortige als auch laufende Kosten an.
Kosten, die wir vorhersagen konnten#
### Infrastructure Costs
- Database: $200-500/Monat
- Message Queue: $50-150/Monat
- Push Notification Services: $0.50 per 1000 Notifications
Diese waren einigermaßen akkurat, weil sie auf veröffentlichten Preisen basieren.
Kosten, die wir verpassten#
- CloudWatch Logs: $300/Monat (wir loggen alles)
- S3 für Notification Archive: $150/Monat
- Zusätzliche Database Read Replica: $400/Monat
- Engineering Time für Maintenance: 0.5 FTE ongoing
Die Gesamt-Monatskosten waren schließlich ~$1.800 versus die vom RFC implizierten $500-800. Immer noch lohnenswert, aber Stakeholder schätzen Ehrlichkeit über TCO.
ROI, der sich materialisierte#
Der RFC projizierte:
- 20-30% Reduktion in Support Tickets
- 5-15% Steigerung in User Retention
Tatsächliche Ergebnisse:
- 23% Reduktion in Support Tickets ✅
- 8% Steigerung in User Retention ✅
- Unerwarteter Gewinn: 40% schnellere Feature Adoption
Risks & Mitigation: Ehrliche Bewertung#
Die besten Risk-Abschnitte, die ich gesehen habe, geben zu, was die Autoren nicht wissen.
Risiken, die sich materialisierten#
Risk: Database Performance Degradation mit High Volume
Mitigation: Proper Indexing, Read Replicas, Query Optimization
Dieses Risiko materialisierte sich absolut. Bei 2 Millionen Notifications begannen unsere Queries zu timeout. Die vorgeschlagene Mitigation funktionierte, brauchte aber drei Wochen zur ordentlichen Implementierung.
Risiken, die wir nicht antizipierten#
- WebSocket Connection Limits in unserem Load Balancer
- Template Rendering Performance mit nested Conditionals
- Time Zone Edge Cases für scheduled Notifications
- Mobile Carriers blockierten unseren SMS Provider
Gute RFCs erkennen unknown unknowns an und bauen Flexibilität ein, um sie zu handhaben.
Success Criteria: Messbare Outcomes#
Dieser Abschnitt ist dein Vertrag mit Stakeholdern. Mach es messbar und realistisch.
Kriterien, die funktionierten#
### Technical Success
- 99.9% Notification Delivery Success Rate
- <100ms In-App Notification Delivery
- System verarbeitet 10.000+ Notifications pro Sekunde
Diese waren:
- Messbar: Spezifische Zahlen, nicht "fast" oder "zuverlässig"
- Erreichbar: Basierend auf ähnlichen Systemen, nicht Wunschdenken
- Relevant: Direkt mit User Experience verknüpft
Sich bewegende Goalposts#
Was sich nach Launch änderte:
- Success Rate Target zu 99.5% verschoben (99.9% war zu teuer)
- In-App Delivery auf 200ms entspannt (User konnten den Unterschied nicht spüren)
- Throughput Requirement auf 5.000/Sekunde gesenkt (tatsächliche Peak Load)
Der Schlüssel ist, zu dokumentieren, warum sich Kriterien änderten, und Stakeholder Buy-in für Anpassungen zu bekommen.
Die Reviews, die tatsächlich zählen#
Nach der Begutachtung von Hunderten RFCs ist hier, worum sich verschiedene Stakeholder tatsächlich kümmern:
Worauf VPs/Directors schauen#
- Executive Summary, die Business Value erklärt
- Cost Analysis mit klarem ROI
- Timeline mit Meilenstein-Deliverables
- Risk Section, die Komplexität nicht versteckt
Worauf Principal Engineers schauen#
- Technical Implementation, die tiefes Verständnis zeigt
- Scalability Considerations basierend auf tatsächlichen Metriken
- Alternative Approaches und warum sie verworfen wurden
- Integration Points mit bestehenden Systemen
Worauf Team Leads schauen#
- Implementation Phases, die Value iterativ liefern
- Testing Strategy, die tatsächlich ausführbar ist
- Success Criteria, hinter denen ihr Team stehen kann
- Monitoring Approach, der keine Alert Fatigue erzeugt
Worauf Security Teams schauen#
- Authentication/Authorization Approach
- Data Privacy Considerations
- Rate Limiting und Abuse Prevention
- Audit Trail Capabilities
Lessons von der Implementierung#
Sechs Monate nach der Implementierung des Notification Systems wünschte ich, der RFC hätte mehr betont:
Dokumentation ist Teil des Systems#
Der RFC wurde unsere primäre Dokumentation. Wir hätten ihn von Anfang an expliziter als lebende Dokumentation strukturieren sollen.
Migration Strategy zählt#
Der RFC fokussierte auf das neue System, erwähnte aber kaum die Migration vom alten. Migration nahm 40% unseres Gesamtaufwands ein.
Operational Runbooks retten Leben#
Der RFC hätte operative Runbooks enthalten oder vorgeschrieben haben sollen. Wir schrieben sie nach unserem ersten Production Incident.
Feature Flags sind dein Freund#
Der RFC erwähnte phased Rollout, betonte aber nicht Feature Flags. Sie retteten uns mehrfach, wenn Issues auftauchten.
Der RFC als lebendes Dokument#
Die besten RFCs, die ich gesehen habe, werden nach der Genehmigung nicht verlassen. Sie entwickeln sich zu:
- Architektur-Dokumentation
- Onboarding-Materialien für neue Team-Mitglieder
- Decision Logs für zukünftige Referenz
- Post-Mortem-Kontext, wenn Dinge schief gehen
Unser Notification System RFC hat 47 Commits post-approval, die jede signifikante Abweichung und jedes Learning dokumentieren.
Was RFCs tatsächlich nützlich macht#
Nach zwei Jahrzehnten des Lesens und Schreibens dieser Dokumente trennt dies nützliche RFCs von bürokratischen Übungen:
Schreibe für mehrere Zielgruppen#
Dein RFC hat mindestens vier Zielgruppen: Executives, Architekten, Implementierer und Operators. Strukturiere ihn so, dass jeder schnell findet, was er braucht.
Sei ehrlich über Unsicherheit#
Die besten RFCs, die ich gesehen habe, enthalten Abschnitte mit Titeln wie "Was wir noch nicht wissen" oder "Annahmen, die falsch sein könnten".
Schließe Escape Hatches ein#
Gute RFCs erklären nicht nur, wie man das System baut, sondern auch, wie man zurückrudert, wenn Dinge schief gehen. Das macht Genehmigungen paradoxerweise einfacher.
Mache Success messbar#
Vage Success-Kriterien führen zu endlosen Debatten. Spezifische Zahlen zwingen zu Klarheit darüber, was du tatsächlich erreichen willst.
Zeige deine Arbeit#
Schließe genug Detail ein, dass ein anderes Team dein Design implementieren könnte, aber nicht so viel, dass du Code in Prosa schreibst.
Der perfekte RFC existiert nicht#
Ich habe nie einen perfekten RFC gesehen, einschließlich der, die ich geschrieben habe. Der Notification System RFC, den wir sezierten, hatte bedeutende Lücken - er unterschätzte Komplexität, verpasste operationelle Belange und war optimistisch bei Timelines. Aber er war erfolgreich, wo es zählte: Er alignte Stakeholder, leitete die Implementierung und schuf ein Framework für Iteration.
Der beste RFC ist nicht der, der alles perfekt vorhersagt. Es ist der, der genug Struktur bietet, um mit dem Bauen zu beginnen, genug Flexibilität zum Anpassen und genug Ehrlichkeit, um Vertrauen zu erhalten, wenn die Realität unvermeidlich vom Plan abweicht.
Final Thoughts: Das RFC Paradox#
Hier ist etwas, das ich in mehreren Unternehmen beobachtet habe: Die Teams, die die besten RFCs schreiben, brauchen sie oft am wenigsten. Sie haben starke Kommunikation, klares Denken und gute Engineering-Praktiken. Der RFC ist nur eine Formalisierung dessen, was sie bereits gut machen.
Umgekehrt haben Teams, die mit RFCs kämpfen, oft tiefere Issues - unklare Anforderungen, konkurrierende Visionen oder technische Schulden, die jede Lösung komplex machen. Der RFC wird zu einer forcing function, um diese Issues anzugehen.
Der Notification System RFC war erfolgreich, nicht weil er perfekt war, sondern weil er wichtige Gespräche früh erzwang. Die Implementierung lief glatt, nicht weil der RFC alles vorhersagte, sondern weil er ein gemeinsames Verständnis davon schuf, was wir bauten und warum.
Das ist der wahre Wert eines guten RFCs: Es geht nicht darum, die perfekte Lösung zu dokumentieren, es geht darum, alle auf eine gut-genug-Lösung zu alignen und ein Framework zu bieten, um sie mit der Zeit besser zu machen.
Hast du RFCs geschrieben, die in Rekordzeit genehmigt wurden oder in der Review-Hölle schmachteten? Welche Patterns hast du in erfolgreicher technischer Dokumentation bemerkt? Ich würde gerne hören, was in deiner Erfahrung funktioniert hat (oder spektakulär gescheitert ist).
Kommentare (0)
An der Unterhaltung teilnehmen
Melde dich an, um deine Gedanken zu teilen und mit der Community zu interagieren
Noch keine Kommentare
Sei der erste, der deine Gedanken zu diesem Beitrag teilt!
Kommentare (0)
An der Unterhaltung teilnehmen
Melde dich an, um deine Gedanken zu teilen und mit der Community zu interagieren
Noch keine Kommentare
Sei der erste, der deine Gedanken zu diesem Beitrag teilt!