Agile Software-Entwicklung: Überblick

Ähnliche Dokumente
Trends in der Agilität Dr. Martin Geier

Agile SW- Entwicklungsmethoden. Ein agiler Vortrag über Ideen, die uns das Leben erleichtern sollen. von Paul Palaszewski

Agile Entwicklung Technical Literacy 1

Agiles Projektmanagement nach Scrum mit Projektron BCS - Erfahrungsaustausch -

Coaching Agile Development Teams

Agile Softwareprozess-Modelle

agiles Projektmanagement. agiles Projektmanagement. Universität Würzburg 6. Juli Universität Würzburg 6.

AGIL WIE EIN WASSERFALL

Praktische Erfahrungen beim Einsatz des Vorgehensmodells "SCRUM" bei AGFA HealthCare

Extreme Programming: Überblick

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

SCRUM. Legalisierung der Hackerei? GI Regionalgruppe Dortmund Dipl.-Inform. (FH) Dirk Prüter.

Taking RM Agile. Erfahrungen aus dem Übergang von traditioneller Entwicklung zu Scrum

Extreme Programming. Universität Karlsruhe (TH) Fakultät für Informatik Lehrstuhl für Programmiersysteme. Forschungsuniversität gegründet 1825

Agiles Testmanagement am Beispiel Scrum

Scrum Gestaltungsoptionen Empowerment

Agile Software-Entwicklung im Kontext der EN50128 Wege zum Erfolg

Agile Softwareentwicklung. Referat von Kristina Schrickel Praxisprojekt Ruby Leitung : Ralf Berger

Agile Softwareentwicklung

Andrea Grass & Dr. Marcus Winteroll oose Innovative Informatik GmbH. Geschäftsprozessmanagement und Agilität geht das zusammen?

Projektplanung für Softwareprojekte: KLIPS 2.0 Prof. Dr. Manfred Thaller WS 2011/ Dana Wroblewski

Warum sich das Management nicht für agile Softwareentwicklung interessieren sollte - aber für Agilität

myscrum Scrum in der Praxis Markus Schramm compeople AG Frankfurt

IT-Basics 2. DI Gerhard Fließ. Vorgehensmodelle

Einführung in das Scrum Framework & welche 10 Praktiken helfen, Scrum wirklich gut zu machen

Agile Management Einführung in agiles Management

ZuuL - Entwicklung eines Adventures

Scrum for Management Praxis versus Theorie oder Praxis dank Theorie. ALM Day 26.Oktober 2011 Urs Böhm

30 JAHRE SCRUM ALLES AGIL - ALLES GUT? PATRICK LOBACHER +PLUSWERK AG PROMADAYS 2016

- Agile Programmierung -

Projektmanagement. Dokument V 1.2. Oliver Lietz - Projektmanagement. Probleme bei Projekten

Empirische Evidenz von agilen Methoden. Seminar in Software Engineering Wintersemester 03/04

Wie viel Geschäftsprozess verträgt agile Softwareentwicklung?

Software Engineering. 4. Methodologien. Franz-Josef Elmer, Universität Basel, HS 2014

Gelebtes Scrum. Weg vom Management hin zur Führung

Der Business Analyst in der Rolle des agilen Product Owners

Agile Entwicklung nach Scrum

Testen im Software- Entwicklungsprozess

Wir erledigen alles sofort. Warum Qualität, Risikomanagement, Gebrauchstauglichkeit und Dokumentation nach jeder Iteration fertig sind.

Agile Software Development

Praxisbericht und Demo-Projektabwicklung mit der ATLASSIAN Toolchain und Continuous Integration. Markus Stollenwerk, Noser Engineering AG

Michael Franken. Serum für bummies. Übersetzung aus dem Niederländischen (/on Susanne Bonn. WlLEY. WILEY-VCH Verlag GmbH & Co.

Scrum. Agile Software Entwicklung mit. Agile Software Entwicklung mit. Scrum. Raffael Schweitzer 18. November 2003

Projektmanagement Vorlesung 14/ 15: Wiederholung ausgewählter Themen zur Klausurvorbereitung. Prof. Adrian Müller, PMP, PSM-1, CSM FH Kaiserslautern

Sollten folgende drei Fragen durch das Team positiv beantwortet werden, sind wichtige SCRUM-Elemente in Ihrem Team erfolgreich installiert.

RE-Metriken in SCRUM. Michael Mainik

Agile Systemadministration (ASA)

SCRUM. Vertragsgestaltung & Vertragsorientierte Projektdurchführung. Katharina Vierheilig Vorlesung: Juristisches IT-Projektmanagement

10 Jahre agile Softwareentwicklung Wie erwachsen sind wir geworden?

Sabotage in Scrum. dem Prozess erfolglos ins Knie schiessen. Andreas Leidig (andrena objects ag) Vortrag bei den XP Days 2007

Umfrage zum Informationsbedarf im Requirements Engineering

Klassisches Projektmanagement und agil

Agile Programmierung - Theorie II SCRUM

Projektmanagement Vorlesung 12/ 13

Agile Softwareentwicklung - Ein praktisches Beispiel -

Softwareentwicklungsprozesse optimieren. wie Sie die Vorteile klassischer und agiler Methoden erfolgreich kombinieren

Agiles Projektmanagement mit Scrum

Agilität selbst erfahren. Agile Softwareentwicklung in der Praxis: Jetzt bewerben für das erste Agile Code Camp 2013!

Vorstellung. Wie entsteht Architektur in Scrum

Interpretation des agilen Manifest

Projektmanagement. Vorlesung von Thomas Patzelt 8. Vorlesung

Agiles Manifest für Manager

oose. Was (noch) klassische Projekte von Scrum & Co lernen können eine empirische Studie

Scrum. Übung 3. Grundlagen des Software Engineerings. Asim Abdulkhaleq 20 November 2014


Agilität auf Unternehmensebene - Was hält uns davon ab?

Scrum bei der Projektron GmbH

READY-STEADY-DONE! Der Product Owner are you READY for agile?!

Projekt: Requirements Engineering Sommersemester Anforderungsspezifikation im X-Treme Programming

SCRUM. Software Development Process

Meetings in SCRUM. Leitfaden. Stand:

Scrum Einführung. SWP: Spieleprogrammierung Fachbereich Mathematik und Informatik

Einführung in Scrum. Agiles Projektmanagement. Martin Krüger Entwicklung von Workflowanwendungen

den sicherheitskritischen Bereich Christoph Schmiedinger Frankfurter Entwicklertag

AGILE APPLICATION LIFECYCLE MANAGEMENT IM ATLASSIAN ECOSYSTEM

Susanne Muehlbauer 29. November 2011

Herausforderungen bei agiler Entwicklung und agilem Testen

Erfolgreiche Realisierung von grossen Softwareprojekten

Projektmanagement durch Scrum-Proxies

Scrum mit User Stories

Führung von agilen verteilten Teams

Globale Scrum Retrospektive

The big picture: Prince2 featuring SCRUM. Bernd Lehmann, Prince2-Tag Köln, 12. Mai 2011

Agile Softwareentwicklung mit Scrum

Was Sie über SCRUM wissen sollten...

Informationswirtschaft II Rational Unified Process (RUP)

Informationswirtschaft II

Machbar? Machbar!

Werte Weil ich es mir wert bin. Dipl.-Inf. Bernd Schiffer akquinet it-agile GmbH bernd.schiffer@akquinet.de

Produktmanagement vom Kundenticket zum Release

Unsere Kunden erzählen keine Geschichten. Ursula Meseberg microtool GmbH Berlin

Softwareentwicklungsprozess im Praktikum. 23. April 2015

Internet Briefing Agile SW-Entwicklung

Agile Methoden. David Tanzer. Oliver Szymanski

Stuttgart, Scrum im Wasserfall... oder wie kann Agilität dem Kunden schmackhaft gemacht werden?

Einführung in agile Entwicklung

Agiles Testmanagment. Hugo Beerli bbv Software Services AG. Luzern, September

Scaling Scrum Nexus professionell umsetzen

Transkript:

Agile Software-Entwicklung: Überblick Stefan Diener / Apr 18, 2007 / Page 1

Inhalt Historie Agiles Manifest Agile Prinzipien Agile Methoden Agile SW-Entwicklungsprozesse Stefan Diener / Apr 18, 2007 / Page 2

Historie Agile SW-Entwicklung als Gegenbewegung zu schwergewichtigen SW-Entwicklungsprozessen, z.b. Rational Unified Proces (RUP), V-Modell erste Ansätze Anfang der 1990er Jahre 1999: Kent Beck, Extreme Programming 2001: Agiles Manifest Stefan Diener / Apr 18, 2007 / Page 3

Agile Werte: Das Agile Manifest Individuen und Interaktionen sind wichtiger als Prozesse und Tools. Funktionierende Programme sind wichtiger als ausführliche Dokumentation. Die stetige Zusammenarbeit mit dem Kunden ist wichtiger als die Verträge. Der Mut und die Offenheit für Änderungen sind wichtiger als das Befolgen eines festgelegten Plans. www.agilemanifesto.org Stefan Diener / Apr 18, 2007 / Page 4

Agile Prinzipien (1) The most efficient and effective method of conveying information to and within a development team is face-toface conversation. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done. The best architectures, requirements, and designs emerge from self-organizing teams. Stefan Diener / Apr 18, 2007 / Page 5

Agile Prinzipien (2) Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software. Stefan Diener / Apr 18, 2007 / Page 6

Agile Prinzipien (3) Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale. Working software is the primary measure of progress. Continuous attention to technical excellence and good design enhances agility. Stefan Diener / Apr 18, 2007 / Page 7

Agile Prinzipien (4) Simplicity --the art of maximizing the amount of work not done-- is essential. Business people and developers must work together daily throughout the project. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage. Stefan Diener / Apr 18, 2007 / Page 8

Agile Methoden Pair Programming Test Driven Development (TDD) / Test First Development Ständige Refactorings Story Cards Quick Code Reviews Stefan Diener / Apr 18, 2007 / Page 9

Agile Methoden: Pair Programming (1) 2 Entwickler an 1 Rechner häufiger Rollenwechsel häufiger Wechsel der Zusammensetzung der Paare Stefan Diener / Apr 18, 2007 / Page 10

Agile Methoden: Pair Programming (2) Vorteile: Steigerung der Qualität: höhere Disziplin, besserer Code Collective Code Ownership Mentoring, Team Building Nachteile: Kosten (Kostenvorteile erst spät in Entwicklung) Teamfindung Autoritätsproblem (bei Streitfragen) Vorurteile bezüglich Zeitaufwand und Produktivität Stefan Diener / Apr 18, 2007 / Page 11

Agile Methoden: Test Driven Development (1) TDD / Test First Development Extreme Testing Test wird vor eigentlichem Code implementiert wichtig: automatisierte Ausführung von Tests Stefan Diener / Apr 18, 2007 / Page 12

Agile Methoden: Test Driven Development (2) Vorteile: testbarer Code Grey-Box-Test eigenschaften von White- und Black-Box-Test Erfüllung der Anforderungen messbar gefahrlose Refactorings möglich Nachteile: Einstieg schwierig durch ungewohnte Denkweise Achtung: keine falsche Sicherheit, da nicht alles testbar ist! Stefan Diener / Apr 18, 2007 / Page 13

Agile Methoden: Ständige Refactorings (1) Strukturverbesserung unter Beibehaltung des Verhaltens kein klassisches Redesign, sondern Änderung im Kleinen manuell oder mit Tool-Unterstützung, z.b. Eclipse Unit-Tests als Regressionstests mögliche Refactorings: Namensänderungen (Variablen, Methoden, Klassen,...) Verschiebungen (z.b. Methode in andere Klasse) Aufteilung Zusammenlegung Stefan Diener / Apr 18, 2007 / Page 14

Agile Methoden: Ständige Refactorings (2) Vorteile: bessere Lesbarkeit, Verständlichkeit, Wartbarkeit, Erweiterbarkeit weniger Redundanz bessere Testbarkeit Aufwand für Fehlersuche und Erweiterungen sinkt Nachteile: Risiko unerwünschter Änderungen und Fehler Zeitaufwand, wenn Tests erst implementiert werden müssen Stefan Diener / Apr 18, 2007 / Page 15

Agile Methoden: Story Cards Kunde erstellt Kurzbeschreibung (Prosa, User Story) 1 Story Card für 1 Funktion des Systems kein Technik-Jargon Medium frei wählbar: Karteikarte, Wiki, spezielle SW,... Stefan Diener / Apr 18, 2007 / Page 16

Agile Methoden: Quick Code Reviews (1) Durchsicht von Quelltexten manuell und/oder automatisiert Tools, z.b. CheckStyle, PMD, FindBugs Kriterien für Review festlegen Stefan Diener / Apr 18, 2007 / Page 17

Agile Methoden: Quick Code Reviews (2) Ergebnisse: verbesserter Code: Effizienz, Robustheit, Wartbarkeit verbesserte Kommentare: Wartbarkeit neue Testfälle: Robustheit XP-Verfechter: weniger Code-Reviews notwendig durch Pair Programming und Test Driven Development Stefan Diener / Apr 18, 2007 / Page 18

Agile Prozesse (1) auf Agilität ausgerichteter SW-Entwicklungsprozess setzt überwiegend Agile Methoden ein Ziel: Prozess für alle Beteiligten effektiver und vorteilhafter gestalten Stefan Diener / Apr 18, 2007 / Page 19

Agile Prozesse (2) Extreme Programming (XP) XP-Vortrag Feature Driven Development (FDD) FDD-Vortrag "The Eclipse Way" Eclipse-Vortrag SCRUM Crystal Stefan Diener / Apr 18, 2007 / Page 20

Agile Prozesse (3) Adaptive Software Development (ASD) Dynamic System Development Method (DSDM) Lean Development Pragmatic Programming Software Expedition Universal Application Stefan Diener / Apr 18, 2007 / Page 21

Scrum: Rollen Product Owner: Auftraggeber, setzt Prioritäten Team: Entwicklungsteam Scrum Master: Leitung des Teams sorgt für Transparenz Verbesserungen Stefan Diener / Apr 18, 2007 / Page 22

Product Backlog: Scrum: Artefakte enthält alle Features des Produkts (unvollständig) bewertet und priorisiert Aufwandsschätzung für hoch priorisierte Features (max. 16h) auch technische und administrative Aufgaben Sprint Backlog: alle Aufgaben eines Sprints (jeweils max. 1 Tag) Impediment List: Hindernisse des Projekts Stefan Diener / Apr 18, 2007 / Page 23

Scrum: Sprint Umsetzung einer Iteration max. 30 Tage vorher: Anforderungen in Product Backlog sammeln Sprint Backlog erstellen (mit Kunden) Team organisiert sich im Sprint selbst keine Vorschriften danach: Vorführung, Review, Akzeptanztests Ergebnisse des Reviews: Product Backlog Stefan Diener / Apr 18, 2007 / Page 24

Scrum: Scrum-Meeting tägliches Meeting max. 15 Minuten Was wurde fertiggestellt? Was kommt heute? Welche Probleme gibt es? Impediment List pflegen Stefan Diener / Apr 18, 2007 / Page 25

Scrum: Retrospektive wertfreier Rückblick auf Sprint, Ergebnisse notieren Was war gut? Was könnte verbessert werden? Verbesserungsvorschläge zur Organisation: Impediment List Verbesserungsvorschläge zum Team: Product Backlog Impediment List: Hindernisse werden von Scrum-Master und Team aus dem Weg geräumt Stefan Diener / Apr 18, 2007 / Page 26

Crystal (1) Crystal Family: Familie von SW-Entwicklungsmethoden Mitglieder der Familie durch Farben bezeichnet Mitglied definiert Satz von Regeln Rollen Menge der Methoden Umfang der Dokumentation Stefan Diener / Apr 18, 2007 / Page 27

Crystal (2) Auswahl: nach Anzahl der beteiligten Personen (Kommunikationsaufwand) und Höhe des Risikos (Ausmaß des Schadens beim Scheitern des Projekts) Crystal Clear: einfachste Variante, bis 6 Projektbeteiligte projektorientiert Gegensatz: XP ist an Art der Arbeit orientiert Stefan Diener / Apr 18, 2007 / Page 28

Crystal: Prinzipien (Auswahl) passiver Wissenstransfer durch räumliche Nähe freie Meinungsäußerung laufende Kritik und Verbesserung fokussiertes Arbeiten (keine Ablenkung, keine anderen Projekte) häufige Releases Zugang zu kundigen Benutzern automatisiertes Testen Stefan Diener / Apr 18, 2007 / Page 29