Zurück zum Blog
Lesedauer: 9 Minuten

Agile Softwareentwicklung – ein Einstieg

Agile Softwareentwicklung

Agile Softwareentwicklung steht im Gegensatz zur klassischen Entwicklung, die auf der Annahme aufgebaut, dass die Planung einer Software vollständig vor Projektstart erfasst und in einer Umgebung ohne sich ändernde Anforderungen umgesetzt werden kann.

Wenn Sie selbst bereits ein oder zwei größere Software-Projekte begleitet oder umgesetzt haben, fangen Sie spätestens jetzt schon an, zu schmunzeln – denn die Realität im Projektalltag könnte anders nicht sein!

Die klassische (Wasserfall) Softwareentwicklung basiert auf Vorausplanung und strikter  Umsetzung eines zuvor definierten Plans, ohne nennenswerte Änderungen.

Die agile Softwareentwicklung basiert dagegen auf Flexibilität und Anpassung an neue Erkenntnisse. Und zwar über das gesamte Projekt hinweg.

Doch was genau ist agile Softwareentwicklung – und durch welche Prozesse zeichnet sich ein Arbeitsalltag mit dieser Methode aus?

Dieser Beitrag bietet Führungskräften, Product Ownern und Marketing Managern einen Einstieg in den Alltag agiler Softwareentwicklung.

1. Agile Softwareentwicklung Definition in Kürze

In der klassischen Entwicklung werden die zuvor erarbeiteten Anforderungen von Ihnen oder Ihrem Dienstleister in einem detaillierten Pflichtenheft festgehalten.

Dieser Prozess ist für die Aufwandschätzung in der herkömmlichen Softwareentwicklung zwingend notwendig und dient meist als Vereinbarung bzgl dessen, was im Projekt geliefert werden soll.

Das Erstellen eines Lasten- und Pflichtenhefts verursacht bereits erste und oft signifikante Kosten und nimmt viel Zeit in Anspruch.

Nachträgliche Änderungswünsche in diesem „starren“ Konzept sind nur durch erhöhte Kosten zu bewerkstelligen, ohne Gewissheit auf Erfolg.

In der digitalen Welt haben Wasserfallprojekte aufgrund ihres starren Charakters nur noch einen geringe Stellenwert.

Sie finden dann Anwendung, wenn wirklich sicher ist, was die Software am Ende können soll, wenn variable Anforderungen während der Entwicklungszeit also ausgeschlossen werden können – doch geht das wirklich?

Wir verraten:

Die Annahme, dass das Ergebnis eines komplexen Projekts vorab genau beschrieben werden kann, hat sich schlicht und einfach immer wieder als falsch herausgestellt.

Doch wie lassen sich nötige Planungssicherheit, Prozesse und Transparenz in (womöglich unbekannten) agilen Gewässern umsetzen?

2. Pflichtenheft oder Lastenheft für agile Softwareentwicklung?

Agile Softwareentwicklung funktioniert ohne einen detaillierten Anforderungskatalog, der zu Beginn erstellt wird – nicht jedoch ohne detaillierte Anforderungen während des Projektverlaufs.

Dies ermöglicht eine hohe Projekt-Geschwindigkeit und ist ein erheblicher Vorteile agiler Softwareentwicklung.

Kunden oder Product Owner müssen nur wenige und somit die am höchsten priorisierten Anforderungen stellen.

Das Projekt startet sofort mit einem ersten Sprint, zunächst mit der Konzeption, dem Backlog-Refinement und dann mit der Entwicklung der wichtigsten Funktionen.

Natürlich ist das A und O eines erfolgreichen Projekts, dass Sie noch vor Start wissen, was Sie und Ihre Zielgruppe erreichen wollen – die Strategie, Zielsetzung und Rahmengebung muss selbstverständlich auch in agilen Projekten detailliert erarbeitet werden.

Sie bestimmen dann, was als Nächstes geschehen soll.

 

Suchen Sie einen Partner für Ihr Softwareprojekt?

 

Sie konzipieren Anforderungen in Form von Epics und User Stories für den nächsten Sprint, während sich der aktuelle Sprint in der Umsetzung befindet.

Diese Konzeption mit anschließender Priorisierung nennt man in der agilen Softwareentwicklung nach Scrum auch „Backlog Refinement“.

Nach jedem Schritt erhalten Sie in der agilen Softwareentwicklung ein Stück funktionierende Software, auch Inkrement genannt.

Somit behalten Sie stets den Überblick und die Kontrolle über das Projekt, indem Sie jederzeit den Fortschritt und die Performance Ihres Teams überprüfen können (und nicht erst am Ende des Projekts, wie in klassischen Wasserfallprojekten).

Da die wichtigsten Anforderungen zuerst entwickelt werden, kann nach kurzer Entwicklungszeit schon eine Basisversion des Systems zum Einsammeln von erstem Nutzerfeedback eingesetzt werden.

Mit der Zeit wächst so die Software mit realistischen Anforderungen – und durch das schnelle Feedback der Nutzer auch der echte Mehrwert für Ihre Zielgruppe.

Während des Projekts werden neue oder geänderte Anforderungen definiert, weil z.B. festgestellt wurde, dass sich das Umfeld geändert hat oder dass die Anforderungen der Nutzer an das Projekt angepasst werden müssen.

Das könnte Sie auch interessieren: Buyer Persona – Definition, Beispiele & Persona Template

Durch diesen Prozess wird nur das entwickelt, was wirklich von Nutzen ist. Die Anforderungen werden somit gemeinsam mit Anwender:innen und dem Projektteam während des Projektverlaufs erarbeitet – ein weiterer Vorteil agiler Softwareentwicklung, besonders in der sich schnell verändernden Welt zahlreicher Transformationen klassischer Modelle.

Die Flexibilität, schnell auf Nutzerfeedback reagieren zu können und somit Veränderung zuzulassen und zu akzeptieren, fehlt in klassischen Softwareprojekten erheblich.

Schritt-für-Schritt Anleitung mit Templates für die Definition Ihrer Strategie, für frühe Nutzertests zur Validierung Ihrer Idee und für Ihr Konzept

Sie erhalten all das und vieles mehr in unserer umfangreichen Anleitung für Strategie, Konzept, Entwicklung und Vermarktung digitaler Projekte – und zwar kostenlos hier 😉

Suchen Sie einen Digitalisierungspartner?

3. Anforderungen in der agilen Softwareentwicklung

In der agilen Softwareentwicklung, bei der die Zielgruppe im Mittelpunkt steht, werden Anforderungen aus Nutzersicht so definiert, dass diese im Sinne einer „Digital Customer Journey“ nachvollziehbar und optimalerweise schon vor der Umsetzung interaktiv zu erkunden sind.

Diese bestehen meist aus:

  • Personas: Eine „Beispielperson“ einer bestimmten Nutzergruppe, welche die Software nutzen soll.
  • Use Cases: Die Definition von groben Anwendungsfällen einer Person in Ihrer Nutzergruppe.
  • Epics: Funktionsgruppen der Software (z.B. Benutzerverwaltung, Content Management, Medienverwaltung, Navigation etc).
  • User Stories: User Stories sind ein wichtiger Teil agiler Softwareentwicklung, in der (aus der Sicht der User) Interaktionen zwischen User und Software beschrieben werden. Z.B. „Als anonymer Nutzer möchte ich ein Formular sehen, in das ich meinen Benutzernamen und mein Passwort eingebe, den „Einloggen“ Button klicke und anschließend die Software als angemeldeter Nutzer verwenden kann.“)
  • Wireframes: Wireframes stellen einzelne Epics und User Stories in einer Art interaktivem Prototypen dar. So können die funktionalen Anforderungen visuell verständlich dargestellt werden.
  • Designs: Designs stellen die Benutzeroberfläche in der finalen Fassung dar. Meist werden die Designs erstellt, indem ein Styleguide einer Corporate Identity auf die zuvor erstellten Wireframes angewendet wird.

Vergessen Sie nicht – nur ein kontinuierlich verbesserter Funnel in Ihrem Marketing und Vertrieb liefert Ihnen die Ergebnisse, die Sie sich von Ihrem digitalen Projekt wünschen.

 

Erhalten Sie Ihre validierte Strategie in nur 30 Tagen.

Gerne führen wir Sie als Partner durch einen etablierten Prozess zur Erstellung und Validierung Ihrer Strategie. Gerne übernehmen wir die Validierung mit Microtests für Sie oder wir zeigen Ihnen Schritt für Schritt, wie Sie Microtests zur Validierung Ihrer Strategie durchführen.
So bleiben Sie unabhängig und bauen Know-how intern auf. Jetzt kostenlose Beratung anfragen.

4. Wann sind Anforderungen „ready“ und wann „done“?

• Definition of Ready: In der agilen Softwareentwicklung bestimmen Sie, wann eine Anforderung so weit ausgearbeitet ist, dass sie von einem agilen Entwicklerteam umgesetzt werden kann.

Meist regelt diese Definition, dass Anforderungen in Form von User Stories, Designs und Akzeptanzkriterien vorliegen müssen, um möglichst klar und eindeutig das gewünschte Resultat zu definieren.

• Definition of Done: Sie bestimmt, wann eine Anforderung wirklich fertig umgesetzt wurde. Häufig ist dies der Fall, wenn die Anforderungen auf dem Stage-System erfolgreich getestet wurden, wenn die Akzeptanzkriterien zu der Anforderung mit automatisierten Tests abgedeckt wurden, wenn die Dokumentation erstellt und die Umsetzung in der Projektmanagement-Software nachvollziehbar protokolliert wurde.

5. Agile Softwareentwicklung basiert auf ständiger Verbesserung

Die Vorteile agiler Entwicklung können voll ausgenutzt werden, wenn Anforderungen während des Backlog Refinements klar definiert und sowohl Team, Tools und Methoden konsequent eingesetzt werden.

Um Missverständnisse zu vermeiden: Es muss nicht alles von Beginn an eindeutig definiert werden, aber sehr wohl für jeden Sprint.

Anforderungen, die großen Interpretationsspielraum zulassen, überlassen es dem Zufall, wie diese Lücken in den Anforderungen letztendlich während der Umsetzung in einem Sprint geschlossen werden.

Wer aber möchte schon sein Produkt dem Zufall überlassen….

Neue Anforderungen, die sich während der Umsetzung oder während der Akzeptanztests mit den Nutzern ergeben, können direkt im nächsten Sprint (und nicht erst nach Fertigstellung des Projekts) umgesetzt werden, wenn diese im Product Backlog priorisiert werden. Passen diese Anforderungen noch in den aktuellen Sprint hinein und committed sich das Team darauf, entstehen meist keine zusätzliche Aufwände und Kosten.

Alle Prozesse sind für Sie transparent, die Kosten der einzelnen Funktionen direkt ersichtlich.

Diese volle Transparenz ist ein weiterer Vorteil der für agile Softwareentwicklung spricht.

Sie erleben den Entwicklungsprozess aktiv mit und haben nach jedem Sprint eine Software, mit der Sie testen, arbeiten und Feedback einholen können.

Ein gefühlter Nachteil, der von den Kunden oder Product Ownern mit einer Historie an (meist mehr oder weniger ) gut vorausgeplanten Wasserfallprojekt oft gesehen wird, ist die Unkenntnis über den Gesamtaufwand zur Fertigstellung der Software.

Erfahrungsgemäß verläuft agile Softwareentwicklung jedoch für beide Seiten viel zufriedenstellender als Projekte, die mit einem Lastenheft und Pflichtenheft begonnen werden und am Ende ein zwar geplantes Ergebnis liefern, das aber von der Zielgruppe nicht angenommen wird, da diese nicht frühzeitig mit ins Projekt eingebunden wurden oder Details eben doch nicht in der Tiefe definiert wurden, wie sie im Projekt benötigt wurden.

Unerfüllte Erwartungen und somit Frust sind häufig die Folge.

Der scheinbare Nachteil ist kein wirklicher Nachteil, da die Kosten transparent sind (Sie zahlen z.B. sprintweise das, und somit genau das, was Ihre Zielgruppe an Mehrwert bekommt) und die Anforderungen klar durch Kosten und Mehrwert priorisiert sind.

Der Mehrwert, der in einem Sprint erarbeitet wurde, wird in agiler Softwareentwicklung meist über die Earned-Value-Methode ermittelt und die Performance des Teams über die Velocity die sich aus dem Burndown-Chart ergibt.

Auch wenn ein Festpreis oft „vermeintliche“ Sicherheit gibt, ist dies nur der Fall, wenn die Anforderungen vollständig sind und keine wesentlichen Lücken aufweisen.

Achtung: Prüfen Sie ob Sie dazu wirklich in der Lage sind. Wir haben in über 11 Jahren noch kein Projekt gesehen, dass das wirklich vollständig erreicht hat.

Sonst kommt es sowohl in Wasserfallprojekten als auch in der agilen Softwareentwicklung zu ungeplanten Mehraufwänden. Eine wesentlich größere Sicherheit erhalten Sie in agilen Projekten durch die Flexibilität, die Transparenz und die Möglichkeit, in jedem Sprint das umzusetzen, was wirklich wichtig ist – ganz im Sinne Ihrer Zielgruppe.

 Erhalten Sie hier kostenlosen Zugriff auf das praxisnahe Erklärvideo.

6. Tools für agile Softwareentwicklung

Agile Softwareentwicklung lebt von der Zusammenarbeit der einzelnen Teammitglieder. Das gilt für lokale Teams genauso wie für remote Teams.

Damit der Prozess als auch das Team bestmöglich unterstützt werden, sollten Tools möglichst konsequent mit Mehrwert für das Projektteam eingesetzt werden, damit sich die Vorteile agiler Entwicklung voll entfalten können und Ihr Projekt trotz hoher Flexibilität planbar wird.

Die gängigsten Tools in der agilen Softwareentwicklung sind (insbesondere in der Zusammenarbeit mit remote-arbeitenden Teams):

  • Confluence: Confluence wird als Wiki häufig zur Anforderungsdefinition und Dokumentation in agilen Projekten, meist nach Scrum, genutzt. Der Vorteil für agile Softwareentwicklung in der Nutzung zusammen mit Jira ist, dass Anforderungen (Epics als auch User Stories) direkt in Jira als Issues überführt werden können.
  • Jira: Jira dient als Issue Tracker und Projektmanagementsoftware für agile Softwareentwicklung zum Verwalten des Backlogs und der Sprints. Jira ermöglicht das kollaborative Zusammenarbeiten ganzer Entwicklerteams. Zahlreiche Integrationen wie z.B. mit GIT, Confluence und anderen Tools sorgen für einen möglichst reibungslosen Prozess und Transparenz im Projektverlauf. Zeiterfassung, Planungs-Poker und Task-Management sind enthalten. Eine Alternative sind Trello oder Asana.
  • Slack, Rocketchat, Zulip oder Microsoft Teams: Jedes dieser Tools bietet eine Plattform für den Austausch zwischen einzelnen Teammitgliedern. Meist sind diese Chat-Tools ebenfalls mit einem Video-Chat versehen. So ist auch das Arbeiten an verschiedenen Standorten kollaborativ und agil möglich.
  • Sketch und Invision: Sketch erlaubt das schnelle erstellen von Benutzeroberflächen (UI) und Wireframes. Mit Invision verknüpfen Sie die verschiedenen Screens und erstellen so interaktive Wireframes. Über das Craft Plugin können auch Ihre Frontend-Entwickler Wireframes in Ihrer Spezifikation einfach und präzise erkunden.

7. Agile Softwareentwicklung mit virtuellen Teams

Zu den Vorteilen agiler Entwicklung gehört erhöhter Mehrwert und hohe Effizienz.

Durch moderne Cloudtools zur Unterstützung von agilen Projekten ist verteiltes Arbeiten in Remote-Teams nahezu der Alltag. Hohe Transparenz und KPI-basiertes Controlling sorgen dafür, dass Erfolg planbar und messbar wird.

Damit die Qualität in Ihrer agilen Softwareentwicklung möglichst auf viele unabhängige Experten verteilt ist, empfehlen wir darauf zu achten, dass in Ihrem Team immer mindestens die folgenden Positionen mit Experten besetzt sind (hier hat es sich herausgestellt, dass fehlende Erfahrung und Qualifikation bei Teammitgliedern im Projektverlauf oft teuer bezahlt wird):

  • Scrum Master: Sorgt dafür, dass das agile Team die Prozesse, Tools und Methoden konsequent einhält und somit ein reibungsloser Projektablauf stattfinden kann, der die Vorteile agiler Softwareentwicklung voll ausnutzt.
  • Product Owner: Managed das Produkt mit all seinen Features und sorgt dafür, dass ein Mehrwert für die Nutzergruppe der Software entsteht.
  • Business Analyst: Nimmt die Anforderungen auf, analysiert und dokumentiert dieser in Form von Epics und User Stories.
  • UI/UX Designer: Definiert die User-Experience und sorgt dafür, dass die Oberflächen einfach und intuitiv zu bedienen sind.
  • Team Lead / Architect: Bestimmt die Software- und Systemarchitektur gemeinsam mit dem DevOps-Engineer und führt das Entwicklerteam.
  • Backend-Entwickler:in: Entwickelt das Backend (wir empfehlen hier zwei Entwickler einzusetzen, um einen gegenseitigen Review-Prozess zu etablieren).
  • Frontend-Entwickler:in: Entwickelt das Frontend (wir empfehlen hier zwei Entwickler einzusetzen, um einen gegenseitigen Review-Prozess zu etablieren).
  • DevOps-Engineer: Sorgt dafür, dass die Deployment Infrastruktur als auch die gesamte Systemarchitektur reibungslos funktionieren und im Projekt flexibel erweiterbar bleiben.
  • QA / Software Tester:in: Sorgt dafür, dass die Software eine hohe Qualität und wenige Bugs aufweist.
  • QA Engineer: Für agile Entwicklung, mit einer kontinuierlichen Weiterentwicklung, empfehlen wir den Einsatz automatisierter Tests. Diese werden vom QA Engineer erstellt. Somit bleibt die Software auch mit ständiger Weiterentwicklung im Verlauf stabil im Bezug auf vergangene Anforderungen. So vermeiden Sie auch, dass der Testaufwand (oder die Fehlerquote) mit fortschreitendem Projekt nicht exponentiell zunimmt.

8. Fazit

Agile Softwareentwicklung bietet größtmögliche Flexibilität und sorgt durch den passenden Einsatz von Tools wie Trello und Methoden dafür, dass Ihr Produkt genau das an Funktionen erhält, was Ihre Zielgruppe wirklich benötigen – und nicht das, was irgendwann mal im stillen Kämmerlein geplant wurde.

Häufiges Feedback durch Ihre Nutzergruppe sorgt dafür, dass Sie sowohl Ihre Zielgruppe als auch Ihr Angebot noch besser verstehen können.

Agil heißt nicht planlos. Strategie, Prozesse und Fokus sind essentielle Pfeiler Ihres agilen Projekts.

Anforderungen, die in einem Sprint umgesetzt werden sollen müssen sehr wohl klar definiert sein.

Dann werden Sie sehen (und erleben), wie Sie durch Flexibilität, Transparenz und Geschwindigkeit in agilen Projekten einen deutlich höheren Mehrwert generieren können als in klassischen Wasserfallprojekten.

New call-to-action

Sie möchten mit Ihrer Softwareentwicklung durchstarten?

Alles, was Sie in diesem Beitrag erfahren, haben wir bereits in zahlreichen Projekten aufgebaut und in Projekten mit CxOs, Marketing Managern, Product Ownern und Digital-Verantwortlichen optimiert. Wenn Sie direkt starten wollen, ohne selbst die Methoden, Tools, Prozesse und Teams für eine erfolgreiche Softwareentwicklung aufbauen zu müssen, und ganz gleich ob Sie sich in der Phase der Strategie, im Konzept, in der Umsetzung oder in der Vermarktung befinden, dann übernehmen wir gerne für Sie den Großteil der Arbeit und führen Sie partnerschaftlich durch den gesamten Prozess.

Sie können sich dann auf Ihre Kernaufgaben fokussieren und Ihr Projekt auf die Zielgerade bringen, wir führen Sie durch die gesamte Strategie- und Konzeption und wenn Sie möchten, können Sie auch direkt mit unseren Experten-Teams zusammenarbeiten.

Wir bieten Ihnen dazu eine kostenlose Beratung an, in der wir mit Ihnen einen groben Projektplan erstellen und Ihnen die Schritte aufzeigen, die Ihr Projekt erfolgreich machen, von der Strategie über die Umsetzung bis zur Vermarktung.

Jetzt kostenlose Beratung anfragen.

Wenn Sie alle diese Schritte selbst durchlaufen möchten und Ihr Projekt intern voranbringen möchten, laden Sie sich gerne unsere ausführliche Anleitung zur erfolgreichen Planung, Entwicklung, Konzeption und Vermarktung digitaler Produkte hier herunter. Sie erhalten damit geballtes Know-how, das auch Ihre Softwareentwicklung erfolgreich macht.

Kostenloser Download

Umfassende Anleitung für Strategie, Umsetzung & Vermarktung von Web-, Mobile-& Cloud-Anwendungen.

Sie erhalten eine detaillierte Anleitung mit Methoden, Templates & Strategien für Konzeption, Umsetzung & Vermarktung von digitalen Produkten. Über 190 erfolgreiche Projekte zeigen: Es funktioniert.

New call-to-action
Anleitung anfordern

Verwandte Blogbeiträge

Diese Themen beschäftigten uns und unsere Kunden kürzlich