JAdventure - Kurs zur Softwareentwicklung
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

P1 - Agiles Arbeiten

Einfachste Umschreibung

Von Robert C. Martin stammt eine minimale Umschreibung, die ich sehr treffend finde:

  • Small Problems
  • Small Teams
  • Small Things

Die Kernidee beim agilen Arbeiten ist, dass kleine Probleme von kleinen Teams gelöst werden, die kleine Dinge machen.

Es ist also ein Schlüsselelement, dass die Anforderungen in kleine Aufgaben aufgebrochen werden können.

Agiles Manifest

Eine wichtige Grundlage für das agile Arbeiten ist 2001 gelegt worden, als sich 17 Entwickler getroffen haben: Das Agile Manifest.

Beteiligt waren u.a. Robert C. Martin, Kent Beck, Ward Cunningham, Jeff Sutherland, Martin Fowler, …

Die Kernpunkte des agilen Manifests umfassen:

  • Individuals and interactions over processes and tools
  • Working software over comprehensive documentation
  • Customer collaboration over contract negotiation
  • Responding to change over following a plan

Die agilen Prinzipien sind:

  • Customer satisfaction by early and continuous delivery of valuable software.
  • Welcome changing requirements, even in late development.
  • Deliver working software frequently (weeks rather than months)
  • Close, daily cooperation between business people and developers
  • Projects are built around motivated individuals, who should be trusted
  • Face-to-face conversation is the best form of communication (co-location)
  • Working software is the primary measure of progress
  • Sustainable development, able to maintain a constant pace
  • Continuous attention to technical excellence and good design
  • Simplicity—the art of maximizing the amount of work not done—is essential
  • Best architectures, requirements, and designs emerge from self-organizing teams
  • Regularly, the team reflects on how to become more effective, and adjusts accordingly

Agile Vorgehensweise

Es gibt diverse agile Vorgehensweisen. Kanban, SCRUM, SAFe, … Alle Vorgehen haben aber ein ähnliches Vorgehen, das mehr oder weniger ausgeprägt im Prozess vorhanden ist. So findet die Entwicklung in sich ständig wiederholenden Iterationen statt.

Eine Iteration umfasst dabei:

  • Vision - Alle Beteiligten sollen ein Verständnis dafür haben, was das Ziel ist.
  • Verwaltung von Ideen (Features, Backlog Entries) - Es gibt einen oder mehrere Verantwortliche(n) für das Produkt und dieser verwaltet eine Sammlung von möglichen Erweiterungen. Er ist verantwortlich für eine Bewertung jedes einzelnen Elements.
  • Planung der nächsten Implementationsphase - Es werden Ideen ausgewählt, die umzusetzen sind. Dazu werden diese analysiert und eine Liste mit Aufgaben aufgestellt
  • Implementationsphase - das Entwicklungsteam hat jetzt einen festen Zeitraum, in dem es an den aufgestellten Aufgaben arbeiten kann
  • Präsentation und Review - Nach der Implementierungsphase werden die Ergebnisse vorgestellt und für eine erste Nutzung - soweit möglich - übergeben. Weiterhin findet ein Review Treffen statt, bei dem über die vergangene Iteration gesprochen wird um die Abläufe zu optimieren.