Das vergangene Jahrzehnt (2010-2020) war geprägt von einem nahezu revolutionären Streben nach Agilität in der Softwareentwicklung. Unternehmen über den gesamten Globus verabschiedeten sich von starren Strukturen und wendeten sich Frameworks wie Scrum oder SaFe zu, in der Hoffnung, ihre Effizienz und Anpassungsfähigkeit zu steigern. Zugleich erlebte die Open-Source-Bewegung einen nie dagewesenen Aufschwung, getragen von der Überzeugung, dass gemeinschaftliche Entwicklung und Transparenz zu besseren, sichereren und innovativeren Softwarelösungen führen würden. Doch wie steht es ein Jahrzehnt später um diese Ideale?
Die Agilitätsillusion
Während "Agilität" das Schlagwort des vergangenen Jahrzehnts war, zeigt sich heute eine differenzierte Realität. Agilität, insbesondere durch Scrum verkörpert, stösst nicht nur aufgrund starrer Unternehmensstrukturen und -kulturen an seine Grenzen. Ein wesentlicher Aspekt, der oft übersehen wird, ist die Rolle des Auftraggebers im agilen Prozess. Viele Auftraggeber sind nicht in den Prinzipien von Scrum oder anderen agilen Methoden geschult und verstehen daher die notwendige dynamische Interaktion mit dem Entwicklungsteam nicht vollständig. Diese Wissenslücke führt zu unrealistischen Erwartungen und einer verzerrten Wahrnehmung des Entwicklungsprozesses.
Darüber hinaus sehen sich viele Unternehmen nicht in der Lage oder willens, in ein vollständig ausgestattetes Scrum-Team zu investieren, das neben Entwicklern auch Rollen wie Scrum Master und Product Owner (PO) umfasst. Stattdessen wird erwartet, dass diese Rollen als Nebenaufgaben von bestehendem Personal übernommen werden, was oft zu einer Überlastung und Rollenkonflikten führt. Besonders problematisch ist die Situation, wenn der Auftraggeber selbst die Rolle des Product Owners übernehmen soll, aber als CEO oder CTO eines anderen Unternehmens weder die Zeit noch das spezifische Wissen hat, um diese Rolle effektiv auszufüllen.
Natürlich gibt es auch Zahlreiche bis unzählige andere agile Frameworks, aber alle kämpfen mit den selben Schwachstellen: Nicht jedes Unternehmen erhält Aufträge, in denen es strikt nach diesem Framework arbeiten kann und nicht jeder Arbeitgeber findet die richtigen Arbeitnehmer, um alle Rollen entsprechend auszufüllen.
Die Fixpreisfalle und das Dilemma der Anforderungen
Ein weiteres verbreitetes Problem in der Beziehung zwischen Auftraggebern und Entwicklungsteams ist der Wunsch nach Fixpreisprojekten. Viele Auftraggeber bevorzugen einen festen Preis, da er Planungssicherheit verspricht und das Risiko von Budgetüberschreitungen zu minimieren scheint. Diese Präferenz kollidiert jedoch mit der Natur agiler Projekte, die auf Flexibilität und iterative Entwicklung ausgelegt sind.
Die Erwartung, einen Fixpreis für ein Projekt festzulegen, ohne alle Anforderungen im Voraus zu kennen, führt zu einem paradoxen Szenario. Agile Methoden sollen es ermöglichen, auf Veränderungen und neue Erkenntnisse während des Entwicklungsprozesses zu reagieren. Wenn jedoch von Beginn an ein Fixpreis festgelegt wird, entsteht ein Widerspruch zu diesem Grundprinzip. Entwicklerteams stehen unter dem Druck, innerhalb der festgelegten Kosten zu liefern, was oft zu Kompromissen bei der Qualität oder dem Umfang des Projekts führt.
Die Open-Source-Ernüchterung
Die Euphorie um Open Source hat ebenfalls einen Dämpfer erhalten. Viele Softwareprojekte haben ihre Lizenzmodelle geändert oder die Unterstützung für Open-Source-Versionen zugunsten kommerzieller Varianten reduziert. Dies wirft Fragen über die Nachhaltigkeit und das Engagement in der Open-Source-Welt auf.
Redis hat beispielsweise seine Lizenz von BSD-3 auf eine eigene, proprietäre Lizenz geändert, was in der Open-Source-Community zu Kontroversen geführt hat. Diese Änderung zielt darauf ab, Redis' geistiges Eigentum zu schützen und seine kommerzielle Lebensfähigkeit zu sichern. Einige Kritiker sehen dies jedoch als Abkehr von den Prinzipien freier Software, da die neue Lizenz die Möglichkeiten zur Verteilung und zum Forking einschränkt. Obwohl Redis behauptet, weiterhin ein Verfechter von Open Source zu sein, wird diese Lizenzänderung von der Community als 'Open-Washing' und Schritt hin zu einer proprietären Software angesehen.
Balena hingegen, ein Unternehmen, das sich auf IoT-Lösungen spezialisiert hat, hat ohne öffentliche Ankündigung die Wartung von OpenBalena, ihrer Open-Source-Version, eingestellt. Diese Entscheidung betrifft Nutzende, die aufgrund von Datenschutzanforderungen nicht auf die kostenpflichtige Cloud-Version umsteigen können. In einer E-Mail-Kommunikation bestätigte ein Mitarbeiter von Balena, dass OpenBalena derzeit nicht aktiv gepflegt wird und empfahl stattdessen das sehr teure on-premise-Produkt balenaMachine als Alternative. Nutzer, die auf OpenBalena angewiesen waren, stehen nun vor der Herausforderung, nach neuen Lösungen für ihre IoT-Projekte zu suchen, während ungelöste Sicherheitsprobleme und ausstehende Beiträge aus der Community zur Open-Source-Version unbeachtet bleiben.
Die Buzzwords und Praktiken von heute
In diesem neuen Jahrzehnt wird es spannend sein zu beobachten, welche Trends sich durchsetzen werden. Während Künstliche Intelligenz und Cloud-Native-Entwicklung viel diskutiert werden, ist ein kritischer Blick erforderlich, um zu bewerten, welche Trends substantiell sind und welche möglicherweise floppen werden.
Was sind die wahren Best Practices?
Echte Best Practices in der Softwareentwicklung betonen Flexibilität, kontinuierliches Lernen und Anpassung. Dies erfordert nicht nur interne Anpassungen, sondern auch die Schulung und Einbindung von Auftraggebern in den Entwicklungsprozess.
In den letzten zehn Jahren haben viele Unternehmen ihre eigenen Modelle entwickelt und angepasst. Dabei haben sie beibehalten, was funktionierte, und entfernt, was unnötigen Aufwand verursachte oder keinen Mehrwert bot. Dies ist wohl die wichtigste Erkenntnis aus diesem Jahrzehnt der Agilität.
Wir ermöglichen Organisationen, gemeinsam wundervolle Dinge entstehen zu lassen. Unsere Expert*innen helfen deinem Team die Auslieferung von massgeschneiderten Lösungen extrem zu beschleunigen.
AX • Dedicated Software
Fazit
Das letzte Jahrzehnt hat gezeigt, dass weder Agilität noch Open-Source Allheilmittel sind. Sie sind vielmehr Werkzeuge, die, wenn sie richtig angewendet werden, grossartige Ergebnisse liefern können. Für das aktuelle Jahrzehnt ist ein pragmatischer, gut informierter Ansatz in der Softwareentwicklung entscheidend, um aus den Erfahrungen der Vergangenheit zu lernen und zukünftigen Herausforderungen erfolgreich zu begegnen.