Agiles Design

Agile Design

Copyright © Shutterstock / Wright Studio

Was ist Agiles Design?

Beim Agile Design handelt es sich um einen Oberbegriff, mit dem der Einsatz von Agilität im Bereich der Softwareentwicklung bezeichnet wird. Je nach Kontext kann sich Agile Design auf bestimmte Teilbereiche der Softwareentwicklung beziehen oder auch auf den gesamten Entwicklungsprozess. Agile Design zeichnet sich in erster Linie durch Teams aus, die sich selbst organisieren, sowie durch eine iterative und inkrementelle Arbeitsweise. Bei der Agile Vorgehensweise wird versucht, sich an neue Gegebenheiten und Veränderungen schnell anzupassen, ohne dabei das Fehlerrisiko zu erhöhen. Der Entwicklungsprozess soll flexibler und schlanker gemacht werden.

Geschichtliche Entwicklung

Die ersten Versuche, agiles Design einzuführen, gab es bereits Anfang der 1990er Jahre. Die agile Vorgehensweise führte jedoch viele Jahre lang ein Schattendasein. Sie wurde erst im Jahr 1999 popularisiert. Das passierte im Rahmen der Veröffentlichung des Buches “Extreme Programming” des  Softwareentwicklers Kent Beck. Durch das große öffentliche Interesse für Extreme Programming wurde zugleich auch der Weg für andere agile Konzepte geebnet.

Die Bezeichnung “agile” für diese Vorgehensweise bei der Softwareentwicklung wurde im Februar 2001 bei einer Entwickler-Konferenz in Utah ausgewählt. Agile Design hat sich im Laufe der Jahre als beliebtester Ansatz bei der Softwareentwicklung etabliert. Dies führte dazu, dass bei einer Umfrage von Forrester Research aus dem Jahr 2016 zufolge bereits 95 Prozent aller Unternehmen agile Prozesse einsetzen.

Agiles Design in moderner Softwareentwicklung

 Bei der agilen Vorgehensweise wird auf Pflichthefte verzichtet. Nachdem am Anfang einige wenige Basisfunktionalitäten definiert werden, wird umgehend mit dem Projekt begonnen. Während der Entwicklungsphase können dann bei Bedarf neue oder geänderte Anforderungen definiert werden, die die Software erfüllen soll. Dies kann beispielsweise dadurch zustande kommen, dass die Software andere Anforderungen erfüllen muss, als es bisher angenommen wurde oder dass sich die Marktbedingungen stark verändert haben. Dank der iterativen Natur des agilen Designs macht man viele Erfahrungen in einem laufenden Projekt. Diese kann man dann  in nachfolgende Entwicklungsprozesse integrieren.

Ein erfolgreiches Entwicklungsprojekt zeichnet sich nicht nur durch den Einsatz einer modernen technologischen Basis aus, sondern in erster Linie auch durch eine einfache und effiziente Kommunikation. Aus diesem Grund stehen Entwickler in agilen Projekten im ständigen Kontakt mit dem Auftraggeber. Details und Unklarheiten können so sofort geklärt werden. Man verzichtet daraus resultierend auf schriftliche Anfragen, die oft zu spät beantwortet werden. Weil Softwareingenieure im ständigen Kontakt zum Kunden stehen und in regelmäßigen Intervallen Feedback erhalten, wird das Risiko minimiert, dass sich das Projekt in eine falsche Richtung entwickelt.

Vorteile agiler Prozesse

Agile Methoden liefern einen Rahmen, in dem Softwareentwickler aus ihren eigenen Erfahrungen lernen können und in dem stets realistische Vorstellungen von der Entwicklungsdauer einzelner Projekte bestehen. Dadurch entsteht der Vorteil, dass unrealistische Pläne bereits am Anfang erkannt werden, sodass stets eine hohe Qualität der Produkte gewährleistet werden kann.

Agile Design fördert die direkte Kommunikation zwischen Entwickler und Anwender – und das am besten auf einer täglichen Basis. Dank dieser direkten Kommunikation können Softwareingenieure besser verstehen, welche Anforderungen die Anwender an das Softwareprodukt stellen. Gleichzeitig zeigen Anwender auch ein gewisses Maß an Verständnis, wenn unvorhersehbare Probleme auftauchen oder Prognosen von den Entwicklern korrigiert werden müssen.

Kritische Sichtweise

In der Softwarebranche ist es umstritten, ob der Entstehungsprozess von Softwareprodukten mittlerweile so gut begriffen wird, dass eine Herstellung nach Plan überhaupt möglich ist. Kritiker des agilen Designs meinen, dass es sich bei Software um nichts anderes als um ausführbares Wissen handelt. Außerdem merken sie an, dass sich Wissen nicht planmäßig herstellen lässt, sondern in einem kreativen Prozess entsteht. Darüber hinaus kann es auch in manchen Fällen äußerst schwierig sein, alle agilen Methoden einzuführen und auch konsequent zu befolgen. Denn dazu müssen Entwickler alte Gewohnheiten ablegen und sich auf neue Konzepte einlassen. Dazu gehört, immer wieder zu überprüfen, wie man seine Vorgehensweise optimieren kann.


Sie haben noch Fragen?

Kontaktieren Sie uns

Kostenloser SEO-Check der OSG


Weitere Inhalte