Ein Blick in die Welt der agilen Entwicklungsmethodik
(PresseBox) - Die Vertreter der agilen Entwicklungsmethodik haben ihre wichtigsten Werte so festgelegt:Â
 Â
Neues Rollenverständnis für Entwickler, Manager und Kunden
Keine großen Schritte vorab
Interaktive und iterative Entwicklung
Begrenzte, verhandelte Funktionalität
Fokus auf Qualität, zu erreichen durch testen
Das agile Rollenverständnis gibt dem Team ein großes Gewicht und überlässt diesem die Auswahl und Zuweisung von anstehenden Aufgaben. Der Manager wird als Unterstützer des Teams verstanden, nicht mehr als Entscheider. Kunden sind nicht mehr nur passive Empfänger der Entwicklungsergebnisse, sondern partizipieren aktiv am Entwicklungsprozess. In vielen Fällen haben Sie im Team auch einen Repräsentanten.
Planungsarbeiten und das Erstellen von Anforderungsdokumenten beanspruchen in nicht agilen Prozessen oft erheblichen Aufwand. Die Befürworter agiler Methoden behaupten, dass die Kunden am Anfang eines Projektes oft gar nicht wüssten, was sie eigentlich wollen. Selbst wenn man plant und Anforderungen zusammenstellt, so werden diese Arbeiten im Laufe des Projekts überholt werden und vielfach geändert. Vorab Designs zu erstellen gilt als Zeitverschwendung, weil man noch gar nicht weiß, was funktionieren wird und was nicht.
Statt vorab Anforderungen zu erstellen wird empfohlen, ständig mit dem Kunden zu interagieren. Auf diese Weise erhält das Entwicklungsteam Einsicht in die Problematik des Kunden und gleichzeitig zeitnah Rückkopplung zum schon erarbeiteten Entwicklungsergebnis. Anstelle eines dieser eins wird die interaktive Vorgehensweise beim Bau des Systems vorgezogen. Notwendig werdende Änderungen am Design werden durch "refactoring" erzielt.
Agile Entwicklung ist durch die starke Einbindung des Kunden interaktiv und in feste Zeitabschnitte ("Iterationen") eingeteilt. Zu Beginn einer jeden Iteration wird eine Liste mit der gewünschten Funktionalität erstellt, aus der das Team die Aufgaben auswählt, die den höchsten Business Value bzw. ROI versprechen.
Verhandelt wird nicht der Termin, sondern der Funktionsumfang, der am Ende des Zeitabschnitts geliefert werden kann. Agile Entwickler halten es für unrealistisch, vorab einen Gesamtplan zu erstellen, bei dem sowohl ein Funktionsumfang wie auch ein Liefertermin für ein fertiges Produkt festgelegt werden. Die agile Planung ist immer nur für den nächsten Zeitabschnitt verbindlich, der sich in der Regel über wenige Wochen erstreckt.
Qualität wird nach dem Verständnis der agilen Methodik hauptsächlich durch testen erreicht. Einen wichtigen Platz nehmen dabei die Regressionstests ein, die sicherstellen sollen, dass sich die Software stetig verbessert. Andere Ansätze für verbesserte Produktqualität wie formale Methoden, Reviews oder Design spielen praktisch keine Rolle.
Es gibt viele Entwickler, die von der agilen Methodik und dort vor allem von Scrum und Kanban begeistert sind. Das resultiert nicht zuletzt daher, dass Entwickler Code schreiben möchten und keine Dokumente. Auch ist es in der Regel unangenehmer gegen einen Plan zu arbeiten, als mehr oder weniger selbst festlegen zu können, was man in den nächsten zwei Wochen erreichen möchte.
Es gibt eine ganze Reihe von Scrum Software, die den Entwicklern das Leben erleichtert. Komplizierte Projektmanagement-Software wird dann nicht mehr benötigt. Neben Scrum Tools spielen auch Hilfsmittel für kontinuierliche Integration eine große Rolle. Dazu gehören Buildsysteme wie zum Beispiel Jenkins und Konfigurationsmanagementsysteme wie Git und Subversion.