Agiles Design
Inhaltsverzeichnis
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
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?