Agile Modellierung - Agile modeling

Agile Modellierung (AM) ist eine Methode zur Modellierung und Dokumentation von Softwaresystemen auf der Grundlage von Best Practices. Es ist eine Sammlung von Werten und Prinzipien, die auf ein (agiles) Softwareentwicklungsprojekt angewendet werden können. Diese Methode ist flexibler als herkömmliche Modellierungsmethoden und passt daher besser in eine sich schnell ändernde Umgebung. Es ist Teil des Agile Software Development Toolkits.

Die agile Modellierung ist eine Ergänzung zu anderen agilen Entwicklungsmethoden wie Scrum , Extreme Programming (XP) und Rational Unified Process (RUP). Es ist ausdrücklich als Teil des DAD-Frameworks ( Disziplined Agile Delivery ) enthalten. Laut Statistik von 2011 machte die agile Modellierung 1% der gesamten agilen Softwareentwicklung aus.

Kernpraktiken

Es gibt mehrere Kernpraktiken:

Dokumentation

  1. Dokumentieren Sie kontinuierlich. Die Dokumentation erfolgt während des gesamten Lebenszyklus parallel zur Erstellung des Restes der Lösung.
  2. Dokument spät. Die Dokumentation erfolgt so spät wie möglich, um spekulative Ideen zu vermeiden, die sich wahrscheinlich zugunsten stabiler Informationen ändern.
  3. Ausführbare Spezifikationen. Die Anforderungen werden in Form von ausführbaren "Kundentests" anstelle von nicht ausführbaren "statischen" Dokumentationen angegeben.
  4. Informationen aus einer Hand. Informationen (Modelle, Dokumentation, Software) werden an einem Ort und nur an einem Ort gespeichert, um Fragen nach der "richtigen" Version / Information zu vermeiden.

Modellieren

  1. Aktive Beteiligung der Stakeholder. Stakeholder der zu modellierenden Lösung / Software sollten aktiv daran beteiligt werden. Dies ist eine Erweiterung der Kundenpraxis vor Ort von Extreme Programming .
  2. Architektur im Auge. Das Team führt zu Beginn eines Softwareprojekts eine leichte Modellierung auf hoher Ebene durch, die gerade noch gut genug ist (JBGE), um die Architekturstrategie zu untersuchen, von der das Team glaubt, dass sie funktionieren wird.
  3. Inklusive Tools. Bevorzugen Sie Modellierungswerkzeuge wie Whiteboards und Papier, mit denen Sie leicht arbeiten können (sie sind inklusive).
  4. Iterationsmodellierung. Wenn eine Anforderung / ein Arbeitselement durch Vorausschau-Modellierung nicht ausreichend detailliert untersucht wurde, kann das Team diese Untersuchung während der Iterations- / Sprint-Planungssitzung durchführen. Die Notwendigkeit, dies zu tun, wird im Allgemeinen als Symptom dafür angesehen, dass das Team keine ausreichende Vorausschau-Modellierung durchführt.
  5. Gerade kaum gut genug (JBGE). Alle Artefakte, einschließlich Modelle und Dokumente, sollten für die jeweilige Aufgabe gerade ausreichen. JBGE ist kontextbezogener Natur. Im Fall des Modells wird es durch eine Kombination aus der Komplexität dessen, was das Modell beschreibt, und den Fähigkeiten des Publikums für dieses Modell bestimmt.
  6. Vorausschau-Modellierung. Ein agiles Team überprüft seinen Rückstand um eine oder mehrere Iterationen / Sprints, um sicherzustellen, dass eine Anforderung / ein Arbeitselement zur Bearbeitung bereit ist. Wird in Scrum auch als "Backlog Grooming" oder "Backlog Refinement" bezeichnet .
  7. Modell stürmt. Eine kurze, oft spontane, agile Modellierungssitzung. Modellsturm-Sitzungen werden abgehalten, um die Details einer Anforderung oder eines Aspekts Ihres Designs zu untersuchen.
  8. Mehrere Modelle. Agile Modellierer sollten wissen, wie sie eine Reihe von Modelltypen erstellen (z. B. User Stories, Story Maps, Datenmodelle, UML-Diagramme ( Unified Modeling Language ) usw.), um das beste Modell für die jeweilige Situation anzuwenden.
  9. Priorisierte Anforderungen. Anforderungen sollten in vorrangiger Reihenfolge bearbeitet werden.
  10. Voraussetzungen. Das Team führt zu Beginn eines Softwareprojekts eine leichte Modellierung auf hoher Ebene durch, die JBGE ist, um die Anforderungen der Stakeholder zu untersuchen.

Einschränkungen

Es besteht eine erhebliche Abhängigkeit von persönlicher Kommunikation und Kundenzusammenarbeit. Agile Modellierungsdisziplinen können schwierig anzuwenden sein:

  • In großen Teams (z. B. 30 oder mehr) ohne ausreichende Werkzeugunterstützung
  • Wenn Teammitglieder nicht in der Lage sind, Modelle zu teilen und zusammenzuarbeiten (was die agile Softwareentwicklung im Allgemeinen erschweren würde)
  • Wenn Modellierungsfähigkeiten schwach sind oder fehlen.

Siehe auch

Verweise

Externe Links