Entwicklung & Code
Teamkultur und Fortbildung: Wie kompetent ist dein Team?
Moin.
(Bild: Stefan Mintert )
Stefan Mintert arbeitet mit seinen Kunden daran, die Unternehmenskultur in der Softwareentwicklung zu verbessern. Das derzeit größte Potenzial sieht er in der Leadership; unabhängig von einer Hierarchieebene.
Die Aufgabe, dieses Potenzial zu heben, hat er sich nach einem beruflichen Weg mit einigen Kurswechseln gegeben. Ursprünglich aus der Informatik kommend, mit mehreren Jahren Consulting-Erfahrung, hatte er zunächst eine eigene Softwareentwicklungsfirma gegründet. Dabei stellte er fest, dass Führung gelernt sein will und gute Vorbilder selten sind.
Es zeichnete sich ab, dass der größte Unterstützungsbedarf bei seinen Kunden in der Softwareentwicklung nicht im Produzieren von Code liegt, sondern in der Führung. So war es für ihn klar, wohin die Reise mit seiner Firma Kutura geht: Führung verbessern, damit die Menschen, die die Produkte entwickeln, sich selbst entwickeln und wachsen können.
Für Heise schreibt Stefan als langjähriger, freier Mitarbeiter der iX seit 1994.
Ich vermute, dass es in der Softwareentwicklung unvermeidlich ist, sich kontinuierlich weiterzuentwickeln. Als Developer arbeitet man in komplexen Aufgabenstellungen. Das erfordert neue Ansätze und Vorgehensweisen. Gleichzeitig besteht bei jedem Menschen die Gefahr, dass er eine Aufgabe auf die altbekannte Weise löst, die für neue Probleme vielleicht nicht die richtige ist. Das Gegenmittel ist klar: Fortbildung. In vielen Unternehmen, mit denen ich mit meinen Kolleginnen und Kollegen arbeite, gibt es interne Fortbildungsmöglichkeiten und gelegentlich eine externe Schulung. Das ist für den oder die Einzelne eine gute Sache. Eine Frage fehlt mir dabei ziemlich oft: Wie ist es um die Kompetenz des Teams bestellt?
Die Frage gehört für mich zur Teamführung, aber Vorgesetzte braucht das Team für den wesentlichen Schritt nicht: Wie stellen wir fest, ob das Team die richtigen Kompetenzen besitzt und an welchen Stellen eine Verbesserung erforderlich ist?
Im ersten Schritt erstellt das Team eine Liste derjenigen Kompetenzen, die erforderlich sind, um die Aufgaben des Teams zu erfüllen oder die Ziele des Teams zu erreichen. Meist ist die Liste so lang, dass eine Betrachtung aller Kompetenzen den zeitlichen Rahmen eines Meetings sprengen kann. Deshalb stimmt das Team im zweiten Schritt ab, welche Kompetenzen es näher betrachten möchte.
Für den weiteren Verlauf kann man gut mit einer Tabelle arbeiten. Die kurze Kompetenzliste steht in der ersten Spalte – in jeder Zeile eine Kompetenz. Als Beispiel für eine Liste: Java-Programmierung, git-Bedienung, Kommunikation mit Stakeholdern.
Im dritten Schritt spricht das Team darüber, wie viele Teammitglieder die jeweilige Kompetenz auf welchem Niveau (Grundkenntnisse, fortgeschrittene Kenntnisse, Expertenkenntnisse) beherrschen sollen. Auf einem Flipchart oder Whiteboard bietet es sich an, das Niveau durch Farben zu kennzeichnen (etwa Rot, Gelb, Grün). Bei einem Team, das in Java entwickelt, dürften Grundkenntnisse in der Sprache auf Dauer nicht ausreichen. Bei einem Fünfpersonenteam darf man hier das Votum „fünfmal Expertenkenntnisse“ als Zielvorstellung erwarten. Bei der git-Bedienung sind möglicherweise zweimal Experten- und dreimal fortgeschrittene Kenntnisse ausreichend. Und die Kommunikation mit Stakeholdern übernimmt vielleicht regelmäßig eine Person im Team, sodass für die vier anderen die Grundkenntnisse ausreichend sind. Diese Aufstellung der erforderlichen Kompetenzen gehört in die zweite Spalte der Tabelle.
Die restlichen Spalten sind jeweils einem Teammitglied vorbehalten. Hier trägt jede Person in einer Selbsteinschätzung ihr Kompetenzniveau ein. Die fertige Tabelle zeigt dann unmittelbar, wo das Team Defizite besitzt. Im Beispiel: Haben nur drei Personen Expertenkenntnisse in Java und nur ein Teammitglied sieht sich als git-Experte, gibt es Nachholbedarf.
Wie die Kompetenzsteigerung zu erreichen ist, kann das Team in vielen Fällen autonom besprechen und umsetzen. Für eine Weiterbildung in Java braucht es keine externe Schulung, wenn drei Experten im Team vorhanden sind. Hier können teaminterne Schulungen, aber auch Pair Programming weiterhelfen. Erst wenn ein Bedarf auftritt, den niemand im Team abdecken kann, braucht es Unterstützung von außen.
Diese strukturierte Erfassung vorhandener und erforderlicher Kompetenz führe ich mit Teams in größeren Abständen von beispielsweise einem Jahr durch. Die Tabelle ist auch als Teamkompetenzmatrix bekannt. Wenn ein Team eine solche Matrix erstellt hat, lasse ich das Team in Retrospektiven im Laufe des Jahres immer wieder mal prüfen, ob es sich in die (selbst-)gewünschte Richtung entwickelt.
Für mich ist ein wesentlicher Aspekt, dass es sich hier um Teamführung handelt und keine Vorgesetzten beteiligt sind. Das Beispiel zeigt, dass Führung nicht an eine bestimmte Position oder Funktion gekoppelt ist.
Erst Lesen, dann Hören
Im Podcast Escape the Feature Factory greife ich ausgewählte Themen des Blogs auf und diskutiere sie mit einem Gast. Durch den Austausch lerne ich eine zweite Perspektive kennen. Wenn du auch daran interessiert bist, findest du den Podcast bei Spotify, Deezer, Amazon Music, und Apple Podcasts. Wenn du die Themen, die ich im Blog anspreche, in deiner Firma verbessern möchtest, komm’ in unsere Leadership-Community für Softwareentwicklung.
(rme)
Entwicklung & Code
Software Testing: Qualitätsprobleme in bestehender Software mit KI beheben
In dieser Folge spricht Richard Seidl in seinem Podcast Software Testing mit Benjamin Hummel über den Einsatz von künstlicher Intelligenz bei der Behebung von Qualitätsproblemen in bestehender Software. Die beiden schauen dabei in die Welt der statischen Codeanalyse und diskutieren, wie KI helfen kann, Fehler schneller zu erkennen und gezielt zu beheben.
Benjamin Hummel teilt aus erster Hand Erfahrungen über Chancen und Grenzen aktueller KI-Modelle beim Refactoring. Es geht um typische Herausforderungen in gewachsenen Softwaresystemen, um die Balance zwischen Effizienz und Sicherheit, und um die Frage, wo KI echtes Potenzial hat – und wo der Mensch weiterhin gebraucht wird.
Bei diesem Podcast dreht sich alles um Softwarequalität: Ob Testautomatisierung, Qualität in agilen Projekten, Testdaten oder Testteams – Richard Seidl und seine Gäste schauen sich Dinge an, die mehr Qualität in die Softwareentwicklung bringen.
Die aktuelle Ausgabe ist auch auf Richard Seidls Blog verfügbar: „Qualitätsprobleme in bestehender Software mit KI beheben – Benjamin Hummel“ und steht auf YouTube bereit.
(mdo)
Entwicklung & Code
Programmiersprache Perl 5.42 führt neue Listenoperatoren ein
Die schrittweise Einführung des parallelen Objektsystems Corinna setzt auch das neue Release Perl 5.42 fort. Neben der Bereinigung zahlreicher – auch sicherheitsrelevanter – Fehler liefert das Update der Programmiersprache sowohl verschiedene Erweiterungen als auch neue Funktionen. So lassen sich autogenerierte, kombinierte getter-setter-Methoden nun über die Eigenschaft :writer(...)
der field
-Variablen einrichten. Perl 5.42 behebt außerdem den gegenüber vergleichbaren Sprachen langjährigen Nachteil, keine vollständige Kapselung bieten zu können.
Weitere Schritte auf dem Weg zum Objektsystem
Mit dem experimentellen Feature class
begann vor rund zwei Jahren der Übergang zum Objektsystem Corinna. Die komplette Funktionalität von Corinna fasst das Perl-Entwicklungsteam als feature
class
zusammen. Nach den offiziellen Regeln wird es noch etliche Jahre im Status experimentell bleiben, da dieser erst mindestens zwei Jahre nach der letzten Änderung fallen darf. Da zudem noch Neuerungen wie roles
und gegebenenfalls ein Metaobjekt-System in Planung sind, wird das Feature class
frühestens 2028 als nicht mehr experimentell eingestuft werden können.
Entwicklerinnen und Entwickler, die unter Perl 5.42 ihre Programme mit use experimental ‚class‘; beginnen, dürfen field
-Variablen mit der Eigenschaft :writer(...)
kennzeichnen und somit den Namen einer autogenerierten setter-Methode festlegen, die den öffentlichen Zugriff auf das ansonsten private Objekt-Attribut erlaubt. Das ist auch der einzige Weg autogenerierte, kombinierte getter-setter-Methoden zu bekommen, da der Name der Zugriffsmethode im Regelfall aus dem Präfix set_
und dem Attributnamen besteht.
Darüber hinaus können mit method
deklarierte Methoden jetzt auch einen lexikalisch lokalen Zugriffsbereich besitzen, der – wie bei Variablen – ein my
erzwingt. Der Zugriff auf die Methode erfolgt innerhalb der Klasse mit $objekt->&methode(...)
, unter Umgehung der Vererbungshierarchie. Damit besitzt Perl nun eine vollständige Kapselung und behebt einen wesentlichen Nachteil, den es lange Jahre gegenüber vergleichbaren Sprachen besaß.
Neu sind ebenfalls zwei Listenoperatoren im Stile von map
und grep
. any
liefert ein true
, wenn die in geschweiften Klammern mitgelieferte Bedingung für einen Listenwert zu true
evaluiert – bei all
müssen es dem Operatornamen entsprechend alle sein. Beide Operatoren brechen die Berechnung ab, sobald das Ergebnis feststeht, und sie müssen derzeit noch mit use experimental 'keyword_any';
, beziehungsweise use experimental 'keyword_all';
angemeldet werden.
Gleiches gilt für die älteren Features switch
und smartmatch
, die entgegen anderslautenden Ankündigungen nicht entfernt werden. Der Vollständigkeit wegen wurde auch der selbstzuweisende xor-Operator mit hoher Präzedenz: =^^
nachgereicht und mit use source::encoding 'utf8';
hat das Entwicklungsteam einen expliziten Alias für use utf8;
gefunden. no feature "apostrophe_as_package_separator";
dient lediglich dazu sicherzustellen, dass unbekannter Code nicht den veralteten Paketnamentrenner verwendet.
Langjährige Schwachstellen behoben
Die beiden wichtigsten behobenen Fehler mit Sicherheitsrelevanz sind erstens in CVE-2024-56406 beschrieben. Demnach konnten Ersetzungen von Zeichen, die mit mehreren Bytes kodiert sind, zu Pufferüberläufen führen. Zweitens ließ sich laut CVE-2025-40909 während des Forks eines Thread Schadcode ausführen. Die Schwachstellen waren vier beziehungsweise vierzehn Jahre offen.
Eine komplette Übersicht aller in Perl 5.42 behobenen Fehler, Dokumentationsänderungen, Fehlermeldungen sowie weiterer Interna lässt sich in perldoc einsehen.
Siehe auch:
(map)
Entwicklung & Code
LibreOffice erhält Markdown-Support | heise online
LibreOffice erhält Support für Markdown-Dateien. Aktuell arbeiten die Entwickler sowohl an einem Export als auch an einem Import, wobei die Arbeit noch am Anfang steht – in der kommenden Version 25.8 wird das Feature noch nicht zur Verfügung stehen. Ob sich LibreOffice 26.2 nächstes Jahr dann mit Markdown-Dateien verwenden lässt, ist noch offen.
Die Auszeichnungssprache Markdown ist bereits über zwei Jahrzehnte alt. Nutzer können mit ihr einfach formatierten Text erstellen. Beliebt ist Markdown insbesondere im Web-Bereich und bei Softwareentwicklern, um zum Beispiel Readme-Dateien zu schreiben. Nutzer greifen in der Regel auf spezielle Editoren zurück, um Dokumente in der Sprache zu verfassen.
Nativ für Notepad, nicht für Word
Auch Microsoft arbeitet derzeit am Markdown-Support – allerdings für den Texteditor Notepad. Formatierungen lassen sich auf Wunsch über Schaltflächen aktivieren. Aktuell steht die Funktion ausschließlich Insider-Anwendern zur Verfügung. Wer in Word mit Markdown arbeiten will, muss hingegen eine Erweiterung wie Writage installieren. Sie wandelt die Formatierung automatisch in die Syntax der Sprache um.
Wie genau der Markdown-Support in LibreOffice funktionieren wird, ist noch unklar – bekannt ist lediglich, dass der Export auf der existierenden HTML-Funktion basiert. Für sie gibt es einen speziellen Writer/Web-Modus, in dem ausschließlich die unterstützten Formatierungen zur Auswahl stehen. Der Import erstellt aktuell lediglich eine leere Writer-Datei.
(fo)
-
Online Marketing & SEOvor 4 Wochen
TikTok trackt CO₂ von Ads – und Mitarbeitende intern mit Ratings
-
Apps & Mobile Entwicklungvor 4 Wochen
Metal Gear Solid Δ: Snake Eater: Ein Multiplayer-Modus für Fans von Versteckenspielen
-
UX/UI & Webdesignvor 4 Wochen
Philip Bürli › PAGE online
-
Social Mediavor 4 Wochen
Aktuelle Trends, Studien und Statistiken
-
Social Mediavor 3 Wochen
LinkedIn Feature-Update 2025: Aktuelle Neuigkeiten
-
Online Marketing & SEOvor 4 Wochen
#WantaFanta: Warum Fanta und Nico Santos der Gen Z Wünsche erfüllen
-
Social Mediavor 4 Wochen
“Wir haben doch nichts zu erzählen…” – 3 Tricks für neue Social Media Content Ideen
-
UX/UI & Webdesignvor 4 Wochen
Wie gelingt eine einwandfreie Zusammenarbeit?