Technical Coaching: Team-Empowerment für ein exzellentes Software-Engineering

Konstante Lieferfähigkeit, kurze Entwicklungszeiten, überzeugende Produktqualität – dafür steht Engineering in der Softwareentwicklung. Unser Technical Coaching vermittelt Fähigkeiten, Methoden und Mindset und hilft dadurch Entwicklungsteams, das eigene Potential zu heben und von innen heraus auszubauen.

Technical Coaching ist nicht einfach eine Schulung oder ein Workshop. Es ist der Weg, um Können im eigenen Haus auszubauen und zu halten. Weil das die Geschwindigkeit und Flexibilität sichert, die Sie selbst bestimmen.

Entwicklungsteams empowern

Die Innovations- und damit die Wettbewerbsfähigkeit sind eine Frage der Geschwindigkeit. Gleichzeitig ist exzellente Software-Engineering-Qualität unabdingbar, denn technische Mängel machen langsam. Die Kombination von Schnelligkeit und Qualität kann man nicht einfach einkaufen. Weder mit guten Einzelkämpfer*innen, noch mit der kompletten Auslagerung der Entwicklung. Denn beides schafft nur Abhängigkeiten.

Deshalb zielt Empowerment darauf ab, Engineering Practices und Software Crafting dauerhaft zu etablieren. Im eigenen Haus, in den eigenen Teams.

Technical Coaching heißt, das Entwicklungsteam zu empowern: Das Team da abzuholen und es auf den Stand zu bringen, den es gerne hätte.

Unsere Angebote zum Technical Coaching

AgileTech Boost – Individuelle Erste Hilfe von Expert*innen

Der perfekte Einstieg, um mit unseren erfahrenen Coaches die technische Seite Ihrer Agilität auf die nächste Ebene zu heben. Für mehr Effizienz und Qualität in Ihren Softwareprodukten!

Moderierte Coding Dojos

Eine Ensemble Programming Session für die "hands on" Vermittlung der Clean Code Prinzipien

Liefergeschwindigkeit: Ihr strategischer Vorteil im Markt

Die Einführung von Agile Engineering Practices minimiert Risiken und schafft Freiräume für neue Ideen

Clean Code

Code wird viel häufiger gelesen als geschrieben. Clean Code Standards helfen, Quellcode so zu erstellen, dass er intuitiv verständlich ist. Das ist er dann, wenn sich sein Inhalt schnell und mit wenig Aufwand erschließt.

  • bessere Wartbarkeit
  • weniger Fehler im Code
  • bessere Wartbarkeit

Pair Programming

Beim Pair Programming arbeiten jeweils zwei Entwickler*innen an einem Arbeitsplatz. Einer schreibt den Code, der andere behält dabei die Gesamtaufgabe im Blick und spricht Probleme direkt an. Nach einiger Zeit wechseln beide.

  • besseres Code-Design
  • direkter Wissens-Transfer
  • schneller Einstieg neuer Entwickler*innen

Test Driven Development

Testgetrieben zu entwickeln bedeutet, zuerst zu überlegen, wann die Tests der gewünschten Komponente fehlschlagen würden. Denn das definiert, was die Komponente können soll. Außerdem ist dann sicher, dass die Tests das Richtige testen.

  • Anforderungen werden besser verstanden
  • Hohe Testabdeckung schafft Sicherheit für Veränderungen

Refactoring

Refactoring beschreibt, die Struktur eines Quelltextes zu verbessern, ohne damit auch das Verhalten der Software zu verändern. Das Ziel besteht darin, den Code verständlicher zu machen und es zu erleichtern, ihn zu warten und zu erweitern.

  • hebt die Implementierung auf den aktuellen Wissensstand

Continuous Integration (CI)

CI ist ein Prozess in der Softwarenentwicklung, bei dem die Entwickler*innen neu geschriebenen Code kontinuierlich zur Codebasis hinzufügen. Automatisierte Tests des Builds helfen, eventuelle Integrationsprobleme früh zu erkennen und zu beheben.

  • Transparenz über den Ist-Zustand
  • Tests statt Annahmen
  • "Fail fast": Inkompatibilitäten werden frühzeitig erkannt

Continuous Delivery (CD)

Continuous Delivery besagt, dass die Qualitätssicherung und Deployment automatisiert sind. Beides zusammen ermöglicht, regelmäßig „per Knopfdruck“ in Produktion zu liefern.

  • häufige Lieferung - häufiges Feedback
  • Kurze time-to-market
  • Automatisierung schafft Freiraum für neue Funktionalitäten

Agile Engineering Practices helfen, unabhängig vom Vorgehensmodell eine dauerhafte Lieferfähigkeit herzustellen!

FAQs zum Technical Coaching

Die Digitale Transformation nimmt massiven Einfluss auf Geschäftsmodelle, bestehende wie neue. Das setzt Unternehmen unter nie dagewesenen Innovationsdruck: Sie müssen in der Lage sein, Innovationen zu erschaffen, schnell auf den Markt zu bringen und zu adaptieren.
Viele Organisationen haben bei der Digitalen Transformation die Anforderungen im Fokus, die z.B.im Hinblick auf Governance, Risk & Compliance - und damit an die Sicherheit - resultieren.
Dabei stehen auch die IT Abteilungen vor neuen, komplexen Anforderungen: Wenn Innovationsfähigkeit eine Frage der Geschwindigkeit ist, dann muss die IT Organisation äusserst schnell darin sein, zu liefern. Nicht irgendwas, sondern zumindest in sich geschlossene Teilstücke und dann, möglichst schnell, ein fertiges Produkt. Genauer gesagt "das" fertige Produkt, das die Kunden haben möchten.
Diese Lieferfähigkeit hängt direkt ab von der Softwarequalität, für die zwei Bedingungen erfüllt sein müssen: Ein exzellentes Handwerk in der Softwareentwicklung und eine dazu passende Engineering-Kultur. Ein Technical Coach kann genau diese Fähigkeiten, Methoden und das dazugehörige Mindset vermitteln.

Scrum Master sind dafür verantwortlich, Scrum einzuführen und das Team in die Lage zu versetzen, die Scrum Praktiken effektiv zu verwenden. Dabei ist Scrum das Rahmenwerk, nach dem sich das Team organisiert. Scrum Master in der IT verfügen über ein tiefes Verständnis der handwerklichen Fähigkeiten, die ein Team zum Entwickeln hervorragender Software braucht. Software Crafting ist jedoch kein Bestandteil von Scrum und auch nicht der Schwerpunkt der Tätigkeit eines Scrum Masters.

Ein Technischer Coach hat definitiv jahrelang als Softwareentwickler*in gearbeitet und sich selbst direkt mit Softwarequalität und Clean Code befasst. Er oder sie kann deren Bedeutung aus eigener Erfahrung heraus argumentativ vertreten. Außerdem kann ein Technical Coach dem Team die Fähigkeiten in der jeweiligen Technologie vermitteln.

Agile Coaches können auf der Team- und auf der Organisationsebene arbeiten, in beiden Fällen liegt der Schwerpunkt ihrer Aktivitäten auf den agilen Methoden und Praktiken. Wenn man die beiden möglichen Übersetzungen des Begriffs "empowern" berücksichtigt, befähigen und bevollmächtigen, dann fokussieren sie sich auf das Bevollmächtigen und die Befähigung im Hinblick auf die organisatorischen Rahmenbedingungen. Die Grundlage der Agilität ist der Dreiklang aus

  • Transparenz
  • Inspektion
  • Adaption

Es gibt nur einen objektiven Weg, Transparenz zu erlangen: Über ein "done increment", ein in sich fertiges Teilstück. Dieses Teilstück können die Nutzer*innen sichten und Feedback geben, das dann in die Weiterentwicklung einfließt. Das ist der große Vorteil der Agilität: Sie schafft die Sicherheit, das Produkt zu liefern, das die Kunden wirklich wollen. Auch dann noch, wenn sich die Wünsche kurzfristig ändern.

Allerdings kann ein Team nicht iterativ & inkrementell arbeiten, wenn es aufgrund mangelnder Code-Qualität nicht in der Lage ist, in kurzen Abständen zu liefern. Ohne Lieferfähigkeit gibt es keine Transparenz, kein schnelles Feedback, keine Anpassung an veränderte Rahmenbedingungen.

Deshalb setzen Technical Coaches beim Befähigen im Hinblick auf Engineering Skills an. Dabei reichen Entscheidungen, die Auswirkungen auf die Code Qualität haben, regelmäßig über Teamgrenzen hinaus. Es sind generelle strategische Fragen, welchen technischen Lösungen, Weiterbildungen und Reifegraden der Vorzug gegeben wird. Technical Coaches verfügen über die technische Expertise, bei solchen Entscheidungen fundiert zu beraten.

Das hängt von der jeweiligen Beauftragung ab. Technical Coaches können in in Querschnittsfunktion über Teams verteilt arbeiten, brauchen dazu aber im Team selbst schon eine ausreichende Anzahl an Teammitgliedern mit den passenden Skills, sozusagen eine kritische Masse. Sie können auch das Team empowern und durch direktes Coaching die entscheidenden Fähigkeiten weitergeben. Diese Art des persönlichen, unmittelbaren Wissenstransfers ist außerordentlich effektiv, weil sie die entsprechenden Techniken direkt im realen Projekt einsetzt - also dort, wo sie gebraucht werden.

Die Agile Transformation bedeutet letztendlich, eine neue Organisationsform zu entwickeln, die z.B. eine bessere Anpassungsfähigkeit hat und eine unmittelbarere Kundenorientierung erlaubt. Dieser Prozess ist komplex und dauert häufig mehrere Jahre. Um in dem Zusammenspiel von Unternehmenskultur, Agiler Führung, Transformation und mehr Verantwortung für Mitarbeiter*innen nicht den Überblick zu verlieren, bringen unsere Agile Coaches ihre Erfahrung bei der Transformation besonders von großen Unternehmen ein.

Einige unserer Technical Coaches

Bild von David
David
Bild von Tobias
Tobias
Bild von André
André
Bild von Moritz
Moritz
Bild von Peter
Peter

Kontakt

Sie möchten sich unverbindlich beraten lassen oder haben konkrete Fragen? Hier finden Sie Ihr Ansprechpartner*innen

Ihre Ansprechpartner*innen