Was ist das Reifegradmodell für Engineering Excellence?

Entwicklerinnen und Entwickler wissen meist genau, wo die Codebasis Probleme macht. Schwieriger ist es, sich im Team darauf zu einigen, welche Probleme am wichtigsten sind und wie weit man mit ihrer Behebung schon ist. Beim Reifegradmodell für Engineering Excellence bewertet Ihr Team 12 Praktiken in vier Gruppen (Codequalität & Standards, Architektur & Skalierbarkeit, Management technischer Schulden sowie Zusammenarbeit & Befähigung im Engineering) auf einer fünfstufigen Skala von „Ad hoc“ bis „Optimiert“. Da jede Stufe beschrieben ist, werden aus vagen Eindrücken zur Qualität konkrete Aussagen: Code-Reviews, die zwar Fehler finden, aber kein Wissen verbreiten, oder technische Schulden, von denen alle wissen, die aber niemand nachverfolgt. Diese gemeinsame Sprache hilft Entwicklern und Führungskräften, sich darauf zu einigen, was zuerst verbessert werden sollte. Wenn Sie den Check regelmäßig durchführen, sehen Sie, ob Ihre Änderungen die Praktiken eine Stufe nach oben gebracht haben.

Abmessungen

Codequalität & Standards

Wie konsequent das Team sauberen, wartbaren und gut reviewten Code nach gemeinsamen Standards schreibt.

  • Einheitliche Coding-Standards

    Wie konsequent das Team gemeinsame Coding-Richtlinien anwendet.

    1. Ad hocDie Coding-Praktiken unterscheiden sich stark; gemeinsame Standards werden nicht befolgt.
    2. Im AufbauEs gibt einige Standards, sie werden aber uneinheitlich angewendet.
    3. DefiniertStandards sind dokumentiert und werden in der Regel befolgt.
    4. GesteuertStandards werden konsequent angewendet und regelmäßig überprüft.
    5. OptimiertEs gibt eine starke Kultur der Codequalität; Standards entwickeln sich durch Zusammenarbeit und Best Practices weiter.
  • Wartbarkeit des Codes

    Wie leicht sich Code lesen, verstehen, ändern und erweitern lässt.

    1. Ad hocDer Code ist schwer zu lesen, zu durchschauen oder wiederzuverwenden.
    2. Im AufbauEs gibt einige Verbesserungen, aber Probleme mit der Wartbarkeit bestehen fort.
    3. DefiniertDie Codebasis ist größtenteils verständlich und wartbar.
    4. GesteuertDer Code ist sauber, modular und berechenbar, gestützt durch etablierte Praktiken für Wartbarkeit.
    5. OptimiertWartbarkeit ist fester Bestandteil der Kultur; Teams verbessern und entwickeln Codestrukturen proaktiv weiter.
  • Qualität der Code-Reviews

    Wie wirksam Code-Reviews die Qualität und das Lernen im Team verbessern.

    1. Ad hocReviews finden selten, überhastet oder nur oberflächlich statt.
    2. Im AufbauReviews finden statt, unterscheiden sich aber stark in Tiefe und Nutzen.
    3. DefiniertReviews decken Probleme zuverlässig auf und verbessern die Qualität.
    4. GesteuertReviews sind konstruktiv und einheitlich und verbessern sowohl die Qualität als auch die Fähigkeiten im Team.
    5. OptimiertReviews sind kollaborativ, vermitteln viel Wissen und sind ein fester Bestandteil von Engineering Excellence.

Architektur & Skalierbarkeit

Wie klar das System aufgebaut ist und wie gut es skaliert, performt und technische Risiken beherrscht.

  • Klarheit der Architektur

    Wie gut die Systemarchitektur definiert, dokumentiert und verstanden ist.

    1. Ad hocDie Architektur ist unklar oder nicht dokumentiert.
    2. Im AufbauEs gibt etwas Dokumentation, sie ist aber unvollständig oder unklar.
    3. DefiniertDie Architektur ist dokumentiert und den meisten im Team bekannt.
    4. GesteuertDie Architektur leitet Entscheidungen und entwickelt sich durch strukturierte Zusammenarbeit weiter.
    5. OptimiertDie Architektur ist skalierbar und durchdacht und wird auf Basis von Erkenntnissen und Erfahrungen laufend verfeinert.
  • Skalierbarkeit & Robustheit

    Fähigkeit des Systems, Wachstum, Performance-Anforderungen und Zuverlässigkeitsansprüche zu bewältigen.

    1. Ad hocDas System gerät unter Last in Schwierigkeiten; Skalierung erfolgt ungeplant.
    2. Im AufbauEinige Komponenten skalieren, es bleiben aber Einschränkungen.
    3. DefiniertDas System bewältigt die übliche Last mit akzeptabler Performance.
    4. GesteuertDas System skaliert zuverlässig; die Performance wird aktiv überwacht und optimiert.
    5. OptimiertSkalierbarkeit ist eine Stärke; das System verkraftet Wachstum reibungslos und berechenbar.
  • Management technischer Risiken

    Wie wirksam technische Risiken erkannt, bewertet und gemindert werden.

    1. Ad hocRisiken zeigen sich spät und verursachen erhebliche Störungen.
    2. Im AufbauRisiken werden gelegentlich besprochen, aber nicht systematisch gemanagt.
    3. DefiniertRisiken werden bei der Planung erkannt und bei Bedarf angegangen.
    4. GesteuertEine strukturierte Risikobewertung ermöglicht proaktive Gegenmaßnahmen.
    5. OptimiertRisikomanagement ist in allen Engineering-Prozessen verankert und verhindert größere Probleme.

Management technischer Schulden

Wie sichtbar technische Schulden nachverfolgt und abgebaut werden und wie gut ihr Einfluss auf die Lieferung verstanden wird.

  • Sichtbarkeit der Schulden

    Wie technische Schulden erkannt, nachverfolgt und kommuniziert werden.

    1. Ad hocTechnische Schulden sind verborgen und werden nicht gemanagt.
    2. Im AufbauEs gibt ein gewisses Bewusstsein für Schulden, sie werden aber selten dokumentiert.
    3. DefiniertSchulden werden nachverfolgt und regelmäßig überprüft.
    4. GesteuertDas Schulden-Backlog ist priorisiert und fließt in die Planung ein.
    5. OptimiertSichtbarkeit und Vermeidung von Schulden sind zentrale Engineering-Praktiken.
  • Abbau technischer Schulden

    Wie wirksam das Team technische Schulden angeht und abbaut.

    1. Ad hocSchulden häufen sich an, ohne dass eingegriffen wird.
    2. Im AufbauSchulden werden besprochen, aber selten abgebaut.
    3. DefiniertSchulden werden angegangen, wenn es machbar ist.
    4. GesteuertSchulden werden proaktiv und als Teil der regulären Arbeit abgebaut.
    5. OptimiertDurch diszipliniertes Engineering und kontinuierliche Verbesserung hält das Team die Schulden minimal.
  • Bewusstsein für Auswirkungen

    Verständnis dafür, wie technische Schulden Geschwindigkeit, Qualität und Risiko beeinflussen.

    1. Ad hocDas Team bringt technische Schulden nicht mit Problemen bei der Lieferung in Verbindung.
    2. Im AufbauEin gewisses Bewusstsein ist vorhanden, es folgen aber kaum Maßnahmen.
    3. DefiniertDie Auswirkungen von Schulden sind bekannt und beeinflussen manche Entscheidungen.
    4. GesteuertDie Auswirkungen von Schulden leiten Planung und Priorisierung durchgängig.
    5. OptimiertEine ausgeprägte Kultur im Umgang mit Schulden verhindert deren Anhäufung und sichert eine nachhaltige Geschwindigkeit.

Zusammenarbeit & Befähigung im Engineering

Wie wirksam das Team Wissen teilt, Fähigkeiten verbreitet und Entwickler mit den Werkzeugen für hervorragende Arbeit ausstattet.

  • Wissensaustausch

    Wie wirksam Engineering-Wissen und Fachkenntnisse im Team geteilt werden.

    1. Ad hocWissen liegt in Silos; der Busfaktor ist hoch.
    2. Im AufbauWissen wird teilweise geteilt, aber uneinheitlich.
    3. DefiniertWissen wird über informelle oder strukturierte Kanäle geteilt.
    4. GesteuertWissen fließt reibungslos; das Onboarding ist effizient.
    5. OptimiertEine stark kollaborative Kultur mit kontinuierlichem Lernen und gemeinsamer Verantwortung.
  • Breite & Flexibilität der Fähigkeiten

    Die Fähigkeit des Teams, in verschiedenen Bereichen des Systems zu arbeiten.

    1. Ad hocAusgeprägte Silos führen zu Engpässen durch Abhängigkeiten.
    2. Im AufbauGelegentlich findet bereichsübergreifender Kompetenzaufbau statt.
    3. DefiniertDie Teammitglieder können die meisten Kernbereiche abdecken.
    4. GesteuertHohe Flexibilität; das Team passt sich schnell an wechselnde Arbeitslast an.
    5. OptimiertTiefe und breite Expertise im gesamten Team ermöglicht schnelle, belastbare Lieferung.
  • Befähigung der Entwickler

    Qualität der Werkzeuge, Prozesse und Umgebung, die die Produktivität der Entwickler unterstützen.

    1. Ad hocDie Werkzeuge sind veraltet oder uneinheitlich; es gibt viele Reibungsverluste.
    2. Im AufbauVerbesserungen laufen, es bestehen aber noch Lücken.
    3. DefiniertEntwickler haben zuverlässige Werkzeuge, die die grundlegenden Anforderungen erfüllen.
    4. GesteuertDie Werkzeuge sind schlank und effizient und werden laufend verbessert.
    5. OptimiertEine erstklassige Developer Experience ermöglicht schnelle und hochwertige Engineering-Arbeit.

Wann sollte dieser Gesundheitscheck durchgeführt werden?

  • Um eine Ausgangsbasis für die technische Reife Ihres Engineering-Teams in den Bereichen Code, Architektur und Zusammenarbeit festzulegen.
  • In quartalsweisen Retrospektiven oder Release-Retrospektiven, um zu verfolgen, wie sich die Engineering-Praktiken verändern.
  • Wenn eine neue Engineering-Führungskraft dazukommt und einen ehrlichen Überblick über aktuelle Stärken und Lücken braucht.
  • Bevor Sie in Werkzeuge, Refactoring oder Prozessänderungen investieren, um zu entscheiden, wo sich der Aufwand am meisten lohnt.
  • Wenn das Team wächst und Standards, Wissensaustausch und Architektur Schritt halten sollen.

Tipps und Tricks

  • Lassen Sie alle zuerst für sich bewerten und erst danach diskutieren, damit ehrliche Einschätzungen sichtbar werden, bevor sich Gruppendenken einstellt.
  • Verwenden Sie die meiste Zeit auf Dimensionen mit der größten Streuung der Bewertungen. Uneinigkeit zeigt oft, wo das System unterschiedlich wahrgenommen wird.
  • Verstehen Sie die Stufen als Entwicklungsschritte, nicht als Noten. Der Schritt von „Im Aufbau“ zu „Definiert“ ist echter Fortschritt, und das sollten Sie auch anerkennen.
  • Wählen Sie bis zum nächsten Check ein oder zwei Dimensionen zur Verbesserung aus, statt alles auf einmal verändern zu wollen.
  • Wiederholen Sie den Check in regelmäßigen Abständen, damit Fortschritte bei den Engineering-Praktiken sichtbar bleiben.

Häufig gestellte Fragen

Was ist der Engineering Excellence Health Check?
Es handelt sich um eine reifegradbasierte Bewertung Ihrer Engineering-Praktiken in den Bereichen Codequalität, Architektur und Skalierbarkeit, Management technischer Schulden sowie Zusammenarbeit. Jede der 12 Dimensionen wird auf fünf Stufen von „Ad hoc“ bis „Optimiert“ bewertet. So erhält das Team eine gemeinsame Sprache dafür, wo es steht.
Wie unterscheidet er sich von einem herkömmlichen Team Health Check?
Ein herkömmlicher Team Health Check erfasst, wie es den Menschen geht. Dieser hier bewertet, wie etabliert jede Praktik ist. Jede Bewertung entspricht einer beschriebenen Stufe, daher zeigen die Ergebnisse, was nötig wäre, um die nächste Stufe zu erreichen.
Wer sollte teilnehmen?
Entwicklerinnen und Entwickler, Tech Leads und Engineering Manager. Alle, die nah daran sind, wie der Code geschrieben, reviewt und gewartet wird, haben eine wertvolle Sicht.
Wie oft sollten wir ihn durchführen?
Die meisten Teams führen ihn quartalsweise oder zu größeren Releases durch. Ein regelmäßiger Rhythmus ermöglicht es, Trends zu verfolgen und zu prüfen, ob sich die Verbesserungsarbeit auszahlt.
Was bedeuten die Reifegradstufen?
Die Skala umfasst die Stufen Ad hoc, Im Aufbau, Definiert, Gesteuert und Optimiert. Niedrigere Stufen stehen für uneinheitliche oder reaktive Praktiken, höhere Stufen für einheitliche, proaktive Praktiken, die sich stetig verbessern.