KI im Software-Development: Chance und Herausforderung
KI in der Softwareentwicklung kann den Fortschritt ankurbeln, sollte aber auch mit Vorsicht betrachtet werden, sagt Peter McKee von Sonar.
KI kann menschliche Fehler reduzieren, die Schnelligkeit von Software erhöhen und den Zeit- und Kostenaufwand für das Beheben von Bugs verringern. Auch Developer-Teams werden entlastet. Doch man muss den Einfluss von KI auch mit Vorsicht betrachten. Ob sie in der Softwareentwicklung in Zukunft mehr Vor- oder Nachteile mit sich bringt, ist schwer vorherzusehen. Eins ist jedoch klar: Sich intensiv und kritisch mit ihr auseinanderzusetzen, ist vor allem in Bezug auf die Erstellung von Code sinnvoll.
Fachkräftemangel bei Developern
Immer mehr Unternehmen nutzen KI-Tools und -Funktionen wie LLMs (Large Language Models), um Developer-Workflows effizienter zu gestalten. Ein wichtiger Grund für die zunehmende Anwendung solcher Tools bei Entwicklerteams ist die Tatsache, dass es nicht genügend qualifizierte Entwickler gibt, um den aktuellen Bedarf zu decken. Wie eine Studie des Kompetenzzentrums Fachkräftesicherung (KOFA) zur Fachkräftelücke in der IT in Deutschland zeigt, „… gab es bundesweit im Durchschnitt 67.924 offene Stellen – so viele wie noch nie seit Beginn des Beobachtungszeitraums im Jahr 2010.“ Angesichts des Defizits an Entwickler*Innen kann der Einsatz von KI-Tools bei der Codeentwicklung die Teams bei ihrer Arbeit unterstützen.
Developer-Burnout als Konsequenz
Der aktuelle Fachkräftemangel als auch der Druck, die wachsenden Softwareanforderungen zu erfüllen, hat zur Folge, dass viele Entwickler unter Erschöpfung und Überarbeitung leiden. Das Syndrom Burnout ist in der Technologiebranche weit verbreitet und Entwicklerteams sind besonders betroffen. 83 Prozent der Software-Developer fühlen sich durch ihre Arbeit überlastet und ausgebrannt, wie eine Studie von Haystack Analytics zeigt. Aufgrund der Komplexität des heutigen Codes verbringen sie viel Zeit mit der Umstrukturierung, Fehlersuche oder Aktualisierung von Code. KI kann Developer-Teams unterstützen und entlasten.
Vom Coder zum Supervisor
KI kann dabei helfen, die Fachkräftelücke zu schließen und gleichzeitig neue Aufgabenbereiche für Developer schaffen. Wie bei jedem neu implementierten Tool müssen sich Developer neue Skills aneignen, um KI effektiv nutzen zu können. Während generative KI repetitive Aufgaben wie das Schreiben von Code oder die Dokumentation übernehmen kann, müssen Software-Ingenieure in der Lage sein, den von der KI generierten Code zu analysieren und sinnvoll anzuwenden. Deshalb werden Developer in Zukunft vermehrt eine Aufsichtsposition über den von der KI erstellten Code übernehmen. Angesichts der enormen Menge an Code-Zeilen, die die künstliche Intelligenz erzeugt, wäre es unverantwortlich, den Code nicht angemessen zu verwalten und kontrollieren. Nur so ist es möglich sicherzugehen, dass er konsistent ist und durch ihn keine technischen Schulden entstehen.
Mehr Zeit für höherwertige Developer Tasks
Durch die Einbindung von KI in den Software-Entwicklungszyklus können Developer effizienter arbeiten. Sie haben dadurch mehr Kapazität sich mit komplexeren Aufgaben auseinanderzusetzen. Untersuchungen von GitHub haben ergeben, dass Developer mithilfe eines KI-Tools Aufgaben um mehr als 50 Prozent schneller erledigen können. Mit dem Potenzial, die Produktivität zu steigern, kann sich KI auch positiv auf die Arbeitsatmosphäre auswirken. Developer können sich auf Projekte konzentrieren, die ihnen Freude bereiten.
Die Geschwindigkeit, die mit der Entwicklung von KI-Code einhergeht, ist jedoch eine Art Trade-Off. Es ist wichtig, sicherzustellen, dass der von einem KI-Tool vorgeschlagene Codeschnipsel sicher und im Kontext der gesamten Codebasis sauber ist. Developer sollten KI-generiertem Code nicht blind vertrauen. Auch kann er nicht ohne weiteres in eine Codebasis übernommen werden, zumal sich Codebases schnell weiterentwickeln können.
Die Best Practices von Clean Code
Egal ob Developer bei der Erstellung von Code AI-Tools nutzen oder ihn selbst schreiben – es sollten in beiden Fällen Clean Code Best Practices angewendet werden, denn nur so kann hochwertiger und sicherer Code entstehen.
Clean Code…
- ist Code, der einen bestimmten Zweck erfüllt (für den er programmiert wurde).
- ist klar, konsistent, zielgerichtet, anpassungsfähig und zuverlässig.
- ist idealerweise frei von Fehlern und Defekten.
- kann durch Best Practices besser verwaltet werden, insbesondere wenn der Code mithilfe von KI generiert wird. Dazu gehört auch, dass Risiken für Schwachstellen im Code verringert werden und Geschäftsanwendungen länger genutzt werden können.
Wird Code hinzugefügt oder geändert, muss er sauber sein, egal ob dieser Code von einem Menschen oder einem KI-Tool geschrieben wurde. Nur nach genauer Überprüfung sollte dieser in die nächste Phase des Arbeitsablaufs gelangen. Für Entwicklerteams, die sich der Clean-as-You-Code-Methode annehmen, ist das kein Problem. Konsistente Standards und vorgeschriebene Quality Gates, also Kontrollpunkte im Ablauf eines Development-Projekts, helfen dabei, ihren Code auf das höchste Level an Qualität zu heben. So können sich Developer sicher sein, dass ihr Code – ob er nun selbst geschrieben oder KI-generiert ist, qualitativ hochwertig ist.
Fazit
Mit der zunehmenden Verbreitung von generativen KI-Tools für die Codeerstellung müssen Unternehmen entsprechende Kontrollmechanismen einführen. Ziel muss es sein, den Code „clean“ zu halten. Eben einen Code zu haben, der wartungsfähig, zuverlässig, qualitativ hochwertig und sicher ist. Ein Clean-Code-Ansatz hilft dabei, KI-generierten Code sicherer und hochwertiger zu machen. Es liegt in den Händen der Führungskräfte, sauberen Code zu einer Priorität im Unternehmen zu machen, wenn sie auch in Zukunft erfolgreich sein wollen. Denn der Einsatz von KI-generativen Tools für die Codeentwicklung nimmt weiter zu und wird wohl in Zukunft zu einem festen Bestandteil jedes Entwicklerteams werden.
Peter McKee
ist Head of Developer Relations and Community bei Sonar.