Kontakt
de
ELEKS' GitHub Copilot Investigation – Exploring the Potential of AI in Software Development
Artikel

ELEKS untersucht GitHub Copilot – Erforschung des Potenzials von KI im Bereich Softwareentwicklung

KI revolutioniert die Softwareentwicklung und macht sie effizienter, produktiver und innovativer. In diesem Artikel untersuchen wir die Bedeutung von KI für die Softwareentwicklung und befassen uns eingehend mit den Erkenntnissen aus unserer Untersuchung von GitHub Copilot, die vom Forschungs- und Entwicklungsteam von ELEKS durchgeführt wurde.

Während sich die Welt der Softwareentwicklung kontinuierlich weiterentwickelt, ist die Rolle der KI immer wichtiger geworden. Mit den Vorteilen wie z. B. der Möglichkeit, den Zeit- und Arbeitsaufwand für die Programmierung und andere Tätigkeiten zu reduzieren, ist es kein Wunder, dass die KI heute im Bereich Softwareentwicklung ein brennendesaktuelles Thema ist.

92 % der Entwickler, mit Sitz in den USAdie ihren Sitz in den USA haben , nutzen bereits KI-Tools zur Programmierung, sowohl am Arbeitsplatz als auch außerhalb.

4 von 5 Entwicklern erwarten, dass KI-Tools im Bereich Programmierung die Zusammenarbeit ihrer Teams stärken werden.

70 % der Entwickler glauben, dass ihnen KI-Tools im Bereich Programmierung einen deutlichen Vorteil bei ihren beruflichen Aufgaben verschaffen werden, einschließlich einer verbesserten Codequalität, einer kürzeren Zeit bis zur Fertigstellung sowie verbesserter Fähigkeiten bei der Behebung von Störungen.

GitHub 

Auch wenn die KI noch kein Stadium erreicht hat, in dem sie Softwareprodukte ohne menschlichen Input selbstständig erstellen, testen und einführen kann, hat sie die allgemeine Bearbeitungszeit im Vergleich zur Vergangenheit erheblich beschleunigt. Es gibt viele KI-gestützte Tools, die bei der Entwicklung von benutzerdefinierten Anwendungen helfen können, indem sie Codes generieren und automatisch vervollständigen sowie Fehler erkennen und diese beheben. Das Forschungs- und Entwicklungsteam von ELEKS hat ein solches Tool – GitHub Copilot – sorgfältig geprüftbeurteilt , um dessen Einfluss auf die Arbeiten von Entwicklern, die Dauer bis zur Fertigstellung und die Qualitätsstandards für bereitgestellte Empfehlungen zu bewerten. Sehen wir uns das Ganze etwas genauer an.

Was ist GitHub Copilot?

GitHub Copilot ist ein Tool zur automatischen Vervollständigung und Generierung von Codes. Es basiert auf OpenAI Codex und wird in öffentlichen GitHub-Repositorys geschult. Infolgedessen schlägt es für jede Programmiersprache Codes vor. Die Qualität der Vorschläge hängt jedoch von der Anzahl der öffentlichen Repositorys ab, die auf einer bestimmten Programmiersprache und einem bestimmten Framework basieren. GitHub Copilot arbeitet mit Programmcode und nutzt Plug-ins für eine integrierte Entwicklungsumgebung (IDE). Derzeit werden nur die folgenden IDEs unterstützt:

  • Visual Studio Code
  • Visual Studio
  • Neovim
  • Alle IDEs vonJetBrains

Überblick über die Untersuchung von GitHub Copilot durch ELEKS

Diese Untersuchung zielte darauf ab, die Bedeutung der Nutzung von Copilot sowohl in Bezug auf die Entwicklungsgeschwindigkeit als auch die Qualität zu untersuchen. Zur Durchführung dieser Untersuchung wurde ein kleines Testprojekt als Versuchsfeld für verschiedene Annahmen gestartet. Mit einem Team aus vier erfahrenen, fortgeschrittenen Entwicklern, die in Bezug auf React, Redux, TypeScript, Jest, Vite, PHP, Symfony und Codeception über das nötige Fachwissen verfügen, haben wir die Untersuchung eingeleitet und unsere Ziele und Ansätze wie folgt festgelegt.

Ziel Ansatz
Beurteilung der Abhängigkeit zwischen der Kompetenz des Entwicklers und der Leistung bei der Verwendung von Copilot Für die Backend-Entwicklung haben wir das Symfony-Framework ausgewählt. Das Backend-Team hatte keine umfangreiche Erfahrung mit diesem Framework. Um die Qualität der Backend-Lösung zu beurteilen, wurde ein Symfony-Experte in eine Code-Überprüfung einbezogen. Der Experte entwickelte außerdem eine grundlegende Projektstruktur, die über die typische hinausging und in einem großen kommerziellen Projekt genutzt wurde
Untersuchung der Bedeutung für typische Entwickleraufgaben Vor Beginn des Projekts haben wir einen PSP erstellt, der die typische Arbeit eines Entwicklers bei einem kommerziellen Projekt umfasste. Außerdem haben wir eine Sitzung zur Einschätzung der jeweiligen Aufgaben durchgeführt.
Untersuchung der Bedeutung für die Programmiersprachen und die Frameworks nach Beliebtheit Wir haben eine Webanwendung mit Testabdeckung entwickelt.
Beurteilung der Auswirkungen auf die Fertigstellungszeit der Aufgabe Wir haben eine vorläufige Einschätzung der einzelnen Aufgaben im Rahmen des Projekts wurden vorgenommen.
Verbesserung der Forschungseffizienz Wir haben während der täglichen Synchronisierung haben wir Sitzungen für den Wissensaustausch innerhalb des Teams durchgeführt.
Untersuchung der Qualität der Vorschläge Es wurden Tests durchgeführt,Wir haben getestet, wie Copilot mit einer nicht-klassischen und komplexeren Projektstruktur umgeht.

Die wichtigsten Ergebnisse der Untersuchung von GitHub Copilot durch ELEKS

Die Untersuchung von GitHub Copilot durch ELEKS hat mehrere wichtige Erkenntnisse ergeben, die Aufschluss über die Fähigkeiten und die Vorteile des Tools geben. Hier finden Sie eine detailliertere Beschreibung: Bitte beachten Sie, dass die Untersuchungsergebnisse auf dem subjektiven Feedback des Teams, auf den Beobachtungen seiner Arbeit und auf den Code-Überprüfungen seiner Lösungen basieren.

GitHub Copilot hat zwei verschiedene Betriebsmodi:

  • Modus Code-Autovervollständigung – wirkt sich fast immer positiv auf die Leistung aus.
  • Modus Codegenerierung, basierend auf einem Kommentar mit Eingabeaufforderung – funktioniert gut, aber nur bei typischen Codestrukturen. Er kann bei der Generierung von Geschäftslogik oder untypischen Lösungen kontraproduktiv sein, da die Analyse der vorgeschlagenen Codevarianten viel Zeit in Anspruch nimmt.

Die Qualität der Codevorschläge von GitHub Copilot hängt von Folgendem ab:

  • Beliebtheit des ausgewählten Tech Stacks in öffentlichen Repositorys. Je beliebter die Technologie oder Sprache ist, desto höher ist die Qualität der Vorschläge von GitHub Copilot.
  • Codestruktur und Anwendungsarchitektur. Je typischer Ihre Lösung ist, desto effektiver sind die Vorschläge, die GitHub Copilot bereitstellt. Dies macht sich besonders zu Beginn der Projektentwicklung bemerkbar.

Weitere Vorteile von GitHub Copilot:

  • Im Laufe der Zeit erhöht sich die Qualität der Codevorschläge. GitHub Copilot lernt und passt sich der Projektstruktur, dem Code-Stil und den typischen Ansätzen für technische Lösungen im Projekt an.
  • Wirkt sich positiv auf die Arbeitszufriedenheit der Entwickler aus. GitHub Copilot übernimmt einen Teil der routinemäßigen, typischen und langweiligen Aufgaben. Das Verhältnis zwischen der Entwicklung interessanter und routinemäßiger Aufgaben ändert sich, was wiederum den Komfort der Entwickler erhöht.

Allgemeine Teamergebnisse:

  • Das Tool zeigte keine Auswirkung auf die Codequalität – weder positiv noch negativ. Wir glauben, dass es vorerst nicht den Code-Überprüfungsprozess, manuelle Code-Tests des Entwicklers, die Durchführung von Autotests, Sicherheitstests usw. ersetzen kann.
  • Die Effektivität hängt von der Kompetenz des Entwicklers bezüglich des jeweiligen Tech Stacks ab. Je besser die Fähigkeiten des Entwicklers sind, desto effektiver erweist sich auch dieses Tool.
  • Der Nutzen von GitHub Copilot für das Erlernen neuer Technologien ist sehr zweifelhaft.
  • Das Team hatte den Eindruck, dass die Codevorschläge besser werden, wenn alle codebezogenen Dateien in der IDE geöffnet sind.
  • Wie jedes andere Tool erfordert auch GitHub Copilot bestimmte Fähigkeiten. Je mehr das Team geübt hat, desto mehr positives Feedback gab es.
  • Das Feedback bezüglich der Leistungssteigerung variiert je nach Tech Stack, dem Kompetenzniveau des jeweiligen Spezialisten und subjektiven Gründen. Die durchschnittliche Produktivitätssteigerung der Teammitglieder beträgt 5–10 %.

Eine Randbemerkung: das Team fand während des Projekts mehrere Fehler in GitHub Copilot. Zum Beispiel schlug Copilot seine Codevorschläge basierend auf dem Code eines anderen Projekts vor, das in einem anderen IDE-Fenster geöffnet war. Es hat einen syntaktisch falschen Code vorgeschlagen. Es gibt einige Widersprüche zwischen Copilot und den Funktionen mancher Plug-ins (integriert oder von Drittanbietern hinzugefügt), die ebenfalls über die Funktion einer Code-Autovervollständigung verfügen.

Fazit

GitHub Copilot ist ein leistungsstarkes Tool, das sich positiv auf die Entwicklungsgeschwindigkeit und die Arbeitszufriedenheit von Entwicklern auswirkt. Wie bei jedem anderen Entwicklungstool wird Zeit benötigt, um es zu beherrschen. Zurzeit kostet eine einzelne monatliche Lizenz nur $10, während der Businessplan zu einem Preis von $19 pro Monat erhältlich ist.während der Businessplan einen Preis von $19 pro Monat hat. GitHub Copilot wird für die Nutzung im Rahmen von Projekten definitiv finanzielle Vorteile bringen, vor allem für die Spezialisten auf einem mittleren und höheren Kompetenzniveau. Laut den Prognosen des Teams kann die Entwicklungsgeschwindigkeit mit zunehmender Erfahrung in der Verwendung von GitHub Copilot um 5 bis 25 % steigen, je nach der Beliebtheit der Technologie und dem Kompetenzniveau des jeweiligen Entwicklers. GitHub Copilot wird die Entwicklung garantiert nicht verlangsamen, da die Entwickler mit der Zeit das nötige Fachwissen und Verständnis dafür erlangen, wann es von Vorteil ist, das Tool zu nutzen, und wann nicht. Zusammenfassend lässt sich sagen, dass die Auswirkungen der KI in der Softwareentwicklung, die durch Tools wie GitHub Copilot veranschaulicht werden, nicht zu bestreiten sind. Letztendlich können Tools wie GitHub Copilot keinen Entwickler ersetzen, aber sie sind nützliche Tools, die den Komfort und die Produktivität von Entwicklern verbessern und in einer zunehmend KI-gesteuerten Welt zur Weiterentwicklung im Bereich Softwareentwicklung beitragen.

Entdecken Sie den Weg zu einem effizienten Softwareentwicklungsprozess und erfolgreichen Ergebnissen mit ELEKS! Nehen Sie Kontakt mit uns auf.

Haben Sie Fragen?
Sprechen Sie mit Experten
Kontakt
  • Wir benötigen Ihren Namen für die korrekte Ansprache
  • Wir benötigen Ihre Telefonnummer, um Sie hinsichtlich Ihrer Anfrage kontaktieren zu können
  • Wir benötigen Ihren Standort, um entscheiden zu können, welches unserer Büros für Sie zuständig ist
  • Wir benötigen Ihren Unternehmensnamen als Hintergrundinformation, um zu ermitteln, wie wir Ihnen helfen können
  • Akzeptierte Dateitypen: jpg, gif, png, pdf, doc, docx, xls, xlsx, ppt, pptx, png, Max. Dateigröße: 10 MB.
(jpg, gif, png, pdf, doc, docx, xls, xlsx, ppt, pptx, PNG)

Wir speichern Ihre Daten in unserem CRM-System, um Sie kontaktieren zu können. Für weitere Informationen beachten Sie bitte unsere Datenschutzrichtlinie
  • Dieses Feld dient zur Validierung und sollte nicht verändert werden.

Wir sind zufrieden mit dem Know-how sowie der Arbeit, die ELEKS für uns geleistet hat. Wir haben zum Produkt, über dessen Design, den Funktionen sowie der Benutzerfreundlichkeit hervorragendes Feedback erhalten. Insgesamt waren wir sehr zufrieden mit der Zusammenarbeit mit ELEKS, und wir können uns ganz sicher vorstellen, weitere Projekte mit ihnen durchzuführen.

corentine piette
Corentine Piette
Manager, appygas