Jump to section

Was ist agile Softwareentwicklung?

URL kopieren

Das Ziel der agilen Softwareentwicklung ist die kontinuierliche Bereitstellung funktionsfähiger Software, die in schnellen Iterationen erstellt wird. 

Allerdings kann der Begriff „agile Softwareentwicklung" irreführend sein, wenn man darunter nur eine bestimmte Methode der Softwareentwicklung versteht. Agile Softwareentwicklung umfasst jedoch keine festen Vorschriften darüber, welche Abläufe genau ausgeführt werden müssen. Stattdessen handelt es sich um einen Denkansatz für Workflows und die Art des Zusammenarbeitens. Dieser Denkansatz umfasst verschiedene Werte, die unsere Entscheidungen im Hinblick darauf, was und wie wir etwas durchführen, aktiv unterstützen.

Konkret geht es bei der agilen Softwareentwicklung darum, kleine Teile funktionsfähiger Software schnell bereitzustellen, um die Kundenzufriedenheit zu verbessern. Diese Methoden nutzen adaptive Ansätze und Teamarbeit zur kontinuierlichen Verbesserung. Normalerweise findet eine agile Softwareentwicklung in kleinen, selbstorganisierenden Teams aus Entwicklern und Unternehmensvertretern statt, die sich über den gesamten Lifecycle der Softwareentwicklung hinweg in regelmäßigen Abständen persönlich treffen. Bei einem agilen Konzept wird versucht, die Softwaredokumentation gering zu halten und Veränderungen zu jedem Zeitpunkt im Software-Lifecycle willkommen zu heißen, statt sie abzulehnen.

Agile Arbeitsmethoden wurden entwickelt, um die offensichtlichen Beschränkungen der Wasserfallmodelle zu beseitigen. Diese war von der Fließband-Fertigungsmethode von Henry Ford aus dem Jahr 1913 abgeleitet und später auf die Softwareentwicklung angewendet worden. Seit ihrer Einführung im Jahr 2001 werden agile Modelle erfolgreich in zahlreichen Varianten in der Softwareindustrie und im Projektmanagement eingesetzt.

Die agile Softwareentwicklung begann damit, dass viele Entwickler feststellten, dass die Produktionszyklen und die Methoden der Zusammenarbeit beim Wasserfallmodell nicht zu den gewünschten Ergebnisse führten. Dieses Problem zeigte sich besonders in den frühen 1990er Jahren, als zwischen der geschäftlichen Anforderung und der letztlichen Lieferung einer funktionierenden Anwendung oft mehrere Jahre vergingen. Die geschäftlichen Anforderungen und die Märkte änderten sich in diesen Jahren so schnell, dass ein Großteil der Softwareprojekte storniert wurde, bevor sie geliefert werden konnten. Die Verschwendung von Zeit und Ressourcen führte dazu, dass viele Softwareentwickler nach einer Alternative suchten.

Angesichts der drohenden betrieblichen Konsequenzen führen Unternehmen zunehmend Strategien zur digitalen Transformation ein, um mit einer beschleunigten Geschäftsentwicklung Schritt halten zu können. Dabei spielt häufig die agile Softwareentwicklung eine Rolle.

Agile Methoden bilden heute die Grundlage vieler digitaler Workflows. Das Cloud Computing mit seiner flexiblen, skalierbaren IT-Infrastruktur hat parallel zu den Anforderungen der agilen Softwareentwicklung an Bedeutung gewonnen. Die cloudnative Entwicklung mit ihren vielen vernetzten Services, deren Umfang an die Geschäftsanforderungen angepasst werden kann, ähnelt der agilen Softwareentwicklung.

Das DevOps-Konzept hebt die alten Grenzen zwischen Softwareentwicklung und Operations auf. SRE ist eine Implementierung von DevOps, bei der Software als Tool zur Verwaltung von Systemen und Automatisierung von Operations-Aufgaben verwendet wird.CI/CD trägt der Tatsache Rechnung, dass sich Software kontinuierlich ändert, und gibt den Entwicklern Tools an die Hand, mit denen sie neuen Code noch schneller bereitstellen können.

Vielleicht haben Sie schon bemerkt, dass die „agile Softwareentwicklung" selbst eine agile Idee ist, um in Zeiten der Veränderung auf die Anforderungen der Kunden (d. h. Softwareentwickler) zu reagieren. Das sollten Sie im Hinterkopf behalten, wenn wir uns die verschiedenen agilen Frameworks anschauen, die unterschiedliche Namen haben und sich oft von einer Implementierung zur anderen unterscheiden.

Agile Frameworks für die Softwareentwicklung, wie Scrum, Kanban oder Extreme Programming (XP), bilden die Grundlage für gängige Softwareentwicklungsprozesse wie DevOps und CI/CD (Continuous Integration/Continuous Delivery).

Scrum ist eines der heutzutage am häufigsten verwendeten agilen Frameworks. Allerdings sind nicht alle agilen Frameworks Scrum-Frameworks und, ehrlich gesagt, sind nicht alle Scrum-Frameworks agil. In einem Scrum-Modell arbeiten kleine, funktionsübergreifende Teams aus fünf bis neun Personen zusammen. Diese unterteilen ihre Arbeiten in Schritte, die innerhalb eines konsistenten Zeitraums ausgeführt werden können, der als Sprint bezeichnet wird. Scrum-Teams bestehen aus Teammitgliedern, einem Scrum-Master und einem Product Owner. Normalerweise wird ein Scrum-Modell angewendet, wenn ein großes Projekt in zwei- bis vierwöchige Sprints unterteilt werden kann. Scrum konzentriert sich auf Feedbackschleifen durch eine Zeremonie, die als „Retrospektive" bezeichnet wird. Das inoffizielle Motto bei Scrum könnte „prüfen und anpassen" lauten.

Andere agile Frameworks, insbesondere Kanban, wurden vor dem agilen Manifest entwickelt. Aber diese Frameworks werden als agil eingestuft, weil sie auf denselben Werten basieren wie das agile Manifest. Es gibt zu viele agile Frameworks und Methoden der agilen Skalierung, als dass wir sie hier alle auflisten könnten.

Weiterlesen

ARTIKEL

Was ist DevSecOps?

Wenn Sie die Agilität und Reaktionsfähigkeit von DevOps vollständig ausschöpfen möchten, muss die IT-Sicherheit im gesamten Lifecycle Ihrer Apps eine Rolle spielen.

ARTIKEL

Was ist CI/CD?

CI/CD sorgt für eine kontinuierliche Automatisierung und Überwachung über alle Phasen des App-Lifecycles hinweg, von der Integration und Tests bis hin zur Bereitstellung und Implementierung.

ARTIKEL

Was ist ein DevOps-Ingenieur?

DevOps-Ingenieure besitzen verschiedene besondere Fähigkeiten und Kenntnisse, die für eine bessere Zusammenarbeit, mehr Innovationen und kulturelle Verschiebungen innerhalb einer Organisation sorgen können. 

Mehr über DevOps erfahren

Produkte

Ein fokussierter Intensiv-Workshop mit Red Hat Experten, bei dem Sie lernen, eine agile Methodik und Open Source-Tools zu verwenden, um die geschäftlichen Probleme Ihres Unternehmens anzugehen.

Interaktionen mit unseren strategischen Beratern, die sich ein Gesamtbild von Ihrem Unternehmen machen, Ihre Herausforderungen analysieren und Ihnen helfen, diese mit umfassenden, kosteneffektiven Lösungen zu meistern.

Ressourcen