Wir schätzen:
Individuen und Interaktionen mehr als Prozesse und Werkzeuge
Funktionierende Software mehr als umfassende Dokumentation
Zusammenarbeit mit dem Kunden mehr als Vertragsverhandlung
Reagieren auf Veränderung mehr als das Befolgen eines Plans
Eine Benutzergeschichte (user story) beschreibt ein Stück Funktionalität aus der Sicht des Benutzers, z.B.
Als Nutzer möchte ich Börsendaten als Kurzzeit Kursgrafik anzeigen können um über Käufe/Verkäufe zu entscheiden
Schema:
Als <Rolle> möchte ich <Funktionalität> um <Grund>
Die Rolle und der Grund beschreiben den Kontext und sollten daher nicht weggelassen werden.
(z.B. in einem Product Backlog)
Vergleich
auswendig!!
Klassische Vorgehensmodelle
Leichtgewichtige, agile Vorgehensmodelle
Fokus des Modells
Planbarkeit , Umsetzbarkeit eine Phase nach der anderen
auf Kunden angepasst, flexibel, in iterationen
Rollen
feste, den Aktivitäten zugeordnete Rollen (z.B. Entwickler, Architekt….)
Entwickler/Team, kein Projektmanager
Dokumentation
Doku ist Output einer Phase/Aktivität und im Extremfall einziger Input der nächsten Phase
nach Bedarf, Dokumentiert wird nur was nötig ist
Anforderungen
in Lastenheft und Pflichtenheft
User Stories
Architektur
festgelegt, Ergebnis einer expliziten Phase/Aktivität
wird iterativ in den Sprints definiert, wird reinimplementiert
Test
Schwerpunkt der Testaktivitäten am Ende, grundlegende Fehler
während der Entwicklung, kontinuierlich
zwei kennen und erklären können
Unsere höchste Priorität ist es, den Kunden durch frühe und kontinuierliche Auslieferung wertvoller Software zufrieden zu stellen.
Teilergebnisse müssen oft mit dem Kundenvorstellungen abgeglichen werden. Wärend der Entwickung.
Anforderungsänderungen selbst spät in der Entwicklung sind willkommen. Agile Prozesse nutzen Veränderungen zum Wettbewerbsvorteil des Kunden.
ungeplante Änderungen sollten ständig eingeplant werden auch am Ende
Liefere funktionierende Software regelmäßig innerhalb weniger Wochen und Monate und bevorzuge dabei die kürzere Zeitspanne.
Bei Scrum typische Zeitspanne 2-4 Wochen
Fachexperten und Entwickler müssen während des Projekts täglich zusammenarbeiten.
Kunde weiß am Besten was er will und braucht.
Errichte Projekte rund um motivierte Individuen. Gib ihnen das Umfeld und die Unterstützung, die sie benötigen, und vertraue darauf, dass sie die Aufgabe erledigen.
Oft kein Projektmanager nötig -> demotivierend
Funktionierende Software ist das wichtigste Fortschrittsmaß.
Wie viel Funktionalität haben wir schon erreicht?
Die effizienteste und effektivste Methode, Informationen an und innerhalb eines Entwicklungsteams zu übermitteln, ist im Gespräch von Angesicht zu Angesicht.
Feedback von allen Beteiligten (Team, Kunde)
Agile Prozesse fördern nachhaltige Entwicklung. Die Auftraggeber, Entwickler und Benutzer sollten ein gleichmäßiges Tempo auf unbegrenzte Zeit halten können.
gleichmäßiges Tempo durch iteration, man steht immer kurz vor der Deadline
Ständiges Augenmerk auf technische Exzellenz und gutes Design fördert Agilität.
stetig Fortbildung der Entwickler
Einfachheit – die Kunst, die Menge nicht getaner Arbeit zu maximieren – ist essenziell.
keine unnötigen Komponenten entwickeln, nach denen der Kunde nicht gefragt hat und auch keine unnötige Dokumentation, nitwendige aber schon.
Die besten Architekturen, Anforderungen und Entwürfe entstehen durch selbstorganisierte Teams.
In regelmäßigen Abständen reflektiert das Team, wie es effektiver werden kann und passt sein Verhalten entsprechend an.
Ein Product Increment ist potentiell lauffähig….
d.h. es enthält alle Funktionalitäten die zur Ausführung einer Funktion nötig sind.
Ein Product Increment ist getestet….
Alle fertigen Funktionalitäten sollen getestet sein, nicht nur auf Funktionalität, sondern auch auf Usability, Security usw.
Ein Product Increment ist demonstrierbar….
Es soll beim Sprint Review dazu genutzt werden, den aktuellen Stand und den Fortschritt zu demonstrieren .
Ein Product Increment ist aber oft noch ein Prototyp….
Grade am Anfang der Entwicklung kann nur eine Teilfunktionalität am Ende der Iterationgezeigt werden, keine fertige Software die komplette Prozesse abdeckt.
Scrum
Das häufigste Modell, mit festen Rollen und Zeremonien, aber trotzdem anpassbar
Kanban
Ein Modell aus dem Lean Management, vor allem bekannt für sein Kanban Board, eine große Tafel auf der der Projektfortschritt für alle sichtbar fortgeschriebene wird
Extreme Programming (XP)
Das erste agile Modell, versucht Agilität Extrem zu leben, z.B MUSS ein Kundenrepräsentant die gesamte Entwicklungszeit vor Ort sein
SaFE
Scaled Agile Framework, speziell für großere Projekt
Last changeda year ago