Agile Softwareentwicklung
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:
- Anforderungsanalyse und -spezifikation
- Systemdesign und -spezifikation
- Programmierung und Modultests
- Integrations- und Systemtest
- 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.