Hallo,
ich habe ein Verständnisproblem: Ich bin bisher davon ausgegangen, dass der Hauptunterschied zwischen traditionellen (z.B. Wasserfall-Prozess) und agilen Entwicklungsprozessen im Folgenden besteht: Während traditionelle Ansätze einmal (zu Beginn des Projekts) Requirements Enginnering betreiben, darauffolgend einmal die Spezifikation implementieren, und dann einmal eine Test- bzw. Auslieferungsphase durchlaufen, zeichnet sich der agile Ansatz dadurch aus, dass etliche Iterationen stattfinden, die jeweils aus den Phasen Requirements Enginnering, Implementation, Testing und Delivery bestehen. Der Vorteil, so habe ich es verstanden, besteht dann darin, dass man flexibel auf Anforderungsänderungen reagieren kann. Es gibt einfach nie den Punkt, an dem die Phase des Requirements Engineering in der Vergangenheit liegt: Die nächste Iteration beginnt wieder damit, und so kann man den geänderten Anforderungen dort einfach Rechnung tragen.
1. Frage: Ist das korrekt so?
Dann wundert mich jedoch, warum sich der "Agile Unified Process", der in Foliensatz 13 auf Folie 27 vorgestellt wird, agil nennt. Denn hier findet eine Machbarkeitsstudie in der Phase 1 (Inception) statt. Darauffolgend werden die kritischen Teile der Software in Phase 2 (Elaboration) implementiert, in Phase 3 (Construction) die weniger kritischen, und, letztlich, in Phase 4 (Transition) wird das ganze ausgeliefert. Was, wenn sich in Phase 3 die Anforderungen ändern? Schade, die Machbarkeitsstudie war in Phase 1 dran, da kann man dann nix machen... Wenn der AUP wirklich agil (i.d.S. wie oben beschrieben) wäre, dann würde doch jede Iteration/jeder Sprint aus den Phasen 1 bis 4 bestehen, oder nicht?
2. Frage: Ist der "Agile Unified Process" eher so etwas wie ein moderner Wasserfall-Prozess?
3. Frage: Ich sehe schon, dass in den Beschreibungen der einzelenen Phasen des AUP immer mal das Wort "iterative" fällt. Aber wie kann etwas iterativ sein, wenn am Anfang eines Projekts die Machbarkeitsstudien durchgeführt werden und am Ende die Auslieferung stattfindet? Iterativ bedeutet doch, dass diese Dinge jeweils am Anfang und am Ende einer Iteration und nicht am Anfang und am Ende eines Projekts gemacht werden...
I am very confused, über Aufklärung würde ich mich sehr freuen!
Vielen Dank im Voraus und liebe Grüße
Lucas
EDIT:
4. Frage: Wo genau besteht der Zusammenhang zwischen Folie 27 und Folie 28(-31) in Foliensatz 13? Auf Folie 27 werden, wie bereits erwähnt, die Phasen des AUP beschrieben, und das ganze wirkt, wie ebenfalls bereits erwähnt, sehr "un-agil". Auf Folie 28(-31) wird AUP visualisiert, und das ganze wirkt auf mich genau so, wie ich mir einen agilen Prozess vorstelle. Nur ist auf der Grafik nichts mehr zu sehen von den zuvor beschriebenen Phasen... Wie passt das zusammen?
Agile Unified Process == Waterfall Process?
-
- Mausschubser
- Beiträge: 44
- Registriert: 13. Mär 2012 12:44
Re: Agile Unified Process == Waterfall Process?
Hallo,
zu Frage 1: Ja, ich denke du hast das prinzipiell richtig verstanden.
zu Frage 2: Der AUP geht davon aus, dass sich die Wichtigkeit der einzelnen Aufgaben im Laufe des Projekts verschiebt. Auch in agilen Projekten werden die Anforderungen mit der Zeit klarer. D.h. währen zu Beginn sehr viel Arbeit in Anforderungsanalyse gesteckt werden muss, wird der nötige Zeitaufwand im Projektverlauf weniger. Damit ist später im Projekt z.B. mehr Zeit für Entwicklungsarbeit und gegen Ende liegt der Fokus auf der Auslieferung. Auch wenn laut der agilen Idee zu jedem Zeitpunkt theoretisch ausgeliefert werden könnte, ist mit dem tatsächlichen Ausliefern i.d.R. noch konkrete Arbeit verbunden (Rechner installieren/konfigurieren, Kundenschulung, ...) der zuvor nicht anfällt. Ich finde diese Grafik veranschaulicht das ganz gut: http://www.ambysoft.com/artwork/lifecycleAgileUP.gif
Ich würde AUP nicht als modernen Wasserfallprozess bezeichnen.
zu Frage 3: Iterativ bedeutet nicht, dass ich jede Iteration das selbe tue. Wie oben beschrieben, ändert sich der Projektfokus mit der Laufzeit ganz von alleine. Dennoch wird in kurzen Etappen gearbeitet, um auf Anforderungsänderungen reagieren zu können. Gegen Projektende ändert sich hoffentlich nichts mehr an der Kernanforderungen der Anwendung, sonst wird das Projekt vermutlich scheitern, egal wie agil der Prozess ist.
zu Frage 4: Ist auch schon beantwortet, denke ich.
Löst das deine Verwirrung?
Gruß,
Sven
zu Frage 1: Ja, ich denke du hast das prinzipiell richtig verstanden.
zu Frage 2: Der AUP geht davon aus, dass sich die Wichtigkeit der einzelnen Aufgaben im Laufe des Projekts verschiebt. Auch in agilen Projekten werden die Anforderungen mit der Zeit klarer. D.h. währen zu Beginn sehr viel Arbeit in Anforderungsanalyse gesteckt werden muss, wird der nötige Zeitaufwand im Projektverlauf weniger. Damit ist später im Projekt z.B. mehr Zeit für Entwicklungsarbeit und gegen Ende liegt der Fokus auf der Auslieferung. Auch wenn laut der agilen Idee zu jedem Zeitpunkt theoretisch ausgeliefert werden könnte, ist mit dem tatsächlichen Ausliefern i.d.R. noch konkrete Arbeit verbunden (Rechner installieren/konfigurieren, Kundenschulung, ...) der zuvor nicht anfällt. Ich finde diese Grafik veranschaulicht das ganz gut: http://www.ambysoft.com/artwork/lifecycleAgileUP.gif
Ich würde AUP nicht als modernen Wasserfallprozess bezeichnen.
zu Frage 3: Iterativ bedeutet nicht, dass ich jede Iteration das selbe tue. Wie oben beschrieben, ändert sich der Projektfokus mit der Laufzeit ganz von alleine. Dennoch wird in kurzen Etappen gearbeitet, um auf Anforderungsänderungen reagieren zu können. Gegen Projektende ändert sich hoffentlich nichts mehr an der Kernanforderungen der Anwendung, sonst wird das Projekt vermutlich scheitern, egal wie agil der Prozess ist.
zu Frage 4: Ist auch schon beantwortet, denke ich.
Löst das deine Verwirrung?
Gruß,
Sven
Gehe zu Forum
- Allgemeines
- ↳ Neuigkeiten
- ↳ Ankündigungen
- ↳ Studienberatung
- ↳ Aktive Fachschaft
- ↳ Allgemein
- ↳ Forumsanregungen
- ↳ Inforz
- ↳ Das Wesentliche
- ↳ Vor dem Studium
- ↳ Studieninteressierte
- ↳ Vorkurs
- ↳ Archiv
- ↳ Ophase
- ↳ Archiv
- ↳ Studium
- ↳ Allgemein
- ↳ Ausland
- ↳ Bachelorpraktikum
- ↳ Archiv
- ↳ RBG/Rechner
- ↳ Studienorganisation
- ↳ Teilzeitstudium
- ↳ Angebote
- ↳ Abschlussarbeiten
- ↳ Jobs
- ↳ Umfragen
- ↳ Veranstaltungen
- ↳ Sonstiges
- ↳ GnoM
- ↳ RPGnoM
- ↳ Offtopic
- ↳ TU Darmstadt Programming-Contest
- ↳ CrypTool
- ↳ Suche / Biete
- ↳ Archiv
- Pflichtveranstaltungen
- ↳ Grundstudium
- ↳ Aussagen- und Prädikatenlogik
- ↳ Archiv
- ↳ Algorithmen und Datenstrukturen
- ↳ AuD: Vorlesung
- ↳ Archiv
- ↳ AuD: Theoretische Aufgaben
- ↳ Archiv
- ↳ AuD: Arbeit mit Nabla
- ↳ Archiv
- ↳ AuD: Programmieraufgaben
- ↳ Archiv
- ↳ AuD: Rund um die Klausur
- ↳ Archiv
- ↳ Automaten, formale Sprachen und Entscheidbarkeit
- ↳ Archiv
- ↳ Betriebssysteme
- ↳ Archiv
- ↳ Digitaltechnik
- ↳ Archiv
- ↳ Einführung in den Compilerbau
- ↳ Archiv
- ↳ Funktionale und Objektorientierte Programmierkonzepte
- ↳ Archiv
- ↳ GdI 1: Vorlesung
- ↳ Archiv
- ↳ GdI 1: Übung
- ↳ Archiv
- ↳ GdI 1: Praktikum
- ↳ Archiv
- ↳ Mathematik für Informatik 1
- ↳ Archiv
- ↳ Mathematik für Informatik 2
- ↳ Archiv
- ↳ Mathematik für Informatik 3
- ↳ Archiv
- ↳ Rechnerorganisation
- ↳ Archiv
- ↳ Systemnahe und parallele Programmierung
- ↳ Archiv
- ↳ Weiterführende Pflichtveranstaltungen
- ↳ Architekturen und Entwurf von Rechnersystemen
- ↳ Archiv
- ↳ Computational Engineering und Robotik
- ↳ Archiv
- ↳ Computer-Netzwerke und verteilte Systeme
- ↳ Archiv
- ↳ Computersystemsicherheit
- ↳ Archiv
- ↳ Informationsmanagement
- ↳ Archiv
- ↳ Modellierung, Spezifikation und Semantik
- ↳ Archiv
- ↳ Software Engineering
- ↳ Archiv
- ↳ Visual Computing
- ↳ Archiv
- ↳ Nicht mehr angeboten
- ↳ FGdI 3
- ↳ Archiv
- ↳ GdI 3
- ↳ GdI 3: Vorlesung
- ↳ Archiv
- ↳ GdI 3: Übung
- ↳ Archiv
- ↳ GdI 3: Praktikum
- ↳ Archiv
- ↳ TGdI
- ↳ Archiv
- ↳ TGdI 1
- ↳ Archiv
- ↳ TGdI 2
- ↳ Archiv
- Wahlbereich
- ↳ IT-Sicherheit
- ↳ Einführung in die Kryptographie
- ↳ Archiv
- ↳ Elektronische Wahlen
- ↳ Embedded System Security
- ↳ Formal Methods for Information Security
- ↳ Archiv
- ↳ Forschungskurs "Angewandte Kryptographie"
- ↳ IT-Sicherheit
- ↳ Archiv
- ↳ IT-Sicherheits-Management
- ↳ Kryptographische Protokolle
- ↳ Multimedia Security
- ↳ Netzsicherheit
- ↳ Operating Systems
- ↳ Archiv
- ↳ Operating Systems II: Dependability and Trust
- ↳ Archiv
- ↳ Post-Quantum Cryptography
- ↳ Praktikum: CAPTCHAs
- ↳ Praktikum: Kryptographie
- ↳ Praktikum: Sichere Informationssysteme
- ↳ Praktikum: Smartphone-Sicherheit für Android Applikationen
- ↳ Praktikum in der Lehre: Informatik Ferienworkshop
- ↳ Privacy Enhancing Technologies
- ↳ Public Key Infrastrukturen
- ↳ Archiv
- ↳ Public Key Kryptoanalyse
- ↳ Archiv
- ↳ Quantenalgorithmen
- ↳ Secure, Trusted and Trustworthy Computing, Teil 1
- ↳ Seminar: PhD Seminar ITS
- ↳ Seminar: Post Quantum Kryptographie
- ↳ Seminar: Sicherheit in Car2Car-Kommunikation
- ↳ Seminar: Usable Security
- ↳ Verfahren zur automatischen Verifikation
- ↳ Netze und Verteilte Systeme
- ↳ Kommunikationsnetze 1
- ↳ Kommunikationsnetze 2
- ↳ Kommunikationsnetze 3: Mobilität in Netzen
- ↳ Archiv
- ↳ Peer-to-Peer und Grid Computing
- ↳ Archiv
- ↳ Peer-to-Peer II - Methods
- ↳ Archiv
- ↳ Praktikum: Internet
- ↳ Praktikum: Kommunikation in Peer-to-Peer-Netzen
- ↳ Praktikum: Peer-to-Peer-Middleware
- ↳ TK1: Rechnernetze, Verteilte Systeme und Algorithmen
- ↳ Archiv
- ↳ TK2: Web Engineering, Web Cooperation und E-Learning
- ↳ TK3: Ubiquitous / Mobile Computing
- ↳ Ubiquitous Computing in Geschäftsprozessen
- ↳ Robotik, Computational und Computer Engineering
- ↳ Algorithmen im Chip-Entwurf
- ↳ Archiv
- ↳ Compiler 1
- ↳ Archiv
- ↳ Compiler 2
- ↳ Archiv
- ↳ Echtzeitsysteme
- ↳ Eingebettete Systeme 1
- ↳ Eingebettete Systeme 2
- ↳ Geometrische Methoden des CAD/CAE
- ↳ Grundlagen der Robotik
- ↳ Hardwaremodellierungssprachen
- ↳ Lernende Roboter
- ↳ Mainframe Technologie
- ↳ Optimierende Compiler
- ↳ Archiv
- ↳ Optimierung statischer und dynamischer Systeme
- ↳ Archiv
- ↳ Praktikum: Adaptive Computersysteme
- ↳ Praktikum: Embedded Systems Hands-On 1
- ↳ Prozessorarchitekturen für rechenstarke eingebettete Systeme
- ↳ Archiv
- ↳ Rekonfigurierbare Prozessoren
- ↳ Seminar: Dynamisch und partiell rekonfigurierbare Architekturen
- ↳ Software-Systeme und formale Grundlagen
- ↳ Algorithmische Modellierung
- ↳ Applied Static Analysis
- ↳ Automated Code Analysis for Large Software Systems
- ↳ Automated Software Engineering
- ↳ Automated Theorem Proving
- ↳ Berechenbarkeitstheorie
- ↳ Archiv
- ↳ Concepts and Technologies for Distributed Systems and Big Data Processing
- ↳ Archiv
- ↳ Design and Implementation of Modern Programming Languages
- ↳ Designing code analyses for large software systems (DECA)
- ↳ Effiziente Graphenalgorithmen
- ↳ Enterprise Application Design
- ↳ Archiv
- ↳ Grundlagen des KI Planens
- ↳ Implementing code analyses for large software systems (ICA)
- ↳ Konzepte der Programmiersprachen
- ↳ Archiv
- ↳ Modellierungspraktikum
- ↳ Optimierungsalgorithmen
- ↳ Praktikum: Algorithmen
- ↳ Praktikum: Proof-Carrying-Code
- ↳ Archiv
- ↳ Programmanalyse und Transformation
- ↳ Secure Coding Lab
- ↳ Secure Software Development (SecDev)
- ↳ Seminar: Current Topics in Information Flow Security
- ↳ Seminar: Current Topics in Usage Control
- ↳ Seminar: Formale Spezifikation
- ↳ Seminar: Proof-Carrying-Code
- ↳ Archiv
- ↳ Seminar: Reading Group Runtime Monitoring
- ↳ Seminar: Reliable Security for Concurrent Programs
- ↳ Seminar: Softwaresystemtechnologien
- ↳ Software Engineering - Design and Construction
- ↳ Archiv
- ↳ Software Engineering - Projekt
- ↳ Archiv
- ↳ Software Engineering - Projektmanagement
- ↳ Software Engineering - Requirements
- ↳ Software Engineering - Wartung und Qualitätssicherung
- ↳ Archiv
- ↳ Software Engineering in industrial practice
- ↳ Archiv
- ↳ Static and Dynamic Program Analysis
- ↳ Archiv
- ↳ Technikgestaltung
- ↳ Type Systems of Programming Languages
- ↳ Web Services Technologien: Einführung, Komposition und Erweiterungen
- ↳ Visual & Interactive Computing
- ↳ Advanced Programming Techniques in Computer Vision
- ↳ Bildverarbeitung
- ↳ Capturing Reality
- ↳ Computer Vision
- ↳ Computer Vision 2
- ↳ Context-Awareness
- ↳ Einführung in die Computermusik
- ↳ Game Technology
- ↳ Archiv
- ↳ Geometric Algebra Computing
- ↳ Archiv
- ↳ Graphische Datenverarbeitung 1
- ↳ Archiv
- ↳ Graphische Datenverarbeitung 2
- ↳ Archiv
- ↳ Graphische Informationssysteme
- ↳ Informationsvisualisierung und Visual Analytics
- ↳ IT-Management und IT-Einsatz
- ↳ Probabilistische Graphische Modelle
- ↳ Programming Massively Parallel Processors
- ↳ Archiv
- ↳ Seminar: Probleme in Computergraphik und Computer Vision
- ↳ Statistisches Maschinelles Lernen
- ↳ Serious Games
- ↳ Archiv
- ↳ Virtual and Augmented Reality
- ↳ Archiv
- ↳ Web, Wissens- und Informationsverarbeitung
- ↳ Algorithms of Language Technology
- ↳ Business Intelligence and Data Warehousing
- ↳ Datenbanken 2
- ↳ Data Mining und Maschinelles Lernen
- ↳ Archiv
- ↳ Digitale Spiele / Digital Games
- ↳ Einführung in die Künstliche Intelligenz
- ↳ Innovative Operating System Elements
- ↳ Middleware
- ↳ Natural Language Processing and the Web
- ↳ Praktikum: Data-Mining
- ↳ Praktikum: Künstliche Intelligenz
- ↳ Praktikum: Question Answering Technologies Behind IBM Watson
- ↳ Semantic Web
- ↳ Seminar: Deep Learning for NLP and Speech
- ↳ Seminar: Knowledge Management in Web 2.0
- ↳ Web Mining
- ↳ Fachübergreifender Anteil
- ↳ Einführung in wissenschaftliches Arbeiten
- ↳ Archiv
- ↳ Nicht mehr angeboten
- ↳ Digital Storytelling
- ↳ Graphische Datenverarbeitung 3
- ↳ Archiv
- ↳ Grundlagen der Rechnertechnologie
- ↳ Grundlagen des CAE/CAD 2
- ↳ Mobile sichere Systeme
- ↳ Netzwerksicherheit
- ↳ Praktikum: Spielerische Edutainment-Anwendungen / Game Technology
- ↳ Archiv
- ↳ Rechnerarchitektur
- ↳ Rechnerentwurf und Mikroprogrammierung
- ↳ Archiv
- ↳ Robotik 0: Mobile und sensorgeführte Robotiksysteme
- ↳ Robotik 1: Grundlagen
- ↳ Archiv
- ↳ Robotik 2: Mobilität und Autonomie
- ↳ Archiv
- ↳ Seminar: Rechnerarchitektur
- ↳ Systementwurf mit Mikroprozessoren
- ↳ Archiv
- ↳ Seminar: Digital Storytelling
- ↳ Archiv
- Masterstudium
- ↳ Neben- und Anwendungsfächer
- ↳ Archiv
- ↳ Spezialisierungsmaster
- ↳ Abschlussarbeiten
- ↳ Studienorganisation
- Serviceveranstaltungen
- ↳ AI 1
- ↳ Archiv
- ↳ AI 2
- ↳ Archiv
- ↳ AI 3
- ↳ Archiv