Atlassian-Studie: Trends und Benchmarks in der Software-Entwicklung 2016

Wie steht es um die Adaption moderner Praktiken in der Software-Entwicklung: Agile, Continuous Integration und Continuous Delivery, Git, Container, Code-Reviews? Um das herauszufinden, hat Atlassian zwischen März und September 2016 eine Online-Befragung durchgeführt und Daten von mehr als 17.000 Teilnehmern eingesammelt, die in den unterschiedlichsten Branchen in Teams unterschiedlichster Größen arbeiten. Dabei herausgekommen ist der Atlassian 2016 Report: Software Development Trends and Benchmarks. (Die Studie können Sie hier gegen Registrierung herunterladen.) Dies sind die interessantesten Ergebnisse.

Agile

Agilität in Form iterativer Entwicklung im Rahmen bestimmter Regeln hat sich längst durchgesetzt und Teams aller Größen durchdrungen. Über drei Viertel aller Teams nutzen agile Methoden wie Scrum und Kanban sowie Mischformen, um Aufgaben zu managen, den Projektverlauf zu tracken und Produkte auszuliefern. Software-Entwicklungsprojekte nach dem klassischen Wasserfall-Modell sind in eine Nische zurückgedrängt. So ist der Stand der Agile-Adaption über verschiedene Teamgrößen hinweg:

  • Teams mit bis zu zehn Leuten: 77%
  • Teams mit zehn bis 50 Leuten: 84%
  • Teams mit 51 und 100 Leuten: 68%
  • Teams mit 101 und 150 Leuten: 79%
  • Teams mit mehr als 150 Leuten: 84%

Continuous Integration und Continuous Delivery

Diese Methodik bezeichnet das Bauen, Testen und Releasen von Software in kurzen und häufigen Zyklen. CI und CD helfen, die Code-Qualität zu verbessern und Reaktionszeiten zu verkürzen, und erlauben es, Code zu jedem beliebigen Zeitpunkt auszuliefern. Die Adaptionsrate liegt der Umfrage zufolge teamübergreifend bei rund der Hälfte. Je größer die Teams, desto stärker sind CI und CD etabliert.

  • Teams mit bis zu zehn Leuten: 47%
  • Teams mit zehn bis 50 Leuten: 51%
  • Teams mit 51 und 100 Leuten: 47%
  • Teams mit 101 und 150 Leuten: 59%
  • Teams mit mehr als 150 Leuten: 65%

Git

Git ist nicht nur die Versionsverwaltung der Stunde, sondern definitiv auch der nächsten Jahre. Das spiegelt auch die Studie deutlich wider: 78 Prozent der befragten Entwicklungsteams arbeiten inzwischen mit verteilten Versionskontrollen. Git ermöglicht es Entwicklern, den Code anderer Teammitglieder zu reviewen, ihre Arbeit einfach zu branchen und zu mergen, Features in isolierten Umgebungen zu entwickeln und von beliebigen Standorten aus am Code zusammenzuarbeiten. Damit hilft Git sicherzustellen, dass nur hochqualitative, verifizierte Änderungen in die Haupt-Codebasis gelangen.

  • Teams mit bis zu zehn Leuten: 86%
  • Teams mit zehn bis 50 Leuten: 83%
  • Teams mit 51 und 100 Leuten: 65%
  • Teams mit 101 und 150 Leuten: 73%
  • Teams mit mehr als 150 Leuten: 79%

Container

Container gehören zu den jüngsten Trends im Bereich der Software-Entwicklung. Sie erlauben es Entwicklern, Programme einfacher zwischen unterschiedlichen Rechnerumgebungen zu bewegen und in Containern zu isolieren. So wird insbesondere die Bereitstellung von Anwendungen vereinfacht. Schon heute macht sich insgesamt mehr als ein Drittel aller Teams Tools wie Docker zunutze. Je größer die Teams, desto weiter verbreitet ist die Adaption.

  • Teams mit bis zu zehn Leuten: 28%
  • Teams mit zehn bis 50 Leuten: 30%
  • Teams mit 51 und 100 Leuten: 36%
  • Teams mit 101 und 150 Leuten: 48%
  • Teams mit mehr als 150 Leuten: 51%

Code-Reviews

Änderungen systematisch durch andere Entwickler prüfen zu lassen, ist eine wichtige Voraussetzung für eine möglichst hohe Code-Qualität. Mit Code-Reviews profitiert jede Änderung von der Expertise mehrerer Teammitglieder. Sie helfen, Fehler früh im Entwicklungsprozess zu erkennen und zu eliminieren. Teamübergreifend nutzen 58 Prozent irgend eine Form von Reviews nach dem Viele-Augen-Prinzip. (Konkrete Zahlen im Hinblick auf die Teamgrößen bleibt Atlassian uns an dieser Stelle leider schuldig.)

Kombination mehrerer Methoden und Tools

Und wie ist es um den kombinierten Einsatz der genannten Werkzeuge und Praktiken bestellt, konkret: die gleichzeitige Adaption von Agile, CI/CD und Git? Diese drei Methoden haben gemeinsam, dass sie Teams in die Lage versetzen, Änderungen schneller und mit mehr Sicherheit hinsichtlich ihrer Qualität auszuliefern. Fast die Hälfte der Teilnehmer nutzen in ihren Teams alle drei Techniken, während nur elf Prozent gar keine davon etabliert haben.

  • Keine: 11%
  • Nur Git: 8%
  • Git und CI/CD: 23%
  • Agile, Git und CI/CD: 44%

Fazit

Atlassians Studie zeigt vor allem, dass der Bereich der Software-Entwicklung technisch und methodisch keinesfalls träge ist, sondern ständig und in einem hohen Tempo evolviert, wobei die Zyklen immer kürzer werden. Das erste Buch über Scrum erschien 2001. Heute sind agile Methoden in all ihren Mischformen und Facetten aus der Software-Entwicklung nicht mehr wegzudenken. Ein Jahrzehnt nach der Präsentation der allerersten Basisversion hat Git SVN fast den gesamten Markt abgenommen. Docker, 2013 ausgeliefert, ist längst keine Sache einiger Early Adopter mehr, sondern bereits in der Hälfte aller großen Entwicklungsteams etabliert.

Unternehmen, in denen Software entwickelt wird, müssen die Finger mehr denn je am Puls der Zeit haben und die technischen und methodischen Entwicklungen intensiv beobachten, um Trends, die Teams einen echten Mehrwert bieten, frühzeitig zu identifizieren. Wenn es einem Mitbewerber erstmal gelungen ist, kontinuierlich bessere Software schneller auszuliefern, kann der Zug schon abgefahren sein.

Kennen Sie Codeyard?

Das ist unsere neue Tool-Suite für Software-Entwicklungsteams, eine professionelle Lösung für das schnelle Aufsetzen einer passgenauen Infrastruktur als Grundlage für einen effektiven und effizienten Software-Entwicklungsprozesses – von der Idee bis zum auslieferbaren Produkt. Hier gibt es weitere Infos zu Codeyard.

Weiterführende Infos

Das Agile-Portal in unserer Infothek
Unsere Blog-Artikel zum Thema Git und verteilte Versionskontrolle
Continuous Delivery in der Praxis: Deployment auf Knopfdruck und Release-Verwaltung mit Bamboo
Individuelle Software-Entwicklung: Workflows, Branching-Modelle und Continuous Delivery