Agile Prozesse Vortrag: Fredrik Gundelsweiler & Thomas Memmel

Slides:



Advertisements
Ähnliche Präsentationen
Themen Backlog V Psychologische Aspekte (T03) Beispielhafte Themenstellungen: IT ist meist nicht auf gleicher Augenhöhe wie Fachbereich.
Advertisements

Wir wünschen viel Erfolg
Dokumentation von Software Architekturen unter Berücksichtigung von IEEE 1471 Vortrag an der FH Regensburg © Dr. Ulrich Margull, 2004 Dr. Ulrich.
Der Weg zu einer Collaboration Strategy
BPM Standards – Aktueller Stand und Ausblick Prof. Dr
Knowledge Exchange Ein Netzwerk von vier europäischen Förderorganisationen 8th International Bielefeld Conference, Bielefeld, Dr. Sigrun Eckelmann.
Agiles Software- Projektmanagement mit XP Dipl.-Ing. F. Papenfuß Prof. Dr. H. Pfüller Universität Rostock.
Ruby on Rails im Überblick
Universität Stuttgart Institut für Kernenergetik und Energiesysteme I nstitut für K ernenergetik und E nergiesysteme Rational Unified Process (RUP) - Definitionen.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Der Rational Unified Process - Einführung Inhalt Prozessmodelle Der Rational Unified.
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Was ist Refactoring? Bevor man die Integration angeht, mag es angebracht sein, den.
ISO - Normen Inhalt Qualität im SE Der ISO 9000-Ansatz
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Testing Frameworks im Internet Testing Framework (xUnit, unit testing)
Beispiel: Wasserfallmodell als einfaches Phasenmodell
Universität Stuttgart Institut für Kernenergetik und Energiesysteme Agile Software Entwicklung mit dem RUP Agile Softwareentwicklung Best Practice bei.
RUP-Elemente (Schlüsselkonzepte)
Prozessmodelle Inhalt Prozessmodell im Management Prozess
es gibt (fast) nichts, was nicht anders gemacht werden könnte
Universität Stuttgart Institut für Kernenergetik und Energiesysteme RUP in der Praxis Zum RUP existiert eine online Version. Mit dieser Version können.
Cassey - Common Answer Set Evaluation sYstem Jean Gressmann Benjamin Kaufmann Robert Lenk.
Rational Unified Process (RUP) - Definitionen
Vortrag 11: Reengineering - Refactoring
eXtreme Programming (XP)
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Software Engineering I m Vorlesung im Wintersemester 2010/11 m.
Software Design Patterns Extreme Programming (XP).
Vortragender Messung des Erfolgs einer Website Subjektive Attraktivität Besuchsintensität Produktivität Finanzielle Maße
Vorlesung: Einführung in der Bioinformatik
Fachgebiet Software Engineering Übersicht © Albert Zündorf, Kassel University Test Summary: m ein Fehler pro Tag m Test First m Funktionstests.
INSTITUT FÜR DATENTECHNIK UND KOMMUNIKATIONS- NETZE 1 Harald Schrom ViEWcon08.
Forschung & Technologie Seminar: Entwicklung verteilter eingebetteter Systeme 1. Meeting: , 14:00-15:30, Raum tbd, Themenvergabe 2. Meeting 1.11.,
Anpassung des RUP an ein konkretes Projekt - 1
Simulation komplexer technischer Anlagen
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering WS 2006 / 2007Folie 1 Agile Vorgehensweisen Hintergrund –in den letzten Jahren hat.
Michael Haverbeck System Engineer
Don`t make me think! A Common Sense Approach to Web Usability
User-Centred Design Kosten und Gewinne des nutzerorientierten Gestaltungprozesses Irene Escudé Capdevila März 2012.
Microsoft Dynamics NAV 2009
Agenda 13: Begrüßung & Einführung in das Thema
IT-Projektmanagement SS 2013 Prof. Dr. Herrad Schmidt
Definitionen der SWT (1)
Seminar: Entwicklung verteilter eingebetteter Systeme WS05/06 Betreuer: Info:
Projektmanagement Ziel und Umfang eines Softwareprojektes definieren
Testtechniken-Praktikum WS 2005/06 1 Testgetriebene Entwicklung Andreas Höfer Dr. Matthias Müller mit Beiträgen von Johannes Link.
ICT-Projektmanagement & OE Magisterstudium Wirtschaftsinformatik
Application Lifecycle Management Day 25. August 2008 Erfolgreiche Software- Entwicklung in Offshore-Projekten mit Microsoft Team Foundation Server Thomas.
Vorgehen Business Analyse
Agile Softwareentwicklung
Scrum Andreas Voraberger.
Horw Präsentation Themenarbeit SWE Wyder Aaron Studiengang Informatik SS Semester Juni 2008 Ist Design tot? Evolutionäre.
„Continuous Delivery“
Unit Testing Universität zu Köln Historisch-kulturwissenschaftliche Informationsverarbeitung Planung von Softwareprojekten WS 2014/15 Christoph Stollwerk.
Vorgehen Business Analyse
WebComposition & WCML Ein Vortrag von Michael Capper & Lars Völker.
Requirements Engineering Universität zu Köln Medienkulturwissenschaften/Medieninformatik Kurzreferat in Planung von Softwareprojekten bei Herrn Christoph.
Kurze Rekapitulation aus der Einführungsvorlesung Stunde VII: Planen und Realisieren Manfred Thaller, Universität zu Köln Köln 20. Oktober 2011.
OOSE nach Jacobson Sebastian Pohl/ST7 Betreuer: Prof. Dr. Kahlbrandt.
Arbeiten in einem agilen Team mit VS & TFS 11
Test-Driven Development
XML Seminar: XP und XML 1 XP and XML Gregor Zeitlinger.
Software Product Line Adoption
Artiso solutions GmbH | Oberer Wiesenweg 25 | Blaustein | Advanced UI-Testing für WPF.
Hero Quest Verwaltungstool -Projektmanagement Projektplanung für Softwareprojekte: KLips 2.0 Dozent: Prof. Dr. phil. Manfred Thaller Referent: Alexander.
Linde AG : Transparent data enable efficient plant engineering
Systemanalyse BA Heidenheim 2002.
Process and Impact of Re-Inspection in NRW
Practical Exercises and Theory
 Präsentation transkript:

Agile Prozesse Vortrag: Fredrik Gundelsweiler & Thomas Memmel Universität Konstanz FB Informatik und Informationswissenschaft

Übersicht Entstehung der agile SE Ausgewählte Agile Methoden Einführung Gründung der Agile Alliance Was bedeutet „Agil“? Prinzipien und Denkweisen Wann ist eine Technik/Methode „agil“? Wie wird ein Projekt „agiler“? Ausgewählte Agile Methoden XP – Extreme Programming Agile Modeling Beispiel: AUCSL Projekt

1 Einführung Softwareentwicklung kennt viele Methoden vom Wasserfallmodell bis hin zu aufwendigen UE-Lifecycles Probleme bei Softwareprojekten stehen Qualität und Wartbarkeit gegenüber: Änderungen durch Kunden oftmals spät im Software Lifecycle schnellere Releasezyklen immer kürzere time-to-market deshalb gilt für immer mehr Projekte: Großer Zeitdruck aber Qualität der Ergebnisse wichtig oft frühe Zwischenergebnisse notwendig Anforderungen sind aber meist vage und oder unklar Auf Änderungen (Anford., Rahmenb.) muss flexibel reagiert werden Evtl. kurz erwähnen: Spanische Firma, MDA  Programmiermaschine

Gründung der Agile Alliance Entstehung der „Agile Alliance“ http://www.agilemanifesto.org/ http://www.agilealliance.com/home Werte/Normen der Agile Alliance: Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Unterstützung der Einführung dieser Methoden „Non-profit Organisation“

Webseite: http://www.agilemanifesto.org/principles.html Evtl. live zeigen

Was bedeutet „Agil“? - Prinzipien und Denkweisen Grundwerte, Prinzipien und Praktiken* sind: höchste Priorität: Kundenzufriedenheit früh und häufig laufende Software ausliefern man weiss nicht alles  Lernen im Prozess Einfachheit unnötige Arbeit vermeiden auch späte Änderungen willkommen face-to-face Kommunikation regelmäßige Überprüfung und Verbesserung der eigenen Effektivität Feedback auf mehreren Ebenen *: aus http://www.agilemanifesto.org/principles.html

Was bedeutet „Agil“? - Prinzipien und Denkweisen II Tabelle selbst machen

Wann ist eine Technik/Methode „agil“? Die wichtigen Dinge zuerst machen! Die Features mit dem höchsten Mehrwert zuerst realisieren. Geschäftswert = f(Kosten, Zeit, Funktionalität, Qualität) Zyklischer und inkrementeller Entwicklungsprozess: Früh und häufig ausliefern Entwicklungsprozess möglichst leichtgewichtig gestalten. Passe den Prozess bei Bedarf an eine veränderte Umgebung an. Eine Technik/Methode kann als agil angesehen werden, wenn sie: ihre Aufgabe erfüllt verständlich ist ausreichend genau, konsistent und detailliert ist einen positiven Wert darstellt (Nutzen >Kosten) so einfach wie möglich ist „Modelle, die gerade noch gut genug sind, um ihre Aufgabe zu erfüllen“

Wie wird ein Projekt „agiler“? Druck reduzieren durch leicht-gewichtige Ansätze Unnötige Dokumente einsparen Vorgaben und Templates “verschlanken” vage Anforderungen und Änderungen einkalkulieren schnell zum Kernsystem, Weiterentwicklung inkrementell besseres Feedback konkrete organisatorische und technische Maßnahmen engere Kundeneinbindung Einsatz agiler Methoden und Techniken Pair Programming, Unit Tests, inkrementelles Vorgehen Tabelle selbst machen

2 Ausgewählte Agile Methoden XP – „Extreme Programming“ (Kent Beck) Agile Modeling (Scott Ambler) Hier nicht behandelt: Crystal Familie (Alistair Cockburn) Feature Driven Development (Stephen R. Palmer) SCRUM (Ken Schwaber, Mike Beedle) … viele andere … Agile Usage Centered Software Lifecycle (Reiterer, Gundelsweiler, Memmel)

XP – Extreme Programming – Gesamtprozeß XP Lifecycle (Beck) Vorgehen bei XP: User Stories sammeln (On-Site Customer) Spike Solutions entwickeln für riskante Stories Nur ein paar Wochen lang Dann: Release Planning (Planning Game) Mit Kunden, Entwicklern und Managern, um einen Releaseplan zu erhalten, mit dem alle zufrieden sind Dann kann mit dem Iteration Planning angefangen werden Zeitschätzungen und Automatisierte Tests (Unit Tests) werden eingesetzt Über Akzeptanztests werden Small Releases an Kunden ausgeliefert Pair Programming Grafik aus http://www.extremeprogramming.org/ (Don Wells)

XP – Extreme Programming – Iteration Planning Vorgehen bei XP: User Stories sammeln (On-Site Customer) Spike Solutions entwickeln für riskante Stories Nur ein paar Wochen lang Dann: Release Planning (Planning Game) Mit Kunden, Entwicklern und Managern, um einen Releaseplan zu erhalten, mit dem alle zufrieden sind Dann kann mit dem Iteration Planning angefangen werden Zeitschätzungen und Automatisierte Tests (Unit Tests) werden eingesetzt Über Akzeptanztests werden Small Releases an Kunden ausgeliefert Pair Programming Grafik aus http://www.extremeprogramming.org/ (Don Wells)

XP – Extreme Programming – Iteration Planning                                                                         Vorgehen bei XP: User Stories sammeln (On-Site Customer) Spike Solutions entwickeln für riskante Stories Nur ein paar Wochen lang Dann: Release Planning (Planning Game) Mit Kunden, Entwicklern und Managern, um einen Releaseplan zu erhalten, mit dem alle zufrieden sind Dann kann mit dem Iteration Planning angefangen werden Zeitschätzungen und Automatisierte Tests (Unit Tests) werden eingesetzt Über Akzeptanztests werden Small Releases an Kunden ausgeliefert Pair Programming Grafik aus http://www.extremeprogramming.org/ (Don Wells)

XP – Extreme Programming – Test/Programmierung                                                                         Vorgehen bei XP: User Stories sammeln (On-Site Customer) Spike Solutions entwickeln für riskante Stories Nur ein paar Wochen lang Dann: Release Planning (Planning Game) Mit Kunden, Entwicklern und Managern, um einen Releaseplan zu erhalten, mit dem alle zufrieden sind Dann kann mit dem Iteration Planning angefangen werden Zeitschätzungen und Automatisierte Tests (Unit Tests) werden eingesetzt Über Akzeptanztests werden Small Releases an Kunden ausgeliefert Pair Programming Grafik aus http://www.extremeprogramming.org/ (Don Wells)

Agile Modeling (Scott W. Ambler) Definition „Techniken-basierter Prozess, wie man wirksam modelliert.“ Das heißt ... Auf verschiedene Entwicklungsprozesse anwendbar Modellieren ist Vorraussetzung für Anwendung Interessanter, komplementärer Ansatz Modelle kommen in fast allen (auch agilen) Ansätzen vor Modellierung ist nur ein Teil der Aufgabe Wieso ist es dann eine „agile Methode“? Basiert auf den selben Werten (wir wissen nicht alles) Ist agil aufgebaut: Werte-Prinzipien-Praktiken Verwendet viele Prinzipien der Agile Alliance Erweitert die Praktiken auf beliebige Modelle handelt von Modellen, nicht von Programmierung

Agile Modeling (Scott W. Ambler) „To change your fate, you must first change your attitude“ Beruft sich auf die Werte des Agile Manifesto Kein Soll-Prozess, der detaillierte Schritte vorschreibt Werte: Communication, Simplicity, Feedback, Courage – und Humility Humility führt zu Respekt und anderem Verhalten gegenüber dem Team Drei Ziele: Es geht nicht um die Modellierungsarten, sondern um deren Einsatz Zeigen, wie man agil und wirksam mit Modellen arbeitet Zeigen, wie man erfolgreich „fast-agil“ vorgehen kann „Modeling is similar to planning – most of the value is in the act of modeling, not the model itself.“

Agile Modeling (Scott W. Ambler) – Agile Methoden Übersicht über die verschiedenen Modellierungstechniken unter: http://www.agilemodeling.com/artifacts/index.htm Viele UML Techniken (z.B. auch UML State Machine Diagram) Beispiel Network Diagram: Figure 1. Network diagram for the university system. Network diagrams are often drawn using software-based drawing tools, Figure 1 was drawn using Microsoft Visio, although there is nothing stopping you from using simpler tools such as whiteboards.  Hand-drawn network diagrams are often used as the starting point for either a “clean” network diagram created with a drawing tool or a more detailed UML deployment diagram. The scope of a network diagram can be either a single application, a family of applications, or even your entire enterprise.  An enterprise network diagram is often used as the starting point, when available, for either an application-level network diagram or UML deployment diagram.  A combination of a network diagram and installation script is often used as an alternative to a detailed UML deployment diagram. Notice: This artifact description has been excerpted from The Object Primer 3rd Edition: Agile Modeling Driven Development with UML 2.  The book goes into greater detail.

Workshops

Use Cases Constantine / Lockwood: Logischer Prozess von Usage-Centered Design Domain Model: Data Model or Glossary: Glossary ist eine Sammlung von technischen sowie betriebswirtschaftlichen Begriffen und Definitionen, die für das Projekt relevant sind. Business Rule Model: Zugrundeliegende Logik, Regeln und Einschränkungen Operational Model: Nutzungskontext, Arbeitsumgebung

Use Case Map Grafik aus Constantine & Lockwood Constantine / Lockwood: Logischer Prozess von Usage-Centered Design Domain Model: Data Model or Glossary: Glossary ist eine Sammlung von technischen sowie betriebswirtschaftlichen Begriffen und Definitionen, die für das Projekt relevant sind. Business Rule Model: Zugrundeliegende Logik, Regeln und Einschränkungen Operational Model: Nutzungskontext, Arbeitsumgebung Grafik aus Constantine & Lockwood

Fibonacci UI Pattern

Ende – Vielen Dank!

Quellen Agile Modeling / eXtreme Programming Agile Modeling – Scott W. Ambler. John Wiley & Sons. Extreme Programming Explained – Kent Beck. Addison-Wesley, 1999 Agile Software Development – Alistair Cockburn. Addison-Wesley, 2001 Integrating User Centered Design in Agile Development processes – 2003, EC Wise, Inc. Process Agility and Software Usability: Toward Leightweight Usage-Centered Design – Larry L. Constantine, Constantine & Lockwood, Ltd., University of Technology Sydney, 2002 Information Age Usage-Centered Engineering for Web Applications - Larry L. Constantine, Constantine & Lockwood, Ltd. Adopting User-Centered Design within an Agile Process: A Conversation – William Hudson, Syntagm Ltd., Design for Usability, Abingdon, UK, whudson@syntagm.co.uk Is Design Dead? – Fowler, Martin. Thought Works. Februar 2001. Agile under Constraints – Schneider, Kurt et. Al; DaimlerChrysler AG Research Center Ulm The New Methodology – Martin Fowler, April 2003, www.martinfowler.com/articles/newMethodology.html

Quellen II Customer-Rolle Thorup, Lars and Jepsen, Ole: Report on XP Workshop at JAOO 2003 - Improving Customer Developer Collaboration. van Deursen, Arie: Customer Involvement in Extreme Programming, 2001 Rising, Linda: The Product Champion, 2003 Farell, C., Narang, R., Kapitan, S. and Webber, H. Towards an Effective Onsite Customer Practice, 2002 Wallace, N., Bailey, P. and Ashworth, N. Managing XP with Multiple or Remote Customers, 2002 Lippert, M., Roock, S., Henning, W., Zullighoven, H. XP in Complex Project Settings: Some extensions, 2001 L.A. Griffin. A Customer Experience: Implementing XP, 2001 Shukla, A. and Williams, L. Adapting Extreme Programming in for a Core Software Engineering Course, 2002 Schuh, P. Recovery, Redemption and Extreme Programming, 2001

Quellen III Usability Engineering Software for Use: A Practical Guide to the Methods of Usage-Centered Design (ACM Press)  von Larry L. Constantine, Lucy A. D. Lockwood, 1. April 1999 Addison-Wesley Leightweights, Heavyweights and Usable Processes for Usable Software, Larry Constantine Folien 2001 The Usability Engineering Lifecycle: A Practitioner's Handbook for User Interface Design von Deborah J. Mayhew, März 1999 Morgan Kaufmann Publishers Interaction Design von Jennifer Preece, Yvonne Rogers, Helen Sharp, 31. Jan. 2002 John Wiley and Sons Ltd Scenario-Based Usability Engineering von Mary B. Rosson, John M. Carroll, 1. Oktober 2001 Morgan Kaufmann Publishers Einführung Usability Engineering von Daimler Chrysler, 20.06.2001