I used Agile & Scrum to build my own app — Nutrify AI is FREE for all my students today! Try it on iOS →
German
PSM-1 Zertifizierung
scrum-implementation
Continuous Integration

Continuous Integration in Scrum: Der vollstandige Leitfaden 2025

Continuous Integration in Scrum - Vollstandiger LeitfadenContinuous Integration in Scrum - Vollstandiger Leitfaden

Scrum ist ein beliebtes Framework fuer agiles Projektmanagement, waehrend Continuous Integration (CI) eine Software-Entwicklungspraxis ist, die Codebasen gesund haelt, indem sie Code-Aenderungen automatisch zusammenfuehrt, baut und testet - mehrmals taeglich. Wenn diese beiden Konzepte kombiniert werden, liefern Teams schneller qualitativ hochwertige Software mit weit weniger Ueberraschungen am Sprint-Ende.

Der traditionelle Ansatz ist es, am Ende von Sprints ein inkrementelles Software zu veroeffentlichen. Die Einfuehrung von CI bietet die Flexibilitaet, haeufiger zu validieren und sogar zu veroeffentlichen, waehrend der Sprint-Rhythmus und die Scrum-Events respektiert werden.

DevOps mit ScrumDevOps mit Scrum

💡

Der Schluessel ist es, die Essenz von Scrum beizubehalten und gleichzeitig die Kraft von CI fuer schnellere, zuverlaessigere Softwarelieferung zu nutzen.

Schnellantwort: CI vs. CD vs. Continuous Deployment

PraxisWas sie tutAusloserMenschliches Gate?
Continuous Integration (CI)Fuehrt Code zusammen, baut und fuehrt automatisierte Tests bei jeder Code-Aenderung durchJeder Commit/PushNein - vollautomatisch
Continuous Delivery (CD)Erweitert CI durch Paketerstellung eines release-bereiten ArtefaktsNach CI-BestehenJa - manuelle Release-Entscheidung
Continuous DeploymentDeployt automatisch jeden bestandenen Build in die ProduktionNach CI/CD-BestehenNein - vollautomatisch in Produktion

Die meisten Scrum-Teams praktizieren CI plus Continuous Delivery und halten die Release-Entscheidung beim Product Owner, waehrend alles andere automatisiert wird.

Was Sie in diesem Leitfaden lernen werden

  • Die Kernmechanik einer CI-Pipeline und wie man ihre Ausgabe liest
  • Wie CI direkt auf Sprint Planning, Daily Scrum, Sprint Review und Sprint Retrospektive abbildet
  • Wichtige CI-Metriken, die jedes Scrum-Team verfolgen sollte (Build-Frequenz, Fehlerrate, MTTR)
  • Branchenspezifische CI-Checklisten fuer Gesundheitswesen, FinTech, E-Commerce und mehr
  • Ein dreistufiges CI-Reifegradmodell zur Benchmark-Setzung Ihres Teams
  • Die acht haeufigsten CI-Anti-Patterns und wie man sie behebt
  • Feature Toggles und Trunk-Based Development als CI-Enabler

Was ist Continuous Integration?

Continuous Integration (CI) ist eine Software-Entwicklungspraxis, bei der jeder Entwickler seine Code-Aenderungen mehrmals taeglich in ein gemeinsames Repository zusammenfuehrt. Jeder Merge loest eine automatisierte Pipeline aus, die die Software baut und eine Suite von Tests ausfuehrt.

Continuous Integration in Scrum verstehenContinuous Integration in Scrum verstehen

Die drei nicht verhandelbaren Regeln von CI sind:

  1. Haeufig committen - mindestens einmal pro Tag, idealerweise mehrmals
  2. Automatisch bauen - jeder Commit loest einen Build aus, keine Ausnahmen
  3. Defekte Builds sofort beheben - ein defekter Build ist die hoechste Prioritaet des Teams, bis er besteht

CI geht grundlegend darum, die Integrationskosten zu reduzieren. Wenn Entwickler tage- oder wochenlang isoliert arbeiten, wird das Zusammenfuehren ihrer Arbeit teuer, risikoreich und langsam. CI haelt diese Kosten nahezu auf null, indem es kontinuierlich integriert.

💡

Die Idee ist, kontinuierlich Fortschritte zu machen und diese Aenderungen so frueh und so haeufig wie moeglich zu testen. Integrationsschmerz ist ein nachgelagerter Indikator - CI transformiert ihn in ein sofortiges, preiswertes Signal.


Die Anatomie einer CI-Pipeline

Eine CI-Pipeline ist eine Abfolge automatisierter Schritte, die bei jeder Code-Aenderung ausgefuehrt werden.

StufeWas passiertTypische Dauer
SourceCode wird in das gemeinsame Repo gepusht/gemergtSekunden
BuildCompiler oder Build-Tool erstellt ein Artefakt1-5 Minuten
Unit-TestsSchnelle, isolierte Tests pruefen einzelne Funktionen1-10 Minuten
Statische AnalyseLinting, Code-Stil und Security-Scanning1-3 Minuten
IntegrationstestsTests, die Komponenteninteraktionen pruefen5-20 Minuten
PackageArtefakt wird versioniert und gespeichert1-2 Minuten
BenachrichtigenBestehen/Scheitern-Ergebnis wird an Team-Kanal gepostetSekunden

Pipeline-Design-Prinzipien:

  • Fail fast - fuehren Sie die schnellsten Pruefungen zuerst durch, damit Entwickler in unter 10 Minuten Feedback erhalten
  • Parallelisieren - fuehren Sie unabhaengige Stufen gleichzeitig aus, um die Gesamtzeit zu reduzieren
  • Abhaengigkeiten cachen - vermeiden Sie das erneute Herunterladen von Paketen bei jedem Durchlauf
  • Im Gruenen halten - eine dauerhaft rote Pipeline ist schlimmer als gar keine Pipeline

Vorteile von Continuous Integration in Scrum

Die Implementierung von Continuous Integration innerhalb eines Scrum-Teams liefert im Laufe der Zeit sich verstarkende Vorteile:

  • Reduzierte Integrationskonflikte - durch haeufige Integration von Code-Aenderungen sinkt die Wahrscheinlichkeit von Merge-Konflikten dramatisch
  • Schnelleres Feedback - automatisierte Tests liefern Ergebnisse in Minuten, nicht Tagen
  • Verbesserte Codequalitaet - regelmaessige Integration mit automatisierten Tests erkennt Regressionen fruehzeitig
  • Erhoehte Zusammenarbeit - CI schafft gemeinsame Transparenz ueber den Zustand der Codebasis
  • Verbesserte Anpassungsfaehigkeit - da die Codebasis immer in einem freigabebereiten Zustand ist, kann das Entwicklungsteam auf sich aendernde Anforderungen reagieren
  • Sprint-Vorhersagbarkeit - Teams mit starker CI beenden Sprints konsistenter
  • Unterstuetzt Fertigstellung - CI automatisiert Qualitaets-Gates, die Teil der Definition of Done sind

CI und Scrum-Events: Wie sie integrieren

Sprint Planning

Beim Sprint Planning verbessern CI-Daten die Prognose:

  • Build-Dauer-Trend - wenn Builds langsamer werden, berucksichtigen Sie Pipeline-Wartungsarbeit
  • Flakige Test-Rate - unzuverlassige Tests verbrauchen Kapazitat; planen Sie Zeit zur Behebung ein
  • Technische Schulden - Infrastrukturverbesserungen zur CI-Gesunderhaltung gehoeren in den Sprint Backlog
  • Pipeline-Faehigkeit - wenn ein neues Feature neue Test-Infrastruktur erfordert, planen Sie diese Arbeit explizit

Daily Scrum

Der Daily Scrum sollte das CI-Dashboard referenzieren:

  • Ein defekter Build vom gestrigen Commit steht ganz oben auf der Tagesordnung
  • Das Team bespricht Pipeline-Ausfaelle, die den Fortschritt blockieren
  • "Ist der Build gruen?" wird eine standardmaessige taegliche Frage
  • Flakige Tests werden notiert und zur Behebung zugewiesen

Sprint Review

Beim Sprint Review gibt CI den Stakeholdern Vertrauen:

  • Nur Arbeit, die alle CI-Gates bestanden hat, kann demonstriert werden
  • Teams koennen das Pipeline-Dashboard als Beweis fuer automatisierte Qualitaetspruefungen zeigen
  • Die Bereitstellung in der Staging-Umgebung wird durch CI ausgeloest

Sprint Retrospektive

Sprint Retrospektiven sind ideal zur Inspektion der CI-Gesundheit:

  • Ueberpruefung der Build-Fehlerrate fuer den Sprint
  • Identifizierung der langsamsten Pipeline-Stufen und Planung von Verbesserungen
  • Diskussion flakiger Tests, die das Vertrauen untergraben haben
  • Festlegung eines konkreten CI-Verbesserungsziels fuer den naechsten Sprint

CI-Metriken und KPIs fuer jedes Scrum-Team

MetrikDefinitionGesundes Ziel
Build-FrequenzAnzahl der Builds pro Tag im gesamten Team5+ Builds pro Entwickler pro Tag
Build-ErfolgsrateProzentsatz der Builds, die bestehen>90% (Ziel: >95%)
Build-DauerZeit von Commit bis gruenes/rotes Ergebnis<10 Minuten fuer Feedback-Loop
MTTRDurchschnittliche Zeit von Ausfall bis zum naechsten gruenen Build<60 Minuten

CI in Ihrer Scrum-Praxis implementieren

Schritt 1 - Versionskontroll-Fundament: Verwenden Sie Git als Versionskontrollsystem. Etablieren Sie eine Branching-Strategie - Trunk-Based Development wird fuer CI stark empfohlen. Schuetzen Sie den Hauptzweig mit CI-Status-Checks.

Schritt 2 - Build und Test automatisieren: Richten Sie automatisierte Build- und Test-Pipelines ein. Gaengige CI-Plattformen: GitHub Actions, GitLab CI, Jenkins, Azure DevOps. Fuehren Sie Unit-Tests aus, die in weniger als einer Sekunde laufen, sowie Integrationstests und E2E-Tests fuer kritische Benutzer-Journeys.

Schritt 3 - Merge-Frequenz etablieren: Der haeufigste CI-Misserfolg ist nicht technisch - er ist verhaltensbedingt. Entwickler, die einmal pro Woche mergen, praktizieren kein CI, unabhaengig von ihren Tools. Committen Sie mindestens einmal pro Tag, idealerweise mehrmals.

Schritt 4 - Ausfaelle sichtbar machen: Posten Sie Build-Ergebnisse in Echtzeit an den Team-Kanal. Verwenden Sie ein physisches Build-Radiator-Display. Konfigurieren Sie E-Mail-Benachrichtigungen fuer den spezifischen Entwickler, dessen Commit den Build gebrochen hat.

Schritt 5 - Trunk-Based Development und Feature Toggles: Trunk-Based Development ist das Branching-Modell, das am besten mit CI kompatibel ist. Feature Toggles machen Trunk-Based Development fuer grosse Features praktisch - unvollstaendige Features werden in einem Toggle verpackt, gemergt, aber fuer Benutzer nicht sichtbar.


CI und die Definition of Done

CI ist eines der maechtigsten Werkzeuge, um die Definition of Done objektiv und nicht verhandelbar zu machen.

Empfohlene CI-Gates fuer eine starke Definition of Done:

  • Alle Unit-Tests bestehen (keine Fehler, keine ueberspringungen ohne Begrundung)
  • Testabdeckung bleibt ueber dem vereinbarten Schwellenwert (typischerweise >80%)
  • Keine neuen kritischen oder hohen Sicherheitsschwachstellen
  • Code-Stil- und Linting-Pruefungen bestehen
  • Build-Artefakt wird erfolgreich erstellt und gespeichert
  • Integrationstests bestehen in einer sauberen Umgebung
⚠️

Eine Definition of Done, die nicht automatisch verifiziert werden kann, ist eine Definition of Done, die inkonsistent angewendet wird. CI ist der Durchsetzungsmechanismus, der Done real macht.


Branchenspezifische CI-Checklisten

SaaS und Cloud-Services

  • Unit-Tests bestehen mit >80% Abdeckung
  • Integrationstests bestehen gegen eine saubere Datenbank
  • Docker/Container-Image gebaut und auf Schwachstellen gescannt
  • Infrastructure-as-Code (Terraform/Pulumi) gelinted und validiert
  • Performance-Benchmarks mit Baseline verglichen
  • Feature-Toggle-Konfiguration validiert
  • Automatisch in Staging-Umgebung deployt

Gesundheitswesen

  • Alle Tests bestehen (doppelte Pruefung fuer PHI-verarbeitende Code-Pfade)
  • HIPAA-Compliance-Checkliste als Teil der Pipeline ausgefuehrt
  • PHI-Datenverschlusselung verifiziert (im Ruhezustand und bei der Ubertragung)
  • Audit-Logging getestet und verifiziert fuer alle PHI-Zugriffsereignisse
  • Rollenbasierte Zugriffskontrollen mit MFA-Szenarien getestet
  • Security-Vulnerability-Scan bestanden (keine kritischen/hohen Befunde)

Finanzdienstleistungen

  • Alle Tests bestehen, einschliesslich Betrugserkennungsregel-Validierung
  • PCI-DSS-Kontrolltests bestehen
  • SOC 2-Kontrollnachweise von der Pipeline gesammelt und gespeichert
  • Verschlusselungsstandards verifiziert (AES-256, TLS 1.2+)
  • Sicherheitsscan bestanden (keine kritischen Befunde in Zahlungsablaeufen)

E-Commerce

  • Alle Tests bestehen, einschliesslich Warenkorb- und Checkout-Ablaeufe
  • Zahlungsgateway-Integrationstests bestanden (Stripe, PayPal Sandbox)
  • Performance-Tests - Seitenladezeit unter 3 Sekunden bei 1000 gleichzeitigen Nutzern
  • Mobile-Responsiveness-Tests bestanden
  • Bestandsverwaltungs-Integrationstests bestanden

Mobile Apps

  • Unit- und Integrationstests bestanden
  • UI-Tests bestanden auf Minimum-unterstuetzten OS-Versionen
  • App-Store-Compliance-Pruefungen (keine privaten APIs)
  • Batterie- und Speicher-Profiling innerhalb akzeptabler Schwellenwerte
  • Offline-Modus-Funktionalitat getestet
  • Zugangslichkeits-Tests bestanden (VoiceOver/TalkBack)

Enterprise DevOps

  • Alle Tests bestanden, einschliesslich Infrastruktur-Smoke-Tests
  • Infrastructure-as-Code gelinted und Plan validiert
  • Security-Scanning abgeschlossen (SAST, DAST, Abhaengigkeits-Schwachstellen)
  • Container-Image-Scanning bestanden (keine kritischen CVEs)
  • Rollback-Verfahren getestet und in der Pipeline dokumentiert
  • Observabilitaets-Konfiguration validiert (Dashboards, Alerts, Traces)

CI-Reifegradmodell fuer Scrum-Teams

Stufe 1 - Grundlegendes CI

Zeitrahmen: Sprints 1-6 (neue Teams oder Teams, die mit CI von Grund auf beginnen)

Merkmale:

  • Versionskontrolle in Verwendung, aber Branching-Strategie ist informell
  • Manuelle Builds, die von einem Entwickler ausgeloest werden
  • Einige automatisierte Tests vorhanden, aber nicht durchgesetzt
  • Build-Ausfaelle werden irgendwann bemerkt, aber nicht dringend behandelt

Typische Metriken:

  • Build-Frequenz: 1-3 pro Tag fuer das gesamte Team
  • Build-Erfolgsrate: 60-80%
  • Build-Dauer: Unvorhersehbar, oft >20 Minuten
  • MTTR: Mehrere Stunden bis Tage

Stufe 2 - Intermediales CI

Zeitrahmen: Sprints 7-15

Merkmale:

  • CI-Plattform laeuft bei jedem Commit auf Main
  • Unit- und Integrationstests automatisiert
  • Builds durch Merge-Anforderungen geschuetzt
  • Build-Ausfaelle werden am selben Tag behoben
  • Team diskutiert CI-Gesundheit in Retrospektiven

Typische Metriken:

  • Build-Frequenz: 10-20 pro Tag fuer das Team
  • Build-Erfolgsrate: 80-90%
  • Build-Dauer: 5-15 Minuten
  • MTTR: <2 Stunden

Stufe 3 - Erweitertes CI

Zeitrahmen: Sprint 16+

Merkmale:

  • Trunk-Based Development mit Feature Toggles
  • Umfassende Test-Automatisierung (>80% Abdeckung)
  • Sicherheits-, Performance- und Zugangslichkeits-Tests automatisiert
  • Builds in unter 10 Minuten abgeschlossen
  • Build-Ausfaelle werden als Produktionsvorfalle behandelt
  • CI-Gates setzen die vollstaendige Definition of Done durch

Typische Metriken:

  • Build-Frequenz: 5+ pro Entwickler pro Tag
  • Build-Erfolgsrate: >95%
  • Build-Dauer: <10 Minuten
  • MTTR: <30 Minuten

8 haufige CI-Anti-Patterns und wie man sie behebt

Anti-Pattern 1: Der Nightly Build

Problem: Das Team fuehrt Builds einmal nachts aus, statt bei jedem Commit.

Warum es problematisch ist: Fehler akkumulieren sich den ganzen Tag und werden teuer zu diagnostizieren. Entwickler erhalten Feedback 12+ Stunden nach dem Schreiben des Codes.

Behebung: Konfigurieren Sie die CI-Plattform so, dass sie bei jedem Push ausgeloest wird. Beginnen Sie mit dem Hauptzweig, falls die Kapazitat begrenzt ist.


Anti-Pattern 2: Den roten Build ignorieren

Problem: Das CI-Dashboard ist seit Tagen rot und das Team arbeitet drum herum.

Warum es problematisch ist: Ein defekter Build bedeutet, dass das Team kein zuverlaessiges Signal hat. Neue Ausfaelle sind unsichtbar.

Behebung: Stoppen Sie alle Feature-Arbeiten, bis der Build gruen ist. Weisen Sie die Build-Behebung einem Entwickler mit voller Teamunterstutzung zu.


Anti-Pattern 3: Der riesige Feature-Branch

Problem: Entwickler arbeiten wochenlang an separaten langlebigen Branches.

Warum es problematisch ist: Langlebige Branches machen CI bedeutungslos. Der Merge selbst wird ein mehrtaegiges Integrationsereignis.

Behebung: Adoptieren Sie Trunk-Based Development. Teilen Sie grosse Features in vertikale Scheiben auf. Verwenden Sie Feature Toggles, um unvollstaendige Funktionalitaet zu verbergen.


Anti-Pattern 4: Slow Pipeline Syndrome

Problem: Die CI-Pipeline benoetigt 45+ Minuten.

Warum es problematisch ist: Entwickler hoeren auf, auf Ergebnisse zu warten, umgehen das Feedback und beginnen die naechste Aufgabe.

Behebung: Profilieren Sie die Pipeline, um die langsamsten Stufen zu finden. Parallelisieren Sie unabhaengige Test-Suites. Verschieben Sie langsame E2E-Tests in einen naechstlichen Lauf.


Anti-Pattern 5: Flakige Test-Toleranz

Problem: Das Team akzeptiert eine Test-Suite, bei der 10-15% der Tests inkonsistente Ergebnisse produzieren.

Warum es problematisch ist: Flakige Tests untergraben das Vertrauen in die Pipeline.

Behebung: Verfolgen Sie die flakige Test-Rate als Metrik. Jeder Test, der ohne Code-Aenderung fehlschlaegt, wird sofort repariert.


Anti-Pattern 6: Test-Coverage-Theater

Problem: Das Team berichtet 80% Testabdeckung, aber kritische Geschaeftslogik hat nur 20% Abdeckung.

Warum es problematisch ist: Rohe Coverage-Zahlen sind irrefuehrend. Das Team hat falsches Vertrauen in seine Test-Suite.

Behebung: Verwenden Sie Coverage-Berichte, um nicht abgedeckte kritische Pfade zu identifizieren. Fuegen Sie Mutations-Tests hinzu, um die Test-Qualitaet zu verifizieren.


Anti-Pattern 7: Security-Scanning als Nachgedanke

Problem: Security-Scans laufen nur vor grossen Releases, nicht bei jedem Build.

Warum es problematisch ist: Schwachstellen akkumulieren sich ueber Monate.

Behebung: Fuegen Sie Abhaengigkeits-Schwachstellen-Scanning zu jedem Build hinzu. Blockieren Sie Merges, wenn kritische Schwachstellen erkannt werden.


Anti-Pattern 8: Environment Drift

Problem: CI-, Staging- und Produktionsumgebung sind unterschiedlich konfiguriert.

Warum es problematisch ist: CI-Testergebnisse koennen nicht als Produktionsvertrauen eingesetzt werden. Deployments tragen verstecktes Risiko.

Behebung: Verwenden Sie Infrastructure-as-Code fuer alle Umgebungen. Verwenden Sie Container (Docker) fuer identische Laufzeitumgebungen.


Eine Kultur der Continuous Integration kultivieren

Technische Implementierung allein macht CI nicht erfolgreich. Die Praktiken und Kultur rund um CI bestimmen, ob es seinen vollen Wert liefert.

  • Haeufig integrieren: Haeufige Integration fuehrt zu schnellerer Problemidentifikation und weniger Nacharbeit am Sprint-Ende.

  • Integrationsergebnisse sichtbar machen: Wenn die Integration fehlschlaegt, muss es fuer alle im Team sichtbar sein. Ein defektes Build-Board-Display schafft gesunde Dringlichkeit.

  • Behebung fehlgeschlagener Integrationen priorisieren: Wenn ein Build bricht, wird es die hoechste Prioritaet des Teams - vor der neuen Feature-Entwicklung.

  • Unterstuetzende Software-Engineering-Praktiken anwenden: CI ist am effektivsten in Kombination mit Test-Driven Development (TDD), modularer Architektur, Infrastructure-as-Code, Pair Programming und Code-Reviews.


Fazit

Continuous Integration ist nicht nur ein DevOps-Tool - es ist eine Kernpraxis, die Scrum-Teams dabei hilft, jedes Sprint potenziell freigabebereite Increments mit Vertrauen zu liefern.

Durch die Integration von Code mehrmals taeglich, die Automatisierung von Build- und Testausfuehrung und die Behandlung defekter Builds als dringende Team-Ereignisse eliminieren Scrum-Teams das Integrationsrisiko, das sich traditionell waehrend eines Sprints ansammelt.

Fangen Sie einfach an, verbessern Sie kontinuierlich:

  1. Wenn Sie heute kein CI haben: Richten Sie automatisierte Builds bei jedem Commit in diesem Sprint ein
  2. Wenn Sie CI haben, es aber langsam ist: Profilieren und parallelisieren Sie auf unter 10 Minuten
  3. Wenn Ihr CI schnell ist: Fuegen Sie Security-Scanning hinzu und machen Sie es zu einem Definition of Done Gate
  4. Wenn Ihr CI Done durchsetzt: Adoptieren Sie Trunk-Based Development mit Feature Toggles

Quiz über Continuous Integration

Ihre Punktzahl: 0/15

Frage: Was sind die drei nicht verhandelbaren Regeln von Continuous Integration, die im Artikel beschrieben werden?

Weiterlesen

Häufig gestellte Fragen (FAQs)

Wie unterscheidet sich Continuous Integration von Continuous Delivery und Continuous Deployment?

Kann ein Scrum-Team CI erfolgreich einfuehren ohne einen dedizierten DevOps-Ingenieur?

Wie sollte ein Scrum Master das Team bei der Einfuehrung von Continuous Integration unterstuetzen?

Wie gehen remote und verteilte Scrum-Teams mit den kulturellen Aspekten von CI um?

Was ist die Beziehung zwischen technischen Schulden und der Wartung von CI-Pipelines?

Wie interagiert CI mit Compliance-Anforderungen in regulierten Branchen wie Gesundheitswesen und Finanzen?

Wie sollte ein Scrum-Team vorgehen, wenn die CI-Pipeline 45+ Minuten pro Build benoetigt?

Was ist Trunk-Based Development und warum gilt es als optimale Branching-Strategie fuer CI?

Wie kann ein Scrum-Team den Return on Investment der Implementierung von Continuous Integration messen?

Wie unterstuetzt CI psychologische Sicherheit innerhalb eines Scrum-Teams?

Wie beeinflusst die Organisationsgroesse die Strukturierung von Continuous Integration?

Was sollte ein Scrum-Team tun, wenn im CI-Security-Scan eine Abhaengigkeits-Schwachstelle entdeckt wird?

Wie steht Continuous Integration in Beziehung zum Prinzip des Agilen Manifests, haeufig funktionierende Software zu liefern?

Wie sollte ein Product Owner mit den CI-Praktiken des Teams interagieren?

Was sind die haeufigsten CI-Tool-Optionen fuer Scrum-Teams und wie sollte ein Team eine auswaehlen?