Was ist das Manifest für agile SW Entwicklung?
Herkunft:
Das Manifest wurde von bekannten und erfahrenen SW Entwicklern gegründet als Antwort auf komplizierte SW Prozessmodelle, wie RUP oder das V-Modell.
Die Kritik bezieht sich auf den Fokus der auf die Einhaltung von organisatorischen Regeln und Vorgaben basiert. Eine angemessene Reaktion auf Änderungen im Projekt wird verhindert.
Werte der agilen SW Entwicklung:
Vier agile Werte:
Individuen und Interaktionen sind mehr als nur Prozesse und Werkzeuge.
Werkzeuge und Prozesse sind wichtig, dürfen aber nicht über die Zusammenarbeit und Kommunikation der Stakeholder gestellt werden.
Ein wohldefiniertes Prozessmodell und der Einsatz von Werkzeugen helfen, wirken aber erst, wenn alle beteiligten Menschen gut zusammenarbeiten.
Eine funktionierende SW ist mehr als eine umfassende Dokumentation
Der Kunde erwartet ein System, dass seine Anforderungen gut unterstützt. Eine gute Doku der Aktivitäten des SW Entwicklungsprozesses helfen nur, wenn das System auch funktioniert.
Historische Prozessparadigmen, wie das Wasserfallmodell habne strenge Vorschriften bzgl Dokumentation eines Projekts. Damit werden viele Ressourcen gebunden, die nicht für Entwicklungsaktivitäten genutzt werden können.
Zusammenarbeit mit dem Kunden ist mehr als nur eine Vertragsverhandlung.
IT-Projekte sind i.d.R. größere Investitionen, die in Verträgen das organisationsübergreifende Entwicklungsprojekt zwischen Auftraggeber und Auftragnehmer regelt.
Kunden müssen in der Planung aktiv mit einbezogen werden, damit fachliche und technische Unsicherheiten diesen nicht überfordern.
Reagieren auf Veränderungen ist mehr als nur das Befolgen eines Plans.
Eine ausgeprägte Anpassungsbereitschaft und Fähigkeit wird vorallem während des Projkts verlangt. Es muss kontinuierlich mit Änderungen an Anforderungen oder das System gerechnet werden, also auch mit dem Projektplan.
Prinzipien der agilen SW Entwicklung:
Unsere höchste Priorität ist es, den Kunden durch frühe und kontinuierliche Auslieferung wertvoller Software zufrieden zu stellen.
Heiße Anforderungsänderungen sind selbst spät in der Entwicklung willkommen. Agile Prozesse nutzen Veränderungen zum Wettbewerbsvorteil des Kunden.
Liefere funktionierende Software regelmäßig innerhalb weniger Wochen oder Monate und bevorzuge dabei die kürzere Zeitspanne.
Fachexperten und Entwickler müssen während des Projekts täglich zusammenarbeiten.
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.
Die effizienteste und effektivste Methode, Informationen an und innerhalb eines Entwicklungsteams zu übermitteln, ist im Gespräch von Angesicht zu Angesicht.
Funktionierende Software ist das wichtigste Fortschrittsmaß.
Agile Prozesse fördern nachhaltige Entwicklung. Die Auftraggeber, Entwickler und Benutzer sollten ein gleichmäßiges Tempo auf unbegrenzte Zeit halten können.
Ständiges Augenmerk auf technische Exzellenz und gutes Design fördert Agilität.
Einfachheit – die Kunst, die Menge nicht erledigter Arbeit zu maximieren – ist essenziell.
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.“
Unterschied der Agilen Prinzipien zu klassischen Prozessparadigmen:
Der Fokus der Projektorganisation liegt stark auf dem Produkt und der engen Zusammenarbeit der an der Erstellung beteiligten Personen.
Das steht im Gegensatz zu vollständig geplanten Phasen, in denen nur bestimmte Aktivitäten ausgeführt werden dürfen.
Scrum ist ein vollständig agiles Prozessmodell-Rahmenwerk
RUP und V-Modell XT greifen agile Elemente auf.
Was ist Value-Based Software Engineering?
Zweck:
Alle Entscheidungen und Aktivitäten der SW Entwicklung orientieren sich konsequent an dem maximal zu erzielenden Nutzen der Stakeholder am Projekt
Ausgangspunkt:
SW Engeneering wird i.d.R. Wertneutral betrieben. Wie die Anforderungen der Stakeholder technisch am besten in das SW System umgesetzt werden können.
Problem:
Anforderungen sind gleichgewichtig.
Controlling achtet nur auf Zeit und Kosten
Zuständigkeit der Softwareentwickler wird nur auf die Übersetzung Anforderungen in den Programmcode reduziert.
SW Systeme und SW Entwicklungsprogramme bestizten essentiellen Einfluss auf Erfolg von Wertschöpfungsketten und Geschäftsmodellen. Der tatsächliche Wertbeitrag für die organisation sollte im Mittelpunkt stehen.
Kerngedanke und Hauptelemente:
VBSE ist ein Rahmenwerk, dass die Berücksichtigung von tatsächlich für de Stakeholder geschaffenen Werten in alle Techniken und Methoden des SW Engeneerigs aktiv einbezieht.
Es handelt sich um das Zusammenfassen von Techniken und Prinzipien, die den Fokus von IT-Projektteams auf die für die Stakeholder tatsächlichen geschaffenen Werte legt.
Hauptelemente:
Analyse der tatsächlichen Vorteile
Welches Ergebnis kann tatsächlich erzielt werden.
Die Ergebnisse helfen bei Fokussierung und der Kommunikation im Projekt.
Nur wenn jeder im Team weiß, was im Projekt erreicht werden soll, ist es möglich, Entscheidungen Wertorientiert zu treffen.
Darüberhinaus können Maßnahmen außerhalb des Projekts identifiziert werden, die den Einsatz der SW maximieren.
Ausarbeitung und Schlichtung von Stakeholder-Interessen
Im Projektverlauf sind konkurrierende und überschneidende Ziele zwischen relevanten Stakeholdern unvermeidbar.
Interessen sind möglicherweise nicht vergleichbar und erschweren die Abwägung einer Lösungsstrategie.
Eine gute Zusammenarbeit ist wichtig. kritische Erfolgsfaktoren müssen dargestellt werden und verhandelt werden. Es gilt Zielkonflikte übersichtlich darzustellen.
Win-Win Vereinbarungen sollten zwischen konfliktparteien gefunden und dokumentiert werden.
Business Case Analyse
Wirtschaftlichkeitsanalyse mittels ROI.
Anwendung bei Projektinitialisierung und Entscheidungen im Verlauf des Projekts.
Unter Einbezug wirtschaftlicher Alternativen, Unsicherheiten, Risiken und nicht qualifizierbaren Nutzen bei Entscheidungsfindung.
Techniken sind die multikriterielle Entscheidungsanalyse oder Nutzenfunktion.
Kontinuierliches Management von Risiken und Alternativen
Dient der Entscheidungshilfe während des SW Lebenszyklus hinweg.
Die Wahrnehmung und Einschätzung von Risiken ist sehr unterschiedlich. Das reagieren auf die individuelle Nutzenfunktion der Stakeholder ist ein wichtiges Werkzeug zur Risikominimierung.
Ermittlung des Gefährdungspotenzials verschiedener Handlungsoptionen. Risikowahrscheinlichkeit R und der Schaden S ermitteln das Gefährdungspotenzial G = R * S
Gleichzeitiges System- und SW Engeneering
Eine schnelle Reaktionszeit der IT auf geänderte Anforderungen ist besonders für UN relevant, deren Wertschöpfung eng mit IT-Systemen verbunden sind und bei denen eine schnelle Time-to-Market Wettbewerbsvorteile sichert.
IT muss so organisiert sein, dass sie auf schnelle Anpassungen reagieren kann. Insbesondere das Prozessparadigma der evolutionären Entwicklung unterstützt die Entwicklung von kurzen Zeitabständen, welches z.B. das Wassferfallmodell niht zulässt.
Wertebasierte Projektüberwachung und -Steuerung
Das Projektcontrolling wird typischerweise durch das Earned Value Management dgf.
Es wird überprüft wie viele Kosten das Projekt bereits verursacht hat und wie der aktuelle Bearbeitungsstand der Arbeitspakete im Vergleich zum ursprünglichen Plan ist.
Bei häufigen Planänderungen ist diese Aussagekraft begrenzt. In der SW Entwicklung sollten zur Projektüberwachung und- Steuerung die tatsächlichen erzielten Beiträge und Ergebnisse berücksichtigt werden.
Prüfung, ob die Beiträge des Systems realisiert wurden und ob die ursprünglichen Annahmen und Randbedingungen zur Erreichung des Ergebnisses noch zutreffen. Dann wurde ein Stakeholderrelevanter Wert geschaffen.
In Verbindung mit der Business Case Analyse kann geprüft werden, wie die aktuellen Ausgaben im Verhältnis zu den erzielten Werten stehen.
Veränderung als Chance
Die Fähigkeit zur Veränderung und Anpassung ist ein Wettbewerbsvorteil.
Dazu muss ein wirtschaftlich sinnvoller Grad an Veränderungsfähigkeit einzelner Systeme und der Systemlandschaft hergestellt werden.
Die Technologische Anpassungsfähigkeit ist mit Investitionen verbunden.
Eine mögliche Strategie ist die Sammlung vermutlich zukünftiger Änderungswünsche und die sofortige oder spätere Berechung der Kosten für deren Umsetzung. Real-Options-Theorie
Last changed2 years ago