Agile Softwareentwicklung

Die Agile Softwareentwicklung kombiniert FlexibilitÀt, schnelle Projektabwicklung und geringe Kosten. Daher setzen immer mehr Unternehmen auf agile Methoden in der Softwareentwicklung.
Zwei Mitarbeiterinnen einer Software Agentur arbeiten den Scrum Process bei der agilen Softwareentwicklung aus.
© Alexander

Agile Softwareentwicklung Definition

Agil bedeutet, aus dem lateinischen ĂŒbersetzt, zunĂ€chst beweglich oder wendig.

Allgemein formuliert, umfasst Softwareentwicklung die Planung und Umsetzung von Softwareprojekten. Diese Projekte können z.B. Anwendungen fĂŒr Endbenutzer, Entwickler und Betriebssysteme sein, welche mithilfe von Programmiersprachen und Frameworks erstellt werden.

Beide Begriffe zusammen bezeichnen also ein flexibles Projektmanagement in der Informationstechnik (IT).

Mittlerweile ist die Agile Softwareentwicklung zum Standard der Softwareentwicklung geworden und wird von ĂŒber 80% der Unternehmen genutzt.

Was ist besonders an Agiler Softwareentwicklung?

Agile Softwareentwicklung lÀsst sich als Gegenbewegung zu der klassischen Softwareentwicklung beschreiben. Bei traditionellen Methoden wie z.B. dem Wasserfallmodell hat jede Phase zuvor bestimmte Start- und Endpunkte. Diese Phasen könnten beispielsweise bestehen aus:

  1. Anforderungsanalyse und -spezifikation
  2. Systemdesign und -spezifikation
  3. Programmierung und Modultests
  4. Integrations- und Systemtest
  5. Auslieferung, Einsatz und Wartung

Anders als bei dieser Vorgehensweise kann bei der Agilen Softwareentwicklung eine schnelle Anpassung an neue WĂŒnsche der Kunden stattfinden. Wie dies erreicht werden kann, ist im Agilen Manifest festgehalten.

Agile Techniken

Konkrete Verfahren zur Umsetzung der Prinzipien und Werte werden als Agile Techniken bezeichnet.

Beispiele hierfĂŒr sind:

  • Task Boards – Übersicht ĂŒber aktuelle Aufgaben
  • Daily-Standup-meetings – tĂ€gliche Statusbesprechung
  • User Stories – AnwendungsfĂ€lle
  • Timeboxing – klare, feste Zeitvorgaben
  • Earned Value – Fortschritts- & Budgetkontrolle
  • Persona – Einnehmen der Kundenperspektive
  • Definition of Done – Kriterien fĂŒr fertiggestellte Aufgaben
  • Work-in-Progress-Limits – Begrenzung der Anzahl paralleler Aufgaben

Agile Methoden

Agile Methoden sind die Kombination aus den Prinzipien und Techniken.

Sie zeichnen sich durch hohe Eigenverantwortung, einfache Regeln und einen iterativen Entwicklungsprozess aus. Die Zwischenergebnisse werden dabei jeweils vom Kunden bewertet.

Die hÀufigste Methode ist Scrum.

Scrum

Hierbei wird die Software in sogenannten Sprints, die jeweils 2-4 Wochen dauern, erarbeitet, wodurch eine einfachere Reaktion auf Änderungen möglich ist. Der Hauptfokus bei der Scrum Entwicklung liegt auf Selbstorganisation und Selbstmotivation.

ZunĂ€chst gibt es einen Product Owner, welcher einen Backlog mit allen Anforderungen erstellt. Das Scrum Team ist schließlich fĂŒr die Entwicklung dieses gewĂŒnschten Produktes verantwortlich und organisiert sich dabei selbststĂ€ndig. Dieses Team besteht aus ca. 3-9 Personen, wobei die Mitglieder meist crossfunctional, also nichtspezialisiert arbeiten. Als eine Art „Moderator“ in Scrum Meetings versteht sich der Scrum Master, welcher außerdem RegelverstĂ¶ĂŸe verhindert.

Kanban

Im Gegensatz zu Scrum haben die Mitglieder des Teams bei der Kanban Methode keine festen Rollen. Es gibt ein sogenanntes Kanban-Boards mit den Einteilungen To-Do; In-Progress; Done.

AnfĂ€nglich werden alle zu erledigenden Aufgaben ganz links positioniert und von den Mitgliedern des Teams je nach Bearbeitungszustand eigenstĂ€ndig verlegt. So behalten alle Beteiligten jederzeit den Überblick und können dementsprechend handeln. Besonders geeignet ist die Methode fĂŒr Routinearbeiten.

Hybride

Oft findet man eine Kombination aus traditionellen und agilen Prozessen, bei dem der traditionelle, organisatorische Rahmen mit einer Entwicklung nach agilen Prinzipien verbunden wird (z.B. Scrum + V-Modell).

Ebenfalls existieren auch Hybride aus Kanban und Scrum durch Nutzung eines Kanban-Boards, gekoppelt mit festen Rollen im Team.

Vorteile von Agiler Softwareentwicklung

Der grĂ¶ĂŸte Vorteil und gleichzeitig auch Unterschied zu traditionellem software development ist das direkte Feedback vom Kunden durch regelmĂ€ĂŸige Meetings. Neben Transparenz fĂŒhrt dies auch zu einer frĂŒhen Fehlererkennung, flexiblen Reaktionen auf Änderungen der AnsprĂŒche und Vermeidung von MissverstĂ€ndnissen. All das begĂŒnstigt außerdem eine erhöhte Zufriedenheit des Kunden mit dem Endprodukt. Eine schnellere Fertigstellung (time-to-market) wird ebenfalls durch kurze Kommunikationswege möglich.

Agile Softwareentwicklung bei TenMedia in Berlin

Aufgrund dieser vielen Vorteile, die Agile Softwareentwicklung bietet, setzen viele Unternehmen auf diese Methoden. Auch bei TenMedia in Berlin wird beispielsweise die Scrum-Methode erfolgreich eingesetzt. Unsere effiziente, agile und kundenorientierte Arbeitsweise fĂŒhrt nicht nur im Team, sondern auch bei Auftraggebern zu grĂ¶ĂŸerer Zufriedenheit. Statt Software von der Stange zu bieten, wird jedes Projekt bei uns mithilfe individueller Softwareentwicklung umgesetzt und setzt damit bei unternehmenseigenen WĂŒnschen und BedĂŒrfnissen an.

Neben der Softwareentwicklung ĂŒbernehmen wir auch die Webentwicklung sowie die Konzeption moderner Webportale, sowohl im Kundenauftrag als auch als eigene Projekte. Ob als Webagentur Berlin oder bundesweit unterstĂŒtzen wir Unternehmen branchenunabhĂ€ngig und in jeder GrĂ¶ĂŸe, von Start-ups ĂŒber Vereine und öffentliche Einrichtungen bis hin zu KMU und Konzernen. Durch eigene Portale und unserer Rolle als Co-Founder von Start-ups gehen wir mit viel Erfahrung an die Umsetzung neuer Projekte.

Unser Team steht jederzeit bei Fragen und Anregungen telefonisch, per Mail oder persönlich in unserem Office in Berlin zwischen Alexanderplatz und Rosa-Luxemburg-Platz bereit.